Remember dialog sizes

This applies to "About Dialog", "Ban List Options Dialog", "Download From URL Dialog", "IP Subnet
Whitelist Options Dialog", "Search Plugin Select Dialog", "Search Plugin Source Dialog",
"Statistics Dialog", "Speed Limit Dialog" and "Torrent Options Dialog".

Also unifies storing the dialog size under the key "Size".
This commit is contained in:
Chocobo1
2020-12-28 11:59:36 +08:00
parent cfb55d9d77
commit 757ab3dc92
21 changed files with 95 additions and 31 deletions

View File

@@ -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;
}

View File

@@ -33,6 +33,7 @@
#include <QStringList>
#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<QSize> m_storeDialogSize;
SearchPluginManager *m_pluginManager;
QStringList m_updatedPlugins;
int m_asyncOps;
int m_pendingUpdates;
int m_asyncOps = 0;
int m_pendingUpdates = 0;
};

View File

@@ -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;
}

View File

@@ -30,18 +30,21 @@
#include <QDialog>
#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<QSize> m_storeDialogSize;
};