diff --git a/src/gui/aboutdialog.cpp b/src/gui/aboutdialog.cpp index bbe1433d5..eefac2e36 100644 --- a/src/gui/aboutdialog.cpp +++ b/src/gui/aboutdialog.cpp @@ -36,9 +36,12 @@ #include "uithememanager.h" #include "utils.h" +#define SETTINGS_KEY(name) "AboutDialog/" name + AboutDialog::AboutDialog(QWidget *parent) : QDialog(parent) , m_ui(new Ui::AboutDialog) + , m_storeDialogSize(SETTINGS_KEY("Size")) { m_ui->setupUi(this); setAttribute(Qt::WA_DeleteOnClose); @@ -107,11 +110,12 @@ AboutDialog::AboutDialog(QWidget *parent) "The database is licensed under the Creative Commons Attribution 4.0 International License")); m_ui->labelDBIP->setText(DBIPText); - Utils::Gui::resize(this); + Utils::Gui::resize(this, m_storeDialogSize); show(); } AboutDialog::~AboutDialog() { + m_storeDialogSize = size(); delete m_ui; } diff --git a/src/gui/aboutdialog.h b/src/gui/aboutdialog.h index ca5115e34..a8f0065d2 100644 --- a/src/gui/aboutdialog.h +++ b/src/gui/aboutdialog.h @@ -30,12 +30,14 @@ #include +#include "base/settingvalue.h" + namespace Ui { class AboutDialog; } -class AboutDialog : public QDialog +class AboutDialog final : public QDialog { Q_OBJECT Q_DISABLE_COPY(AboutDialog) @@ -46,4 +48,5 @@ public: private: Ui::AboutDialog *m_ui; + SettingValue m_storeDialogSize; }; diff --git a/src/gui/banlistoptionsdialog.cpp b/src/gui/banlistoptionsdialog.cpp index 9d047ffaf..095a69b03 100644 --- a/src/gui/banlistoptionsdialog.cpp +++ b/src/gui/banlistoptionsdialog.cpp @@ -38,11 +38,13 @@ #include "ui_banlistoptionsdialog.h" #include "utils.h" +#define SETTINGS_KEY(name) "BanListOptionsDialog/" name + BanListOptionsDialog::BanListOptionsDialog(QWidget *parent) : QDialog(parent) , m_ui(new Ui::BanListOptionsDialog) + , m_storeDialogSize(SETTINGS_KEY("Size")) , m_model(new QStringListModel(BitTorrent::Session::instance()->bannedIPs(), this)) - , m_modified(false) { m_ui->setupUi(this); @@ -54,11 +56,12 @@ BanListOptionsDialog::BanListOptionsDialog(QWidget *parent) m_ui->bannedIPList->sortByColumn(0, Qt::AscendingOrder); m_ui->buttonBanIP->setEnabled(false); - Utils::Gui::resize(this); + Utils::Gui::resize(this, m_storeDialogSize); } BanListOptionsDialog::~BanListOptionsDialog() { + m_storeDialogSize = size(); delete m_ui; } diff --git a/src/gui/banlistoptionsdialog.h b/src/gui/banlistoptionsdialog.h index 131b274a9..a5b1c86aa 100644 --- a/src/gui/banlistoptionsdialog.h +++ b/src/gui/banlistoptionsdialog.h @@ -30,6 +30,8 @@ #include +#include "base/settingvalue.h" + class QSortFilterProxyModel; class QStringListModel; @@ -38,13 +40,14 @@ namespace Ui class BanListOptionsDialog; } -class BanListOptionsDialog : public QDialog +class BanListOptionsDialog final : public QDialog { Q_OBJECT + Q_DISABLE_COPY(BanListOptionsDialog) public: explicit BanListOptionsDialog(QWidget *parent = nullptr); - ~BanListOptionsDialog(); + ~BanListOptionsDialog() override; private slots: void on_buttonBox_accepted(); @@ -54,7 +57,8 @@ private slots: private: Ui::BanListOptionsDialog *m_ui; + SettingValue m_storeDialogSize; QStringListModel *m_model; QSortFilterProxyModel *m_sortFilter; - bool m_modified; + bool m_modified = false; }; diff --git a/src/gui/downloadfromurldialog.cpp b/src/gui/downloadfromurldialog.cpp index 8b35ec141..fdfad868c 100644 --- a/src/gui/downloadfromurldialog.cpp +++ b/src/gui/downloadfromurldialog.cpp @@ -39,6 +39,8 @@ #include "ui_downloadfromurldialog.h" #include "utils.h" +#define SETTINGS_KEY(name) "DownloadFromURLDialog/" name + namespace { bool isDownloadable(const QString &str) @@ -55,6 +57,7 @@ namespace DownloadFromURLDialog::DownloadFromURLDialog(QWidget *parent) : QDialog(parent) , m_ui(new Ui::DownloadFromURLDialog) + , m_storeDialogSize(SETTINGS_KEY("Size")) { m_ui->setupUi(this); setAttribute(Qt::WA_DeleteOnClose); @@ -82,12 +85,13 @@ DownloadFromURLDialog::DownloadFromURLDialog(QWidget *parent) } m_ui->textUrls->setText(uniqueURLs.values().join('\n')); - Utils::Gui::resize(this); + Utils::Gui::resize(this, m_storeDialogSize); show(); } DownloadFromURLDialog::~DownloadFromURLDialog() { + m_storeDialogSize = size(); delete m_ui; } diff --git a/src/gui/downloadfromurldialog.h b/src/gui/downloadfromurldialog.h index f3058f309..7782e3a2a 100644 --- a/src/gui/downloadfromurldialog.h +++ b/src/gui/downloadfromurldialog.h @@ -30,19 +30,21 @@ #include +#include "base/settingvalue.h" + namespace Ui { class DownloadFromURLDialog; } -class DownloadFromURLDialog : public QDialog +class DownloadFromURLDialog final : public QDialog { Q_OBJECT Q_DISABLE_COPY(DownloadFromURLDialog) public: explicit DownloadFromURLDialog(QWidget *parent); - ~DownloadFromURLDialog(); + ~DownloadFromURLDialog() override; signals: void urlsReadyToBeDownloaded(const QStringList &torrentURLs); @@ -52,4 +54,5 @@ private slots: private: Ui::DownloadFromURLDialog *m_ui; + SettingValue m_storeDialogSize; }; diff --git a/src/gui/ipsubnetwhitelistoptionsdialog.cpp b/src/gui/ipsubnetwhitelistoptionsdialog.cpp index 3474290a1..1e74317e0 100644 --- a/src/gui/ipsubnetwhitelistoptionsdialog.cpp +++ b/src/gui/ipsubnetwhitelistoptionsdialog.cpp @@ -38,10 +38,12 @@ #include "ui_ipsubnetwhitelistoptionsdialog.h" #include "utils.h" +#define SETTINGS_KEY(name) "IPSubnetWhitelistOptionsDialog/" name + IPSubnetWhitelistOptionsDialog::IPSubnetWhitelistOptionsDialog(QWidget *parent) : QDialog(parent) , m_ui(new Ui::IPSubnetWhitelistOptionsDialog) - , m_modified(false) + , m_storeDialogSize(SETTINGS_KEY("Size")) { m_ui->setupUi(this); @@ -58,11 +60,12 @@ IPSubnetWhitelistOptionsDialog::IPSubnetWhitelistOptionsDialog(QWidget *parent) m_ui->whitelistedIPSubnetList->sortByColumn(0, Qt::AscendingOrder); m_ui->buttonWhitelistIPSubnet->setEnabled(false); - Utils::Gui::resize(this); + Utils::Gui::resize(this, m_storeDialogSize); } IPSubnetWhitelistOptionsDialog::~IPSubnetWhitelistOptionsDialog() { + m_storeDialogSize = size(); delete m_ui; } diff --git a/src/gui/ipsubnetwhitelistoptionsdialog.h b/src/gui/ipsubnetwhitelistoptionsdialog.h index ac231f070..d7e116632 100644 --- a/src/gui/ipsubnetwhitelistoptionsdialog.h +++ b/src/gui/ipsubnetwhitelistoptionsdialog.h @@ -30,6 +30,8 @@ #include +#include "base/settingvalue.h" + class QSortFilterProxyModel; class QStringListModel; @@ -38,14 +40,14 @@ namespace Ui class IPSubnetWhitelistOptionsDialog; } -class IPSubnetWhitelistOptionsDialog : public QDialog +class IPSubnetWhitelistOptionsDialog final : public QDialog { Q_OBJECT Q_DISABLE_COPY(IPSubnetWhitelistOptionsDialog) public: explicit IPSubnetWhitelistOptionsDialog(QWidget *parent = nullptr); - ~IPSubnetWhitelistOptionsDialog(); + ~IPSubnetWhitelistOptionsDialog() override; private slots: void on_buttonBox_accepted(); @@ -55,7 +57,9 @@ private slots: private: Ui::IPSubnetWhitelistOptionsDialog *m_ui; + SettingValue m_storeDialogSize; + QStringListModel *m_model; QSortFilterProxyModel *m_sortFilter; - bool m_modified; + bool m_modified = false; }; diff --git a/src/gui/previewselectdialog.cpp b/src/gui/previewselectdialog.cpp index 7768c6500..cdbb72d86 100644 --- a/src/gui/previewselectdialog.cpp +++ b/src/gui/previewselectdialog.cpp @@ -51,7 +51,7 @@ PreviewSelectDialog::PreviewSelectDialog(QWidget *parent, const BitTorrent::Torr : QDialog(parent) , m_ui(new Ui::PreviewSelectDialog) , m_torrent(torrent) - , m_storeDialogSize(SETTINGS_KEY("Dimension")) + , m_storeDialogSize(SETTINGS_KEY("Size")) , m_storeTreeHeaderState(SETTINGS_KEY("HeaderState")) { m_ui->setupUi(this); diff --git a/src/gui/search/pluginselectdialog.cpp b/src/gui/search/pluginselectdialog.cpp index 966300e6c..9ab36b187 100644 --- a/src/gui/search/pluginselectdialog.cpp +++ b/src/gui/search/pluginselectdialog.cpp @@ -49,6 +49,8 @@ #include "searchwidget.h" #include "ui_pluginselectdialog.h" +#define SETTINGS_KEY(name) "SearchPluginSelectDialog/" name + enum PluginColumns { PLUGIN_NAME, @@ -60,10 +62,9 @@ enum PluginColumns PluginSelectDialog::PluginSelectDialog(SearchPluginManager *pluginManager, QWidget *parent) : QDialog(parent) - , m_ui(new Ui::PluginSelectDialog()) + , m_ui(new Ui::PluginSelectDialog) + , m_storeDialogSize(SETTINGS_KEY("Size")) , m_pluginManager(pluginManager) - , m_asyncOps(0) - , m_pendingUpdates(0) { m_ui->setupUi(this); setAttribute(Qt::WA_DeleteOnClose); @@ -94,12 +95,13 @@ PluginSelectDialog::PluginSelectDialog(SearchPluginManager *pluginManager, QWidg connect(m_pluginManager, &SearchPluginManager::checkForUpdatesFinished, this, &PluginSelectDialog::checkForUpdatesFinished); connect(m_pluginManager, &SearchPluginManager::checkForUpdatesFailed, this, &PluginSelectDialog::checkForUpdatesFailed); - Utils::Gui::resize(this); + Utils::Gui::resize(this, m_storeDialogSize); show(); } PluginSelectDialog::~PluginSelectDialog() { + m_storeDialogSize = size(); delete m_ui; } diff --git a/src/gui/search/pluginselectdialog.h b/src/gui/search/pluginselectdialog.h index d47767786..23e94b963 100644 --- a/src/gui/search/pluginselectdialog.h +++ b/src/gui/search/pluginselectdialog.h @@ -33,6 +33,7 @@ #include #include "base/search/searchpluginmanager.h" +#include "base/settingvalue.h" class QDropEvent; class QTreeWidgetItem; @@ -91,8 +92,9 @@ private: void finishPluginUpdate(); Ui::PluginSelectDialog *m_ui; + SettingValue m_storeDialogSize; SearchPluginManager *m_pluginManager; QStringList m_updatedPlugins; - int m_asyncOps; - int m_pendingUpdates; + int m_asyncOps = 0; + int m_pendingUpdates = 0; }; diff --git a/src/gui/search/pluginsourcedialog.cpp b/src/gui/search/pluginsourcedialog.cpp index 89148ddb8..35eef656e 100644 --- a/src/gui/search/pluginsourcedialog.cpp +++ b/src/gui/search/pluginsourcedialog.cpp @@ -31,19 +31,23 @@ #include "gui/utils.h" #include "ui_pluginsourcedialog.h" +#define SETTINGS_KEY(name) "SearchPluginSourceDialog/" name + PluginSourceDialog::PluginSourceDialog(QWidget *parent) : QDialog(parent) - , m_ui(new Ui::PluginSourceDialog()) + , m_ui(new Ui::PluginSourceDialog) + , m_storeDialogSize(SETTINGS_KEY("Size")) { m_ui->setupUi(this); setAttribute(Qt::WA_DeleteOnClose); - Utils::Gui::resize(this); + Utils::Gui::resize(this, m_storeDialogSize); show(); } PluginSourceDialog::~PluginSourceDialog() { + m_storeDialogSize = size(); delete m_ui; } diff --git a/src/gui/search/pluginsourcedialog.h b/src/gui/search/pluginsourcedialog.h index 8a8948a5b..5b62c2f9a 100644 --- a/src/gui/search/pluginsourcedialog.h +++ b/src/gui/search/pluginsourcedialog.h @@ -30,18 +30,21 @@ #include +#include "base/settingvalue.h" + namespace Ui { class PluginSourceDialog; } -class PluginSourceDialog : public QDialog +class PluginSourceDialog final : public QDialog { Q_OBJECT + Q_DISABLE_COPY(PluginSourceDialog) public: explicit PluginSourceDialog(QWidget *parent = nullptr); - ~PluginSourceDialog(); + ~PluginSourceDialog() override; signals: void askForUrl(); @@ -53,4 +56,5 @@ private slots: private: Ui::PluginSourceDialog *m_ui; + SettingValue m_storeDialogSize; }; diff --git a/src/gui/speedlimitdialog.cpp b/src/gui/speedlimitdialog.cpp index 334dd75ac..adae8f56c 100644 --- a/src/gui/speedlimitdialog.cpp +++ b/src/gui/speedlimitdialog.cpp @@ -35,6 +35,8 @@ #include "uithememanager.h" #include "utils.h" +#define SETTINGS_KEY(name) "SpeedLimitDialog/" name + namespace { void updateSliderValue(QSlider *slider, const int value) @@ -48,6 +50,7 @@ namespace SpeedLimitDialog::SpeedLimitDialog(QWidget *parent) : QDialog {parent} , m_ui {new Ui::SpeedLimitDialog} + , m_storeDialogSize {SETTINGS_KEY("Size")} { m_ui->setupUi(this); @@ -103,11 +106,12 @@ SpeedLimitDialog::SpeedLimitDialog(QWidget *parent) connect(m_ui->spinAltDownloadLimit, qOverload(&QSpinBox::valueChanged) , this, [this](const int value) { updateSliderValue(m_ui->sliderAltDownloadLimit, value); }); - Utils::Gui::resize(this); + Utils::Gui::resize(this, m_storeDialogSize); } SpeedLimitDialog::~SpeedLimitDialog() { + m_storeDialogSize = size(); delete m_ui; } diff --git a/src/gui/speedlimitdialog.h b/src/gui/speedlimitdialog.h index 1c3d77676..25a277cbd 100644 --- a/src/gui/speedlimitdialog.h +++ b/src/gui/speedlimitdialog.h @@ -30,6 +30,8 @@ #include +#include "base/settingvalue.h" + namespace Ui { class SpeedLimitDialog; @@ -38,6 +40,7 @@ namespace Ui class SpeedLimitDialog final : public QDialog { Q_OBJECT + Q_DISABLE_COPY(SpeedLimitDialog) public: explicit SpeedLimitDialog(QWidget *parent); @@ -48,6 +51,7 @@ public slots: private: Ui::SpeedLimitDialog *m_ui; + SettingValue m_storeDialogSize; struct { int uploadSpeedLimit; diff --git a/src/gui/statsdialog.cpp b/src/gui/statsdialog.cpp index 1cb43f5f3..c618cfa3c 100644 --- a/src/gui/statsdialog.cpp +++ b/src/gui/statsdialog.cpp @@ -40,9 +40,12 @@ #include "ui_statsdialog.h" #include "utils.h" +#define SETTINGS_KEY(name) "StatisticsDialog/" name + StatsDialog::StatsDialog(QWidget *parent) : QDialog(parent) , m_ui(new Ui::StatsDialog) + , m_storeDialogSize(SETTINGS_KEY("Size")) { m_ui->setupUi(this); setAttribute(Qt::WA_DeleteOnClose); @@ -57,12 +60,13 @@ StatsDialog::StatsDialog(QWidget *parent) m_ui->labelCacheHits->hide(); #endif - Utils::Gui::resize(this); + Utils::Gui::resize(this, m_storeDialogSize); show(); } StatsDialog::~StatsDialog() { + m_storeDialogSize = size(); delete m_ui; } diff --git a/src/gui/statsdialog.h b/src/gui/statsdialog.h index d2add7915..8b3509841 100644 --- a/src/gui/statsdialog.h +++ b/src/gui/statsdialog.h @@ -30,6 +30,8 @@ #include +#include "base/settingvalue.h" + namespace Ui { class StatsDialog; @@ -38,6 +40,7 @@ namespace Ui class StatsDialog final : public QDialog { Q_OBJECT + Q_DISABLE_COPY(StatsDialog) public: explicit StatsDialog(QWidget *parent); @@ -48,4 +51,5 @@ private slots: private: Ui::StatsDialog *m_ui; + SettingValue m_storeDialogSize; }; diff --git a/src/gui/torrentcreatordialog.cpp b/src/gui/torrentcreatordialog.cpp index 120c67dc1..1dc2a9fda 100644 --- a/src/gui/torrentcreatordialog.cpp +++ b/src/gui/torrentcreatordialog.cpp @@ -48,7 +48,7 @@ TorrentCreatorDialog::TorrentCreatorDialog(QWidget *parent, const QString &defau : QDialog(parent) , m_ui(new Ui::TorrentCreatorDialog) , m_creatorThread(new BitTorrent::TorrentCreatorThread(this)) - , m_storeDialogSize(SETTINGS_KEY("Dimension")) + , m_storeDialogSize(SETTINGS_KEY("Size")) , m_storePieceSize(SETTINGS_KEY("PieceSize")) , m_storePrivateTorrent(SETTINGS_KEY("PrivateTorrent")) , m_storeStartSeeding(SETTINGS_KEY("StartSeeding")) diff --git a/src/gui/torrentoptionsdialog.cpp b/src/gui/torrentoptionsdialog.cpp index b80122573..335cf3987 100644 --- a/src/gui/torrentoptionsdialog.cpp +++ b/src/gui/torrentoptionsdialog.cpp @@ -39,6 +39,8 @@ #include "ui_torrentoptionsdialog.h" #include "utils.h" +#define SETTINGS_KEY(name) "TorrentOptionsDialog/" name + namespace { const int MIXED_SHARE_LIMITS = -9; @@ -54,6 +56,7 @@ namespace TorrentOptionsDialog::TorrentOptionsDialog(QWidget *parent, const QVector &torrents) : QDialog {parent} , m_ui {new Ui::TorrentOptionsDialog} + , m_storeDialogSize {SETTINGS_KEY("Size")} { m_ui->setupUi(this); @@ -265,11 +268,12 @@ TorrentOptionsDialog::TorrentOptionsDialog(QWidget *parent, const QVector +#include "base/settingvalue.h" + namespace BitTorrent { class InfoHash; @@ -44,6 +46,7 @@ namespace Ui class TorrentOptionsDialog final : public QDialog { Q_OBJECT + Q_DISABLE_COPY(TorrentOptionsDialog) public: explicit TorrentOptionsDialog(QWidget *parent, const QVector &torrents); @@ -64,6 +67,7 @@ private: QVector m_torrentHashes; Ui::TorrentOptionsDialog *m_ui; + SettingValue m_storeDialogSize; struct { qreal ratio; diff --git a/src/gui/trackerentriesdialog.cpp b/src/gui/trackerentriesdialog.cpp index 62d2db1e0..e02f688db 100644 --- a/src/gui/trackerentriesdialog.cpp +++ b/src/gui/trackerentriesdialog.cpp @@ -42,7 +42,7 @@ TrackerEntriesDialog::TrackerEntriesDialog(QWidget *parent) : QDialog(parent) , m_ui(new Ui::TrackerEntriesDialog) - , m_storeDialogSize(SETTINGS_KEY("Dimension")) + , m_storeDialogSize(SETTINGS_KEY("Size")) { m_ui->setupUi(this);