Browse Source

Merge pull request #14074 from Chocobo1/dialog_size

Remember dialog sizes
adaptive-webui-19844
Mike Tzou 4 years ago committed by GitHub
parent
commit
04a9ce6e81
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 20
      src/base/preferences.cpp
  2. 4
      src/base/preferences.h
  3. 6
      src/gui/aboutdialog.cpp
  4. 5
      src/gui/aboutdialog.h
  5. 7
      src/gui/banlistoptionsdialog.cpp
  6. 10
      src/gui/banlistoptionsdialog.h
  7. 6
      src/gui/downloadfromurldialog.cpp
  8. 7
      src/gui/downloadfromurldialog.h
  9. 7
      src/gui/ipsubnetwhitelistoptionsdialog.cpp
  10. 10
      src/gui/ipsubnetwhitelistoptionsdialog.h
  11. 51
      src/gui/optionsdialog.cpp
  12. 14
      src/gui/optionsdialog.h
  13. 2
      src/gui/previewselectdialog.cpp
  14. 10
      src/gui/search/pluginselectdialog.cpp
  15. 6
      src/gui/search/pluginselectdialog.h
  16. 8
      src/gui/search/pluginsourcedialog.cpp
  17. 8
      src/gui/search/pluginsourcedialog.h
  18. 6
      src/gui/speedlimitdialog.cpp
  19. 4
      src/gui/speedlimitdialog.h
  20. 6
      src/gui/statsdialog.cpp
  21. 4
      src/gui/statsdialog.h
  22. 2
      src/gui/torrentcreatordialog.cpp
  23. 6
      src/gui/torrentoptionsdialog.cpp
  24. 4
      src/gui/torrentoptionsdialog.h
  25. 2
      src/gui/trackerentriesdialog.cpp

20
src/base/preferences.cpp

@ -1241,26 +1241,6 @@ void Preferences::setMainLastDir(const QString &path)
setValue("MainWindowLastDir", path); setValue("MainWindowLastDir", path);
} }
QSize Preferences::getPrefSize() const
{
return value("Preferences/State/size").toSize();
}
void Preferences::setPrefSize(const QSize &size)
{
setValue("Preferences/State/size", size);
}
QStringList Preferences::getPrefHSplitterSizes() const
{
return value("Preferences/State/hSplitterSizes").toStringList();
}
void Preferences::setPrefHSplitterSizes(const QStringList &sizes)
{
setValue("Preferences/State/hSplitterSizes", sizes);
}
QByteArray Preferences::getPeerListState() const QByteArray Preferences::getPeerListState() const
{ {
return value("TorrentProperties/Peers/qt5/PeerListState").toByteArray(); return value("TorrentProperties/Peers/qt5/PeerListState").toByteArray();

4
src/base/preferences.h

@ -329,10 +329,6 @@ public:
void setMainVSplitterState(const QByteArray &state); void setMainVSplitterState(const QByteArray &state);
QString getMainLastDir() const; QString getMainLastDir() const;
void setMainLastDir(const QString &path); void setMainLastDir(const QString &path);
QSize getPrefSize() const;
void setPrefSize(const QSize &size);
QStringList getPrefHSplitterSizes() const;
void setPrefHSplitterSizes(const QStringList &sizes);
QByteArray getPeerListState() const; QByteArray getPeerListState() const;
void setPeerListState(const QByteArray &state); void setPeerListState(const QByteArray &state);
QString getPropSplitterSizes() const; QString getPropSplitterSizes() const;

6
src/gui/aboutdialog.cpp

@ -36,9 +36,12 @@
#include "uithememanager.h" #include "uithememanager.h"
#include "utils.h" #include "utils.h"
#define SETTINGS_KEY(name) "AboutDialog/" name
AboutDialog::AboutDialog(QWidget *parent) AboutDialog::AboutDialog(QWidget *parent)
: QDialog(parent) : QDialog(parent)
, m_ui(new Ui::AboutDialog) , m_ui(new Ui::AboutDialog)
, m_storeDialogSize(SETTINGS_KEY("Size"))
{ {
m_ui->setupUi(this); m_ui->setupUi(this);
setAttribute(Qt::WA_DeleteOnClose); 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")); "The database is licensed under the Creative Commons Attribution 4.0 International License"));
m_ui->labelDBIP->setText(DBIPText); m_ui->labelDBIP->setText(DBIPText);
Utils::Gui::resize(this); Utils::Gui::resize(this, m_storeDialogSize);
show(); show();
} }
AboutDialog::~AboutDialog() AboutDialog::~AboutDialog()
{ {
m_storeDialogSize = size();
delete m_ui; delete m_ui;
} }

5
src/gui/aboutdialog.h

@ -30,12 +30,14 @@
#include <QDialog> #include <QDialog>
#include "base/settingvalue.h"
namespace Ui namespace Ui
{ {
class AboutDialog; class AboutDialog;
} }
class AboutDialog : public QDialog class AboutDialog final : public QDialog
{ {
Q_OBJECT Q_OBJECT
Q_DISABLE_COPY(AboutDialog) Q_DISABLE_COPY(AboutDialog)
@ -46,4 +48,5 @@ public:
private: private:
Ui::AboutDialog *m_ui; Ui::AboutDialog *m_ui;
SettingValue<QSize> m_storeDialogSize;
}; };

7
src/gui/banlistoptionsdialog.cpp

@ -38,11 +38,13 @@
#include "ui_banlistoptionsdialog.h" #include "ui_banlistoptionsdialog.h"
#include "utils.h" #include "utils.h"
#define SETTINGS_KEY(name) "BanListOptionsDialog/" name
BanListOptionsDialog::BanListOptionsDialog(QWidget *parent) BanListOptionsDialog::BanListOptionsDialog(QWidget *parent)
: QDialog(parent) : QDialog(parent)
, m_ui(new Ui::BanListOptionsDialog) , m_ui(new Ui::BanListOptionsDialog)
, m_storeDialogSize(SETTINGS_KEY("Size"))
, m_model(new QStringListModel(BitTorrent::Session::instance()->bannedIPs(), this)) , m_model(new QStringListModel(BitTorrent::Session::instance()->bannedIPs(), this))
, m_modified(false)
{ {
m_ui->setupUi(this); m_ui->setupUi(this);
@ -54,11 +56,12 @@ BanListOptionsDialog::BanListOptionsDialog(QWidget *parent)
m_ui->bannedIPList->sortByColumn(0, Qt::AscendingOrder); m_ui->bannedIPList->sortByColumn(0, Qt::AscendingOrder);
m_ui->buttonBanIP->setEnabled(false); m_ui->buttonBanIP->setEnabled(false);
Utils::Gui::resize(this); Utils::Gui::resize(this, m_storeDialogSize);
} }
BanListOptionsDialog::~BanListOptionsDialog() BanListOptionsDialog::~BanListOptionsDialog()
{ {
m_storeDialogSize = size();
delete m_ui; delete m_ui;
} }

10
src/gui/banlistoptionsdialog.h

@ -30,6 +30,8 @@
#include <QDialog> #include <QDialog>
#include "base/settingvalue.h"
class QSortFilterProxyModel; class QSortFilterProxyModel;
class QStringListModel; class QStringListModel;
@ -38,13 +40,14 @@ namespace Ui
class BanListOptionsDialog; class BanListOptionsDialog;
} }
class BanListOptionsDialog : public QDialog class BanListOptionsDialog final : public QDialog
{ {
Q_OBJECT Q_OBJECT
Q_DISABLE_COPY(BanListOptionsDialog)
public: public:
explicit BanListOptionsDialog(QWidget *parent = nullptr); explicit BanListOptionsDialog(QWidget *parent = nullptr);
~BanListOptionsDialog(); ~BanListOptionsDialog() override;
private slots: private slots:
void on_buttonBox_accepted(); void on_buttonBox_accepted();
@ -54,7 +57,8 @@ private slots:
private: private:
Ui::BanListOptionsDialog *m_ui; Ui::BanListOptionsDialog *m_ui;
SettingValue<QSize> m_storeDialogSize;
QStringListModel *m_model; QStringListModel *m_model;
QSortFilterProxyModel *m_sortFilter; QSortFilterProxyModel *m_sortFilter;
bool m_modified; bool m_modified = false;
}; };

6
src/gui/downloadfromurldialog.cpp

@ -39,6 +39,8 @@
#include "ui_downloadfromurldialog.h" #include "ui_downloadfromurldialog.h"
#include "utils.h" #include "utils.h"
#define SETTINGS_KEY(name) "DownloadFromURLDialog/" name
namespace namespace
{ {
bool isDownloadable(const QString &str) bool isDownloadable(const QString &str)
@ -55,6 +57,7 @@ namespace
DownloadFromURLDialog::DownloadFromURLDialog(QWidget *parent) DownloadFromURLDialog::DownloadFromURLDialog(QWidget *parent)
: QDialog(parent) : QDialog(parent)
, m_ui(new Ui::DownloadFromURLDialog) , m_ui(new Ui::DownloadFromURLDialog)
, m_storeDialogSize(SETTINGS_KEY("Size"))
{ {
m_ui->setupUi(this); m_ui->setupUi(this);
setAttribute(Qt::WA_DeleteOnClose); setAttribute(Qt::WA_DeleteOnClose);
@ -82,12 +85,13 @@ DownloadFromURLDialog::DownloadFromURLDialog(QWidget *parent)
} }
m_ui->textUrls->setText(uniqueURLs.values().join('\n')); m_ui->textUrls->setText(uniqueURLs.values().join('\n'));
Utils::Gui::resize(this); Utils::Gui::resize(this, m_storeDialogSize);
show(); show();
} }
DownloadFromURLDialog::~DownloadFromURLDialog() DownloadFromURLDialog::~DownloadFromURLDialog()
{ {
m_storeDialogSize = size();
delete m_ui; delete m_ui;
} }

7
src/gui/downloadfromurldialog.h

@ -30,19 +30,21 @@
#include <QDialog> #include <QDialog>
#include "base/settingvalue.h"
namespace Ui namespace Ui
{ {
class DownloadFromURLDialog; class DownloadFromURLDialog;
} }
class DownloadFromURLDialog : public QDialog class DownloadFromURLDialog final : public QDialog
{ {
Q_OBJECT Q_OBJECT
Q_DISABLE_COPY(DownloadFromURLDialog) Q_DISABLE_COPY(DownloadFromURLDialog)
public: public:
explicit DownloadFromURLDialog(QWidget *parent); explicit DownloadFromURLDialog(QWidget *parent);
~DownloadFromURLDialog(); ~DownloadFromURLDialog() override;
signals: signals:
void urlsReadyToBeDownloaded(const QStringList &torrentURLs); void urlsReadyToBeDownloaded(const QStringList &torrentURLs);
@ -52,4 +54,5 @@ private slots:
private: private:
Ui::DownloadFromURLDialog *m_ui; Ui::DownloadFromURLDialog *m_ui;
SettingValue<QSize> m_storeDialogSize;
}; };

7
src/gui/ipsubnetwhitelistoptionsdialog.cpp

@ -38,10 +38,12 @@
#include "ui_ipsubnetwhitelistoptionsdialog.h" #include "ui_ipsubnetwhitelistoptionsdialog.h"
#include "utils.h" #include "utils.h"
#define SETTINGS_KEY(name) "IPSubnetWhitelistOptionsDialog/" name
IPSubnetWhitelistOptionsDialog::IPSubnetWhitelistOptionsDialog(QWidget *parent) IPSubnetWhitelistOptionsDialog::IPSubnetWhitelistOptionsDialog(QWidget *parent)
: QDialog(parent) : QDialog(parent)
, m_ui(new Ui::IPSubnetWhitelistOptionsDialog) , m_ui(new Ui::IPSubnetWhitelistOptionsDialog)
, m_modified(false) , m_storeDialogSize(SETTINGS_KEY("Size"))
{ {
m_ui->setupUi(this); m_ui->setupUi(this);
@ -58,11 +60,12 @@ IPSubnetWhitelistOptionsDialog::IPSubnetWhitelistOptionsDialog(QWidget *parent)
m_ui->whitelistedIPSubnetList->sortByColumn(0, Qt::AscendingOrder); m_ui->whitelistedIPSubnetList->sortByColumn(0, Qt::AscendingOrder);
m_ui->buttonWhitelistIPSubnet->setEnabled(false); m_ui->buttonWhitelistIPSubnet->setEnabled(false);
Utils::Gui::resize(this); Utils::Gui::resize(this, m_storeDialogSize);
} }
IPSubnetWhitelistOptionsDialog::~IPSubnetWhitelistOptionsDialog() IPSubnetWhitelistOptionsDialog::~IPSubnetWhitelistOptionsDialog()
{ {
m_storeDialogSize = size();
delete m_ui; delete m_ui;
} }

10
src/gui/ipsubnetwhitelistoptionsdialog.h

@ -30,6 +30,8 @@
#include <QDialog> #include <QDialog>
#include "base/settingvalue.h"
class QSortFilterProxyModel; class QSortFilterProxyModel;
class QStringListModel; class QStringListModel;
@ -38,14 +40,14 @@ namespace Ui
class IPSubnetWhitelistOptionsDialog; class IPSubnetWhitelistOptionsDialog;
} }
class IPSubnetWhitelistOptionsDialog : public QDialog class IPSubnetWhitelistOptionsDialog final : public QDialog
{ {
Q_OBJECT Q_OBJECT
Q_DISABLE_COPY(IPSubnetWhitelistOptionsDialog) Q_DISABLE_COPY(IPSubnetWhitelistOptionsDialog)
public: public:
explicit IPSubnetWhitelistOptionsDialog(QWidget *parent = nullptr); explicit IPSubnetWhitelistOptionsDialog(QWidget *parent = nullptr);
~IPSubnetWhitelistOptionsDialog(); ~IPSubnetWhitelistOptionsDialog() override;
private slots: private slots:
void on_buttonBox_accepted(); void on_buttonBox_accepted();
@ -55,7 +57,9 @@ private slots:
private: private:
Ui::IPSubnetWhitelistOptionsDialog *m_ui; Ui::IPSubnetWhitelistOptionsDialog *m_ui;
SettingValue<QSize> m_storeDialogSize;
QStringListModel *m_model; QStringListModel *m_model;
QSortFilterProxyModel *m_sortFilter; QSortFilterProxyModel *m_sortFilter;
bool m_modified; bool m_modified = false;
}; };

51
src/gui/optionsdialog.cpp

@ -68,6 +68,8 @@
#include "uithememanager.h" #include "uithememanager.h"
#include "utils.h" #include "utils.h"
#define SETTINGS_KEY(name) "OptionsDialog/" name
namespace namespace
{ {
QStringList translatedWeekdayNames() QStringList translatedWeekdayNames()
@ -129,7 +131,7 @@ namespace
case QLocale::Latvian: return QString::fromUtf8(C_LOCALE_LATVIAN); case QLocale::Latvian: return QString::fromUtf8(C_LOCALE_LATVIAN);
case QLocale::Lithuanian: return QString::fromUtf8(C_LOCALE_LITHUANIAN); case QLocale::Lithuanian: return QString::fromUtf8(C_LOCALE_LITHUANIAN);
case QLocale::Malay: return QString::fromUtf8(C_LOCALE_MALAY); case QLocale::Malay: return QString::fromUtf8(C_LOCALE_MALAY);
case QLocale::Norwegian: return QString::fromUtf8(C_LOCALE_NORWEGIAN); case QLocale::NorwegianBokmal: return QString::fromUtf8(C_LOCALE_NORWEGIAN);
case QLocale::Occitan: return QString::fromUtf8(C_LOCALE_OCCITAN); case QLocale::Occitan: return QString::fromUtf8(C_LOCALE_OCCITAN);
case QLocale::Polish: return QString::fromUtf8(C_LOCALE_POLISH); case QLocale::Polish: return QString::fromUtf8(C_LOCALE_POLISH);
case QLocale::Portuguese: case QLocale::Portuguese:
@ -169,9 +171,10 @@ private:
// Constructor // Constructor
OptionsDialog::OptionsDialog(QWidget *parent) OptionsDialog::OptionsDialog(QWidget *parent)
: QDialog(parent) : QDialog {parent}
, m_refreshingIpFilter(false) , m_ui {new Ui::OptionsDialog}
, m_ui(new Ui::OptionsDialog) , m_storeDialogSize {SETTINGS_KEY("Size")}
, m_storeHSplitterSize {SETTINGS_KEY("HorizontalSplitterSizes")}
{ {
qDebug("-> Constructing Options"); qDebug("-> Constructing Options");
m_ui->setupUi(this); m_ui->setupUi(this);
@ -565,7 +568,7 @@ OptionsDialog::OptionsDialog(QWidget *parent)
for (QSpinBox *widget : asConst(findChildren<QSpinBox *>())) for (QSpinBox *widget : asConst(findChildren<QSpinBox *>()))
widget->installEventFilter(wheelEventEater); widget->installEventFilter(wheelEventEater);
loadWindowState(); Utils::Gui::resize(this, m_storeDialogSize);
show(); show();
// Have to be called after show(), because splitter width needed // Have to be called after show(), because splitter width needed
loadSplitterState(); loadSplitterState();
@ -606,7 +609,13 @@ OptionsDialog::~OptionsDialog()
{ {
qDebug("-> destructing Options"); qDebug("-> destructing Options");
saveWindowState(); // save dialog states
m_storeDialogSize = size();
QStringList hSplitterSizes;
for (const int size : asConst(m_ui->hsplitter->sizes()))
hSplitterSizes.append(QString::number(size));
m_storeHSplitterSize = hSplitterSizes;
for (const QString &path : asConst(m_addedScanDirs)) for (const QString &path : asConst(m_addedScanDirs))
ScanFoldersModel::instance()->removePath(path); ScanFoldersModel::instance()->removePath(path);
@ -621,38 +630,18 @@ void OptionsDialog::changePage(QListWidgetItem *current, QListWidgetItem *previo
m_ui->tabOption->setCurrentIndex(m_ui->tabSelection->row(current)); m_ui->tabOption->setCurrentIndex(m_ui->tabSelection->row(current));
} }
void OptionsDialog::loadWindowState()
{
Utils::Gui::resize(this, Preferences::instance()->getPrefSize());
}
void OptionsDialog::loadSplitterState() void OptionsDialog::loadSplitterState()
{ {
const QStringList sizesStr = Preferences::instance()->getPrefHSplitterSizes();
// width has been modified, use height as width reference instead // width has been modified, use height as width reference instead
const int width = Utils::Gui::scaledSize(this const int width = Utils::Gui::scaledSize(this
, (m_ui->tabSelection->item(TAB_UI)->sizeHint().height() * 2)); , (m_ui->tabSelection->item(TAB_UI)->sizeHint().height() * 2));
QList<int> sizes {width, (m_ui->hsplitter->width() - width)}; const QStringList defaultSizes = {QString::number(width), QString::number(m_ui->hsplitter->width() - width)};
if (sizesStr.size() == 2)
sizes = {sizesStr.first().toInt(), sizesStr.last().toInt()};
m_ui->hsplitter->setSizes(sizes);
}
void OptionsDialog::saveWindowState() const
{
Preferences *const pref = Preferences::instance();
// window size QList<int> splitterSizes;
pref->setPrefSize(size()); for (const QString &string : asConst(m_storeHSplitterSize.get(defaultSizes)))
splitterSizes.append(string.toInt());
// Splitter size m_ui->hsplitter->setSizes(splitterSizes);
const QStringList sizesStr =
{
QString::number(m_ui->hsplitter->sizes().first()),
QString::number(m_ui->hsplitter->sizes().last())
};
pref->setPrefHSplitterSizes(sizesStr);
} }
void OptionsDialog::saveOptions() void OptionsDialog::saveOptions()

14
src/gui/optionsdialog.h

@ -30,6 +30,8 @@
#include <QDialog> #include <QDialog>
#include "base/settingvalue.h"
class QAbstractButton; class QAbstractButton;
class QCloseEvent; class QCloseEvent;
class QListWidgetItem; class QListWidgetItem;
@ -58,6 +60,8 @@ namespace Ui
class OptionsDialog final : public QDialog class OptionsDialog final : public QDialog
{ {
Q_OBJECT Q_OBJECT
Q_DISABLE_COPY(OptionsDialog)
using ThisType = OptionsDialog; using ThisType = OptionsDialog;
enum Tabs enum Tabs
@ -95,9 +99,7 @@ private slots:
void enableApplyButton(); void enableApplyButton();
void toggleComboRatioLimitAct(); void toggleComboRatioLimitAct();
void changePage(QListWidgetItem *, QListWidgetItem *); void changePage(QListWidgetItem *, QListWidgetItem *);
void loadWindowState();
void loadSplitterState(); void loadSplitterState();
void saveWindowState() const;
void handleScanFolderViewSelectionChanged(); void handleScanFolderViewSelectionChanged();
void on_IpFilterRefreshBtn_clicked(); void on_IpFilterRefreshBtn_clicked();
void handleIPFilterParsed(bool error, int ruleCount); void handleIPFilterParsed(bool error, int ruleCount);
@ -161,7 +163,6 @@ private:
// IP Filter // IP Filter
bool isIPFilteringEnabled() const; bool isIPFilteringEnabled() const;
QString getFilter() const; QString getFilter() const;
bool m_refreshingIpFilter;
// Queueing system // Queueing system
bool isQueueingSystemEnabled() const; bool isQueueingSystemEnabled() const;
int getMaxActiveDownloads() const; int getMaxActiveDownloads() const;
@ -177,8 +178,15 @@ private:
bool schedTimesOk(); bool schedTimesOk();
Ui::OptionsDialog *m_ui; Ui::OptionsDialog *m_ui;
SettingValue<QSize> m_storeDialogSize;
SettingValue<QStringList> m_storeHSplitterSize;
QAbstractButton *m_applyButton; QAbstractButton *m_applyButton;
AdvancedSettings *m_advancedSettings; AdvancedSettings *m_advancedSettings;
QList<QString> m_addedScanDirs; QList<QString> m_addedScanDirs;
QList<QString> m_removedScanDirs; QList<QString> m_removedScanDirs;
bool m_refreshingIpFilter = false;
}; };

2
src/gui/previewselectdialog.cpp

@ -51,7 +51,7 @@ PreviewSelectDialog::PreviewSelectDialog(QWidget *parent, const BitTorrent::Torr
: QDialog(parent) : QDialog(parent)
, m_ui(new Ui::PreviewSelectDialog) , m_ui(new Ui::PreviewSelectDialog)
, m_torrent(torrent) , m_torrent(torrent)
, m_storeDialogSize(SETTINGS_KEY("Dimension")) , m_storeDialogSize(SETTINGS_KEY("Size"))
, m_storeTreeHeaderState(SETTINGS_KEY("HeaderState")) , m_storeTreeHeaderState(SETTINGS_KEY("HeaderState"))
{ {
m_ui->setupUi(this); m_ui->setupUi(this);

10
src/gui/search/pluginselectdialog.cpp

@ -49,6 +49,8 @@
#include "searchwidget.h" #include "searchwidget.h"
#include "ui_pluginselectdialog.h" #include "ui_pluginselectdialog.h"
#define SETTINGS_KEY(name) "SearchPluginSelectDialog/" name
enum PluginColumns enum PluginColumns
{ {
PLUGIN_NAME, PLUGIN_NAME,
@ -60,10 +62,9 @@ enum PluginColumns
PluginSelectDialog::PluginSelectDialog(SearchPluginManager *pluginManager, QWidget *parent) PluginSelectDialog::PluginSelectDialog(SearchPluginManager *pluginManager, QWidget *parent)
: QDialog(parent) : QDialog(parent)
, m_ui(new Ui::PluginSelectDialog()) , m_ui(new Ui::PluginSelectDialog)
, m_storeDialogSize(SETTINGS_KEY("Size"))
, m_pluginManager(pluginManager) , m_pluginManager(pluginManager)
, m_asyncOps(0)
, m_pendingUpdates(0)
{ {
m_ui->setupUi(this); m_ui->setupUi(this);
setAttribute(Qt::WA_DeleteOnClose); 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::checkForUpdatesFinished, this, &PluginSelectDialog::checkForUpdatesFinished);
connect(m_pluginManager, &SearchPluginManager::checkForUpdatesFailed, this, &PluginSelectDialog::checkForUpdatesFailed); connect(m_pluginManager, &SearchPluginManager::checkForUpdatesFailed, this, &PluginSelectDialog::checkForUpdatesFailed);
Utils::Gui::resize(this); Utils::Gui::resize(this, m_storeDialogSize);
show(); show();
} }
PluginSelectDialog::~PluginSelectDialog() PluginSelectDialog::~PluginSelectDialog()
{ {
m_storeDialogSize = size();
delete m_ui; delete m_ui;
} }

6
src/gui/search/pluginselectdialog.h

@ -33,6 +33,7 @@
#include <QStringList> #include <QStringList>
#include "base/search/searchpluginmanager.h" #include "base/search/searchpluginmanager.h"
#include "base/settingvalue.h"
class QDropEvent; class QDropEvent;
class QTreeWidgetItem; class QTreeWidgetItem;
@ -91,8 +92,9 @@ private:
void finishPluginUpdate(); void finishPluginUpdate();
Ui::PluginSelectDialog *m_ui; Ui::PluginSelectDialog *m_ui;
SettingValue<QSize> m_storeDialogSize;
SearchPluginManager *m_pluginManager; SearchPluginManager *m_pluginManager;
QStringList m_updatedPlugins; QStringList m_updatedPlugins;
int m_asyncOps; int m_asyncOps = 0;
int m_pendingUpdates; int m_pendingUpdates = 0;
}; };

8
src/gui/search/pluginsourcedialog.cpp

@ -31,19 +31,23 @@
#include "gui/utils.h" #include "gui/utils.h"
#include "ui_pluginsourcedialog.h" #include "ui_pluginsourcedialog.h"
#define SETTINGS_KEY(name) "SearchPluginSourceDialog/" name
PluginSourceDialog::PluginSourceDialog(QWidget *parent) PluginSourceDialog::PluginSourceDialog(QWidget *parent)
: QDialog(parent) : QDialog(parent)
, m_ui(new Ui::PluginSourceDialog()) , m_ui(new Ui::PluginSourceDialog)
, m_storeDialogSize(SETTINGS_KEY("Size"))
{ {
m_ui->setupUi(this); m_ui->setupUi(this);
setAttribute(Qt::WA_DeleteOnClose); setAttribute(Qt::WA_DeleteOnClose);
Utils::Gui::resize(this); Utils::Gui::resize(this, m_storeDialogSize);
show(); show();
} }
PluginSourceDialog::~PluginSourceDialog() PluginSourceDialog::~PluginSourceDialog()
{ {
m_storeDialogSize = size();
delete m_ui; delete m_ui;
} }

8
src/gui/search/pluginsourcedialog.h

@ -30,18 +30,21 @@
#include <QDialog> #include <QDialog>
#include "base/settingvalue.h"
namespace Ui namespace Ui
{ {
class PluginSourceDialog; class PluginSourceDialog;
} }
class PluginSourceDialog : public QDialog class PluginSourceDialog final : public QDialog
{ {
Q_OBJECT Q_OBJECT
Q_DISABLE_COPY(PluginSourceDialog)
public: public:
explicit PluginSourceDialog(QWidget *parent = nullptr); explicit PluginSourceDialog(QWidget *parent = nullptr);
~PluginSourceDialog(); ~PluginSourceDialog() override;
signals: signals:
void askForUrl(); void askForUrl();
@ -53,4 +56,5 @@ private slots:
private: private:
Ui::PluginSourceDialog *m_ui; Ui::PluginSourceDialog *m_ui;
SettingValue<QSize> m_storeDialogSize;
}; };

6
src/gui/speedlimitdialog.cpp

@ -35,6 +35,8 @@
#include "uithememanager.h" #include "uithememanager.h"
#include "utils.h" #include "utils.h"
#define SETTINGS_KEY(name) "SpeedLimitDialog/" name
namespace namespace
{ {
void updateSliderValue(QSlider *slider, const int value) void updateSliderValue(QSlider *slider, const int value)
@ -48,6 +50,7 @@ namespace
SpeedLimitDialog::SpeedLimitDialog(QWidget *parent) SpeedLimitDialog::SpeedLimitDialog(QWidget *parent)
: QDialog {parent} : QDialog {parent}
, m_ui {new Ui::SpeedLimitDialog} , m_ui {new Ui::SpeedLimitDialog}
, m_storeDialogSize {SETTINGS_KEY("Size")}
{ {
m_ui->setupUi(this); m_ui->setupUi(this);
@ -103,11 +106,12 @@ SpeedLimitDialog::SpeedLimitDialog(QWidget *parent)
connect(m_ui->spinAltDownloadLimit, qOverload<int>(&QSpinBox::valueChanged) connect(m_ui->spinAltDownloadLimit, qOverload<int>(&QSpinBox::valueChanged)
, this, [this](const int value) { updateSliderValue(m_ui->sliderAltDownloadLimit, value); }); , this, [this](const int value) { updateSliderValue(m_ui->sliderAltDownloadLimit, value); });
Utils::Gui::resize(this); Utils::Gui::resize(this, m_storeDialogSize);
} }
SpeedLimitDialog::~SpeedLimitDialog() SpeedLimitDialog::~SpeedLimitDialog()
{ {
m_storeDialogSize = size();
delete m_ui; delete m_ui;
} }

4
src/gui/speedlimitdialog.h

@ -30,6 +30,8 @@
#include <QDialog> #include <QDialog>
#include "base/settingvalue.h"
namespace Ui namespace Ui
{ {
class SpeedLimitDialog; class SpeedLimitDialog;
@ -38,6 +40,7 @@ namespace Ui
class SpeedLimitDialog final : public QDialog class SpeedLimitDialog final : public QDialog
{ {
Q_OBJECT Q_OBJECT
Q_DISABLE_COPY(SpeedLimitDialog)
public: public:
explicit SpeedLimitDialog(QWidget *parent); explicit SpeedLimitDialog(QWidget *parent);
@ -48,6 +51,7 @@ public slots:
private: private:
Ui::SpeedLimitDialog *m_ui; Ui::SpeedLimitDialog *m_ui;
SettingValue<QSize> m_storeDialogSize;
struct struct
{ {
int uploadSpeedLimit; int uploadSpeedLimit;

6
src/gui/statsdialog.cpp

@ -40,9 +40,12 @@
#include "ui_statsdialog.h" #include "ui_statsdialog.h"
#include "utils.h" #include "utils.h"
#define SETTINGS_KEY(name) "StatisticsDialog/" name
StatsDialog::StatsDialog(QWidget *parent) StatsDialog::StatsDialog(QWidget *parent)
: QDialog(parent) : QDialog(parent)
, m_ui(new Ui::StatsDialog) , m_ui(new Ui::StatsDialog)
, m_storeDialogSize(SETTINGS_KEY("Size"))
{ {
m_ui->setupUi(this); m_ui->setupUi(this);
setAttribute(Qt::WA_DeleteOnClose); setAttribute(Qt::WA_DeleteOnClose);
@ -57,12 +60,13 @@ StatsDialog::StatsDialog(QWidget *parent)
m_ui->labelCacheHits->hide(); m_ui->labelCacheHits->hide();
#endif #endif
Utils::Gui::resize(this); Utils::Gui::resize(this, m_storeDialogSize);
show(); show();
} }
StatsDialog::~StatsDialog() StatsDialog::~StatsDialog()
{ {
m_storeDialogSize = size();
delete m_ui; delete m_ui;
} }

4
src/gui/statsdialog.h

@ -30,6 +30,8 @@
#include <QDialog> #include <QDialog>
#include "base/settingvalue.h"
namespace Ui namespace Ui
{ {
class StatsDialog; class StatsDialog;
@ -38,6 +40,7 @@ namespace Ui
class StatsDialog final : public QDialog class StatsDialog final : public QDialog
{ {
Q_OBJECT Q_OBJECT
Q_DISABLE_COPY(StatsDialog)
public: public:
explicit StatsDialog(QWidget *parent); explicit StatsDialog(QWidget *parent);
@ -48,4 +51,5 @@ private slots:
private: private:
Ui::StatsDialog *m_ui; Ui::StatsDialog *m_ui;
SettingValue<QSize> m_storeDialogSize;
}; };

2
src/gui/torrentcreatordialog.cpp

@ -48,7 +48,7 @@ TorrentCreatorDialog::TorrentCreatorDialog(QWidget *parent, const QString &defau
: QDialog(parent) : QDialog(parent)
, m_ui(new Ui::TorrentCreatorDialog) , m_ui(new Ui::TorrentCreatorDialog)
, m_creatorThread(new BitTorrent::TorrentCreatorThread(this)) , m_creatorThread(new BitTorrent::TorrentCreatorThread(this))
, m_storeDialogSize(SETTINGS_KEY("Dimension")) , m_storeDialogSize(SETTINGS_KEY("Size"))
, m_storePieceSize(SETTINGS_KEY("PieceSize")) , m_storePieceSize(SETTINGS_KEY("PieceSize"))
, m_storePrivateTorrent(SETTINGS_KEY("PrivateTorrent")) , m_storePrivateTorrent(SETTINGS_KEY("PrivateTorrent"))
, m_storeStartSeeding(SETTINGS_KEY("StartSeeding")) , m_storeStartSeeding(SETTINGS_KEY("StartSeeding"))

6
src/gui/torrentoptionsdialog.cpp

@ -39,6 +39,8 @@
#include "ui_torrentoptionsdialog.h" #include "ui_torrentoptionsdialog.h"
#include "utils.h" #include "utils.h"
#define SETTINGS_KEY(name) "TorrentOptionsDialog/" name
namespace namespace
{ {
const int MIXED_SHARE_LIMITS = -9; const int MIXED_SHARE_LIMITS = -9;
@ -54,6 +56,7 @@ namespace
TorrentOptionsDialog::TorrentOptionsDialog(QWidget *parent, const QVector<BitTorrent::TorrentHandle *> &torrents) TorrentOptionsDialog::TorrentOptionsDialog(QWidget *parent, const QVector<BitTorrent::TorrentHandle *> &torrents)
: QDialog {parent} : QDialog {parent}
, m_ui {new Ui::TorrentOptionsDialog} , m_ui {new Ui::TorrentOptionsDialog}
, m_storeDialogSize {SETTINGS_KEY("Size")}
{ {
m_ui->setupUi(this); m_ui->setupUi(this);
@ -265,11 +268,12 @@ TorrentOptionsDialog::TorrentOptionsDialog(QWidget *parent, const QVector<BitTor
, this, &TorrentOptionsDialog::handleRatioTypeChanged); , this, &TorrentOptionsDialog::handleRatioTypeChanged);
#endif #endif
Utils::Gui::resize(this); Utils::Gui::resize(this, m_storeDialogSize);
} }
TorrentOptionsDialog::~TorrentOptionsDialog() TorrentOptionsDialog::~TorrentOptionsDialog()
{ {
m_storeDialogSize = size();
delete m_ui; delete m_ui;
} }

4
src/gui/torrentoptionsdialog.h

@ -30,6 +30,8 @@
#include <QDialog> #include <QDialog>
#include "base/settingvalue.h"
namespace BitTorrent namespace BitTorrent
{ {
class InfoHash; class InfoHash;
@ -44,6 +46,7 @@ namespace Ui
class TorrentOptionsDialog final : public QDialog class TorrentOptionsDialog final : public QDialog
{ {
Q_OBJECT Q_OBJECT
Q_DISABLE_COPY(TorrentOptionsDialog)
public: public:
explicit TorrentOptionsDialog(QWidget *parent, const QVector<BitTorrent::TorrentHandle *> &torrents); explicit TorrentOptionsDialog(QWidget *parent, const QVector<BitTorrent::TorrentHandle *> &torrents);
@ -64,6 +67,7 @@ private:
QVector<BitTorrent::InfoHash> m_torrentHashes; QVector<BitTorrent::InfoHash> m_torrentHashes;
Ui::TorrentOptionsDialog *m_ui; Ui::TorrentOptionsDialog *m_ui;
SettingValue<QSize> m_storeDialogSize;
struct struct
{ {
qreal ratio; qreal ratio;

2
src/gui/trackerentriesdialog.cpp

@ -42,7 +42,7 @@
TrackerEntriesDialog::TrackerEntriesDialog(QWidget *parent) TrackerEntriesDialog::TrackerEntriesDialog(QWidget *parent)
: QDialog(parent) : QDialog(parent)
, m_ui(new Ui::TrackerEntriesDialog) , m_ui(new Ui::TrackerEntriesDialog)
, m_storeDialogSize(SETTINGS_KEY("Dimension")) , m_storeDialogSize(SETTINGS_KEY("Size"))
{ {
m_ui->setupUi(this); m_ui->setupUi(this);

Loading…
Cancel
Save