diff --git a/src/mirall/application.cpp b/src/mirall/application.cpp index 05b448ab1e..1b69921a53 100644 --- a/src/mirall/application.cpp +++ b/src/mirall/application.cpp @@ -555,11 +555,10 @@ void Application::slotSettings() { if (_settingsDialog.isNull()) { _settingsDialog = new SettingsDialog(this); + _settingsDialog->setAttribute( Qt::WA_DeleteOnClose, true ); _settingsDialog->open(); - Utility::raiseDialog(_settingsDialog); - } else { - Utility::raiseDialog(_settingsDialog); } + Utility::raiseDialog(_settingsDialog); } void Application::slotParseOptions(const QString &opts) diff --git a/src/mirall/settingsdialog.cpp b/src/mirall/settingsdialog.cpp index a26ca7cf4b..eb3bf5ba34 100644 --- a/src/mirall/settingsdialog.cpp +++ b/src/mirall/settingsdialog.cpp @@ -80,7 +80,7 @@ SettingsDialog::SettingsDialog(Application *app, QWidget *parent) : _ui->stack, SLOT(setCurrentIndex(int))); QPushButton *closeButton = _ui->buttonBox->button(QDialogButtonBox::Close); - connect(closeButton, SIGNAL(pressed()), SLOT(done())); + connect(closeButton, SIGNAL(pressed()), SLOT(accept())); MirallConfigFile cfg; QSettings settings(cfg.configFile(), QSettings::IniFormat); @@ -109,9 +109,4 @@ void SettingsDialog::closeEvent(QCloseEvent *event) QWidget::closeEvent(event); } -void SettingsDialog::done() -{ - QDialog::done(0); -} - } // namespace Mirall diff --git a/src/mirall/settingsdialog.h b/src/mirall/settingsdialog.h index 686b6152ad..5a6ee16294 100644 --- a/src/mirall/settingsdialog.h +++ b/src/mirall/settingsdialog.h @@ -44,9 +44,6 @@ public slots: protected: void closeEvent(QCloseEvent *event); -private slots: - void done(); - private: Ui::SettingsDialog *_ui; QListWidgetItem *_addItem; diff --git a/src/mirall/settingsdialog.h.orig b/src/mirall/settingsdialog.h.orig new file mode 100644 index 0000000000..9816c023a6 --- /dev/null +++ b/src/mirall/settingsdialog.h.orig @@ -0,0 +1,63 @@ +/* + * Copyright (C) by Daniel Molkentin + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * for more details. + */ + +#ifndef SETTINGSDIALOG_H +#define SETTINGSDIALOG_H + +#include +#include + +class QStandardItemModel; +class QListWidgetItem; + +namespace Mirall { + +namespace Ui { +class SettingsDialog; +} +class AccountSettings; + +class SettingsDialog : public QDialog +{ + Q_OBJECT + +public: + explicit SettingsDialog(QWidget *parent = 0); + ~SettingsDialog(); + + void addAccount(const QString &title, QWidget *widget); + +public slots: + // Progress, parameter is + // - filename + // - progress bytes, overall size. + void slotFolderUploadProgress( const QString&, const QString&, long, long ); + +private slots: + void handleItemClick(int); + void checkResetToOldItem(QListWidgetItem*, QListWidgetItem*); + void asyncSwitch(int); + +<<<<<<< HEAD +>>>>>>> Add settings skeleton +======= +>>>>>>> 96bc26da77b7080335bbb3c7199e14e308364e94 +private: + Ui::SettingsDialog *_ui; + QListWidgetItem *_addItem; + AccountSettings *_accountSettings; +}; + +} + +#endif // SETTINGSDIALOG_H