summaryrefslogtreecommitdiffstats
path: root/desktop-widgets
diff options
context:
space:
mode:
authorGravatar Berthold Stoeger <bstoeger@mail.tuwien.ac.at>2020-05-27 14:13:15 +0200
committerGravatar Dirk Hohndel <dirk@hohndel.org>2020-05-27 09:47:35 -0700
commit7417f865cd628aa5df78961dc198a9070822ed72 (patch)
tree84a4b8232b849748ce937e110134b2fde665d9f6 /desktop-widgets
parent25f1bc488f68395390a3a87328b31dfa7deac11c (diff)
downloadsubsurface-7417f865cd628aa5df78961dc198a9070822ed72.tar.gz
cleanup: un-singletonize ShiftTimesDialog
There is no reason that this dialog is a singleton. Since it is modal, it can be created on demand. Apart from removing superfluous global state, this simplifies code, because preparing the widget can now be done in the constructor instead of overriding the showEvent() function. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
Diffstat (limited to 'desktop-widgets')
-rw-r--r--desktop-widgets/divelistview.cpp3
-rw-r--r--desktop-widgets/simplewidgets.cpp9
-rw-r--r--desktop-widgets/simplewidgets.h4
3 files changed, 3 insertions, 13 deletions
diff --git a/desktop-widgets/divelistview.cpp b/desktop-widgets/divelistview.cpp
index 6d41c7ff1..15c6631bf 100644
--- a/desktop-widgets/divelistview.cpp
+++ b/desktop-widgets/divelistview.cpp
@@ -860,7 +860,8 @@ void DiveListView::contextMenuEvent(QContextMenuEvent *event)
void DiveListView::shiftTimes()
{
- ShiftTimesDialog::instance()->show();
+ ShiftTimesDialog dialog(MainWindow::instance());
+ dialog.exec();
}
void DiveListView::loadImages()
diff --git a/desktop-widgets/simplewidgets.cpp b/desktop-widgets/simplewidgets.cpp
index ef7ca71d0..f30b9fc46 100644
--- a/desktop-widgets/simplewidgets.cpp
+++ b/desktop-widgets/simplewidgets.cpp
@@ -179,12 +179,6 @@ SetpointDialog::SetpointDialog(struct dive *dIn, int dcNrIn, int seconds) : QDia
connect(quit, &QShortcut::activated, MainWindow::instance(), &QWidget::close);
}
-ShiftTimesDialog *ShiftTimesDialog::instance()
-{
- static ShiftTimesDialog *self = new ShiftTimesDialog(MainWindow::instance());
- return self;
-}
-
void ShiftTimesDialog::buttonClicked(QAbstractButton *button)
{
int amount;
@@ -196,10 +190,7 @@ void ShiftTimesDialog::buttonClicked(QAbstractButton *button)
if (amount != 0)
Command::shiftTime(getDiveSelection(), amount);
}
-}
-void ShiftTimesDialog::showEvent(QShowEvent*)
-{
ui.timeEdit->setTime(QTime(0, 0, 0, 0));
when = get_times(); //get time of first selected dive
ui.currentTime->setText(get_dive_date_string(when));
diff --git a/desktop-widgets/simplewidgets.h b/desktop-widgets/simplewidgets.h
index ce8c636f7..ed364e75f 100644
--- a/desktop-widgets/simplewidgets.h
+++ b/desktop-widgets/simplewidgets.h
@@ -78,15 +78,13 @@ private:
class ShiftTimesDialog : public QDialog {
Q_OBJECT
public:
- static ShiftTimesDialog *instance();
- void showEvent(QShowEvent *event);
+ explicit ShiftTimesDialog(QWidget *parent);
private
slots:
void buttonClicked(QAbstractButton *button);
void changeTime();
private:
- explicit ShiftTimesDialog(QWidget *parent);
int64_t when;
Ui::ShiftTimesDialog ui;
};