diff --git a/src/SaveDialogs.cpp b/src/SaveDialogs.cpp index 139dfbe43..9706ab97b 100644 --- a/src/SaveDialogs.cpp +++ b/src/SaveDialogs.cpp @@ -78,8 +78,8 @@ MainWindow::saveRideSingleDialog(RideItem *rideItem) // either prompt etc, or just save that file away! if (currentType != "GC" && warnOnConvert() == true) { - SaveSingleDialogWidget *dialog = new SaveSingleDialogWidget(this, rideItem); - dialog->exec(); + SaveSingleDialogWidget dialog(this, rideItem); + dialog.exec(); return true; } else { // go for it, the user doesn't want warnings! @@ -106,8 +106,8 @@ MainWindow::saveRideExitDialog() // we have some files to save... if (dirtyList.count() > 0) { - SaveOnExitDialogWidget *dialog = new SaveOnExitDialogWidget(this, dirtyList); - int result = dialog->exec(); + SaveOnExitDialogWidget dialog(this, dirtyList); + int result = dialog.exec(); if (result == QDialog::Rejected) return false; // cancel that closeEvent! } @@ -166,10 +166,9 @@ MainWindow::saveSilent(RideItem *rideItem) //---------------------------------------------------------------------- // Save Single File Dialog Widget //---------------------------------------------------------------------- -SaveSingleDialogWidget::SaveSingleDialogWidget(QWidget *parent, RideItem *rideItem) : QDialog(parent, Qt::Dialog) +SaveSingleDialogWidget::SaveSingleDialogWidget(MainWindow *mainWindow, RideItem *rideItem) : + QDialog(mainWindow, Qt::Dialog), mainWindow(mainWindow), rideItem(rideItem) { - this->rideItem = rideItem; - setAttribute(Qt::WA_DeleteOnClose); setWindowTitle("Save and Conversion"); QVBoxLayout *mainLayout = new QVBoxLayout(this); @@ -202,7 +201,7 @@ SaveSingleDialogWidget::SaveSingleDialogWidget(QWidget *parent, RideItem *rideIt void SaveSingleDialogWidget::saveClicked() { - mainwindow->saveSilent(rideItem); + mainWindow->saveSilent(rideItem); accept(); } @@ -229,10 +228,9 @@ SaveSingleDialogWidget::warnSettingClicked() // Save on Exit File Dialog Widget //---------------------------------------------------------------------- -SaveOnExitDialogWidget::SaveOnExitDialogWidget(QWidget *parent, QListdirtyList) : QDialog(parent, Qt::Dialog) +SaveOnExitDialogWidget::SaveOnExitDialogWidget(MainWindow *mainWindow, QListdirtyList) : + QDialog(mainWindow, Qt::Dialog), mainWindow(mainWindow), dirtyList(dirtyList) { - this->dirtyList = dirtyList; - setAttribute(Qt::WA_DeleteOnClose); setWindowTitle("Save Changes"); QVBoxLayout *mainLayout = new QVBoxLayout(this); @@ -296,7 +294,7 @@ SaveOnExitDialogWidget::saveClicked() for (int i=0; icellWidget(i,0); if (c->isChecked()) { - mainwindow->saveRideSingleDialog(dirtyList.at(i)); + mainWindow->saveRideSingleDialog(dirtyList.at(i)); } } accept(); diff --git a/src/SaveDialogs.h b/src/SaveDialogs.h index 72e826976..b33c287d5 100644 --- a/src/SaveDialogs.h +++ b/src/SaveDialogs.h @@ -30,8 +30,7 @@ class SaveSingleDialogWidget : public QDialog Q_OBJECT public: - SaveSingleDialogWidget(QWidget *, RideItem *); -// QWidget *parent; + SaveSingleDialogWidget(MainWindow *, RideItem *); public slots: void saveClicked(); @@ -41,6 +40,7 @@ class SaveSingleDialogWidget : public QDialog private: + MainWindow *mainWindow; RideItem *rideItem; QPushButton *saveButton, *abandonButton, *cancelButton; QCheckBox *warnCheckBox; @@ -52,7 +52,7 @@ class SaveOnExitDialogWidget : public QDialog Q_OBJECT public: - SaveOnExitDialogWidget(QWidget *, QList); + SaveOnExitDialogWidget(MainWindow *, QList); public slots: void saveClicked(); @@ -61,6 +61,7 @@ class SaveOnExitDialogWidget : public QDialog void warnSettingClicked(); private: + MainWindow *mainWindow; QListdirtyList; QPushButton *saveButton, *abandonButton, *cancelButton; QCheckBox *exitWarnCheckBox;