More code clean-ups mainly regarding static instance() member.
br, Boris..
From 4535eeb65e2aad9e7ae7dda86fc7b52eb2b1c322 Mon Sep 17 00:00:00 2001
From: Boris Barbulovski <[email protected]>
Date: Sat, 8 Feb 2014 20:12:13 +0100
Subject: [PATCH 1/4] PrintDialog class cleanup.
* Remove static PrintDialog::instance() method
* Remove void PrintDialog::runDialog() method
* construct/destruct print dialog on demand
---
qt-ui/mainwindow.cpp | 4 +++-
qt-ui/printdialog.cpp | 14 +-------------
qt-ui/printdialog.h | 4 +---
3 files changed, 5 insertions(+), 17 deletions(-)
diff --git a/qt-ui/mainwindow.cpp b/qt-ui/mainwindow.cpp
index 73191da..0cafa08 100644
--- a/qt-ui/mainwindow.cpp
+++ b/qt-ui/mainwindow.cpp
@@ -211,7 +211,9 @@ void MainWindow::on_actionExportUDDF_triggered()
void MainWindow::on_actionPrint_triggered()
{
- PrintDialog::instance()->runDialog();
+ PrintDialog dlg(this);
+
+ dlg.exec();
}
void MainWindow::disableDcShortcuts()
diff --git a/qt-ui/printdialog.cpp b/qt-ui/printdialog.cpp
index e029ff0..ba96ccc 100644
--- a/qt-ui/printdialog.cpp
+++ b/qt-ui/printdialog.cpp
@@ -11,13 +11,6 @@
#include <QPrintPreviewDialog>
#include <QPrintDialog>
-PrintDialog *PrintDialog::instance()
-{
- static PrintDialog *self = new PrintDialog(mainWindow());
- self->setAttribute(Qt::WA_QuitOnClose, false);
- return self;
-}
-
PrintDialog::PrintDialog(QWidget *parent, Qt::WindowFlags f)
{
// options template (are we storing these in the settings?)
@@ -52,6 +45,7 @@ PrintDialog::PrintDialog(QWidget *parent, Qt::WindowFlags f)
connect(printLayout, SIGNAL(signalProgress(int)), progressBar, SLOT(setValue(int)));
progressBar->setMinimum(0);
progressBar->setMaximum(100);
+ progressBar->setValue(0);
progressBar->setTextVisible(false);
layout->addWidget(progressBar);
@@ -62,12 +56,6 @@ PrintDialog::PrintDialog(QWidget *parent, Qt::WindowFlags f)
setWindowIcon(QIcon(":subsurface-icon"));
}
-void PrintDialog::runDialog()
-{
- progressBar->setValue(0);
- exec();
-}
-
void PrintDialog::previewClicked(void)
{
QPrintPreviewDialog previewDialog(&printer, this);
diff --git a/qt-ui/printdialog.h b/qt-ui/printdialog.h
index 44bb946..8f5edec 100644
--- a/qt-ui/printdialog.h
+++ b/qt-ui/printdialog.h
@@ -14,12 +14,10 @@ class PrintDialog : public QDialog {
Q_OBJECT
public:
- static PrintDialog *instance();
- void runDialog();
struct options printOptions;
+ explicit PrintDialog(QWidget *parent = 0, Qt::WindowFlags f = 0);
private:
- explicit PrintDialog(QWidget *parent = 0, Qt::WindowFlags f = 0);
PrintOptions *optionsWidget;
PrintLayout *printLayout;
QProgressBar *progressBar;
--
1.8.3.2
From 64e181f2798f7ea21b21bba8d9b377f15255af14 Mon Sep 17 00:00:00 2001
From: Boris Barbulovski <[email protected]>
Date: Sat, 8 Feb 2014 20:22:09 +0100
Subject: [PATCH 2/4] DownloadFromDCWidget class cleanup. * Remove static
DownloadFromDCWidget::instance() method
---
qt-ui/downloadfromdivecomputer.cpp | 13 -------------
qt-ui/downloadfromdivecomputer.h | 2 --
qt-ui/mainwindow.cpp | 5 +++--
3 files changed, 3 insertions(+), 17 deletions(-)
diff --git a/qt-ui/downloadfromdivecomputer.cpp b/qt-ui/downloadfromdivecomputer.cpp
index 70ec28a..3148a56 100644
--- a/qt-ui/downloadfromdivecomputer.cpp
+++ b/qt-ui/downloadfromdivecomputer.cpp
@@ -36,13 +36,6 @@ namespace DownloadFromDcGlobal {
const char *err_string;
};
-DownloadFromDCWidget *DownloadFromDCWidget::instance()
-{
- static DownloadFromDCWidget *dialog = new DownloadFromDCWidget(mainWindow());
- dialog->setAttribute(Qt::WA_QuitOnClose, false);
- return dialog;
-}
-
DownloadFromDCWidget::DownloadFromDCWidget(QWidget* parent, Qt::WindowFlags f) :
QDialog(parent, f), thread(0), timer(new QTimer(this)),
dumpWarningShown(false), currentState(INITIAL)
@@ -79,12 +72,6 @@ DownloadFromDCWidget::DownloadFromDCWidget(QWidget* parent, Qt::WindowFlags f) :
updateState(INITIAL);
}
-void DownloadFromDCWidget::runDialog()
-{
- updateState(INITIAL);
- exec();
-}
-
void DownloadFromDCWidget::updateProgressBar()
{
if (*progress_bar_text != '\0') {
diff --git a/qt-ui/downloadfromdivecomputer.h b/qt-ui/downloadfromdivecomputer.h
index 8f1f6aa..f18170f 100644
--- a/qt-ui/downloadfromdivecomputer.h
+++ b/qt-ui/downloadfromdivecomputer.h
@@ -24,7 +24,6 @@ class DownloadFromDCWidget : public QDialog{
Q_OBJECT
public:
explicit DownloadFromDCWidget(QWidget* parent = 0, Qt::WindowFlags f = 0);
- static DownloadFromDCWidget *instance();
void reject();
enum states {
@@ -44,7 +43,6 @@ public slots:
void onDownloadThreadFinished();
void updateProgressBar();
- void runDialog();
void checkLogFile(int state);
void checkDumpFile(int state);
void pickDumpFile();
diff --git a/qt-ui/mainwindow.cpp b/qt-ui/mainwindow.cpp
index 0cafa08..a477bbd 100644
--- a/qt-ui/mainwindow.cpp
+++ b/qt-ui/mainwindow.cpp
@@ -270,8 +270,9 @@ void MainWindow::on_actionQuit_triggered()
void MainWindow::on_actionDownloadDC_triggered()
{
- DownloadFromDCWidget* downloadWidget = DownloadFromDCWidget::instance();
- downloadWidget->runDialog();
+ DownloadFromDCWidget dlg(this);
+
+ dlg.exec();
}
void MainWindow::on_actionDownloadWeb_triggered()
--
1.8.3.2
From 748c45101257ff4cc97b1c70c75d478379cbf92b Mon Sep 17 00:00:00 2001
From: Boris Barbulovski <[email protected]>
Date: Sat, 8 Feb 2014 23:56:47 +0100
Subject: [PATCH 3/4] ShiftImageTimesDialog class cleanup.
* Remove static ShiftImageTimesDialog::instance() method
* Add ShiftImageTimesDialog::amount() member
---
qt-ui/divelistview.cpp | 6 +++---
qt-ui/simplewidgets.cpp | 16 ++++++++--------
qt-ui/simplewidgets.h | 6 +++---
3 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/qt-ui/divelistview.cpp b/qt-ui/divelistview.cpp
index 1b19d06..50d3a8b 100644
--- a/qt-ui/divelistview.cpp
+++ b/qt-ui/divelistview.cpp
@@ -813,8 +813,8 @@ void DiveListView::loadImages()
updateLastUsedImageDir(QFileInfo(fileNames[0]).dir().path());
- ShiftImageTimesDialog* shiftDialog = ShiftImageTimesDialog::instance();
- shiftDialog->exec();
+ ShiftImageTimesDialog shiftDialog(this);
+ shiftDialog.exec();
for (int i = 0; i < fileNames.size(); ++i) {
struct tm tm;
@@ -829,7 +829,7 @@ void DiveListView::loadImages()
tm.tm_hour = hour;
tm.tm_min = min;
tm.tm_sec = sec;
- imagetime = utc_mktime(&tm) + shiftDialog->amount;
+ imagetime = utc_mktime(&tm) + shiftDialog.amount();
int j = 0;
struct dive *dive;
for_each_dive(j, dive){
diff --git a/qt-ui/simplewidgets.cpp b/qt-ui/simplewidgets.cpp
index c76921c..d69425e 100644
--- a/qt-ui/simplewidgets.cpp
+++ b/qt-ui/simplewidgets.cpp
@@ -156,27 +156,27 @@ ShiftTimesDialog::ShiftTimesDialog(QWidget *parent): QDialog(parent)
ui.setupUi(this);
connect(ui.buttonBox, SIGNAL(clicked(QAbstractButton*)), this, SLOT(buttonClicked(QAbstractButton*)));
}
-ShiftImageTimesDialog* ShiftImageTimesDialog::instance()
-{
- static ShiftImageTimesDialog* self = new ShiftImageTimesDialog(mainWindow());
- return self;
-}
void ShiftImageTimesDialog::buttonClicked(QAbstractButton* button)
{
if (ui.buttonBox->buttonRole(button) == QDialogButtonBox::AcceptRole) {
- amount = ui.timeEdit->time().hour() * 3600 + ui.timeEdit->time().minute() * 60;
+ m_amount = ui.timeEdit->time().hour() * 3600 + ui.timeEdit->time().minute() * 60;
if (ui.backwards->isChecked())
- amount *= -1;
+ m_amount *= -1;
}
}
-ShiftImageTimesDialog::ShiftImageTimesDialog(QWidget *parent): QDialog(parent)
+ShiftImageTimesDialog::ShiftImageTimesDialog(QWidget *parent): QDialog(parent), m_amount(0)
{
ui.setupUi(this);
connect(ui.buttonBox, SIGNAL(clicked(QAbstractButton*)), this, SLOT(buttonClicked(QAbstractButton*)));
}
+int ShiftImageTimesDialog::amount() const
+{
+ return m_amount;
+}
+
bool isGnome3Session()
{
#if defined(QT_OS_WIW) || defined(QT_OS_MAC)
diff --git a/qt-ui/simplewidgets.h b/qt-ui/simplewidgets.h
index b8097b5..d17bac0 100644
--- a/qt-ui/simplewidgets.h
+++ b/qt-ui/simplewidgets.h
@@ -58,13 +58,13 @@ private:
class ShiftImageTimesDialog : public QDialog {
Q_OBJECT
public:
- static ShiftImageTimesDialog *instance();
- int amount;
+ explicit ShiftImageTimesDialog(QWidget *parent);
+ int amount() const;
private slots:
void buttonClicked(QAbstractButton *button);
private:
- explicit ShiftImageTimesDialog(QWidget *parent);
Ui::ShiftImageTimesDialog ui;
+ int m_amount;
};
bool isGnome3Session();
--
1.8.3.2
From 797d7103f252ca4978e3246e6bc14a5fa85e20c5 Mon Sep 17 00:00:00 2001
From: Boris Barbulovski <[email protected]>
Date: Sun, 9 Feb 2014 00:13:58 +0100
Subject: [PATCH 4/4] PrintDialog small improvements.
* Remove closeClicked() slot, and use QDialogs accept() slot
* Simplify QObject::connect call by removing the QObject scope.
---
qt-ui/printdialog.cpp | 9 ++-------
qt-ui/printdialog.h | 1 -
2 files changed, 2 insertions(+), 8 deletions(-)
diff --git a/qt-ui/printdialog.cpp b/qt-ui/printdialog.cpp
index ba96ccc..46ed261 100644
--- a/qt-ui/printdialog.cpp
+++ b/qt-ui/printdialog.cpp
@@ -38,7 +38,7 @@ PrintDialog::PrintDialog(QWidget *parent, Qt::WindowFlags f)
hLayout->addWidget(printButton);
QPushButton *closeButton = new QPushButton(tr("&Close"));
- connect(closeButton, SIGNAL(clicked(bool)), this, SLOT(closeClicked()));
+ connect(closeButton, SIGNAL(clicked(bool)), this, SLOT(accept()));
hLayout->addWidget(closeButton);
progressBar = new QProgressBar();
@@ -59,7 +59,7 @@ PrintDialog::PrintDialog(QWidget *parent, Qt::WindowFlags f)
void PrintDialog::previewClicked(void)
{
QPrintPreviewDialog previewDialog(&printer, this);
- QObject::connect(&previewDialog, SIGNAL(paintRequested(QPrinter *)), this, SLOT(onPaintRequested(QPrinter *)));
+ connect(&previewDialog, SIGNAL(paintRequested(QPrinter *)), this, SLOT(onPaintRequested(QPrinter *)));
previewDialog.exec();
}
@@ -70,11 +70,6 @@ void PrintDialog::printClicked(void)
printLayout->print();
}
-void PrintDialog::closeClicked(void)
-{
- close();
-}
-
void PrintDialog::onPaintRequested(QPrinter *printerPtr)
{
printLayout->print();
diff --git a/qt-ui/printdialog.h b/qt-ui/printdialog.h
index 8f5edec..ebaea84 100644
--- a/qt-ui/printdialog.h
+++ b/qt-ui/printdialog.h
@@ -26,7 +26,6 @@ private:
private slots:
void previewClicked();
void printClicked();
- void closeClicked();
void onPaintRequested(QPrinter *);
};
--
1.8.3.2
_______________________________________________
subsurface mailing list
[email protected]
http://lists.hohndel.org/cgi-bin/mailman/listinfo/subsurface