From b254905b5a0564928f333fc19db00d84ef4ad822 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sat, 9 Sep 2017 21:38:43 +0200 Subject: [PATCH] Make categories of settings dialog customizable --- widgets/settings/settingsdialog.cpp | 20 +++++++++++++++----- widgets/settings/settingsdialog.h | 4 ++++ 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/widgets/settings/settingsdialog.cpp b/widgets/settings/settingsdialog.cpp index 312b7bd..97deaf8 100644 --- a/widgets/settings/settingsdialog.cpp +++ b/widgets/settings/settingsdialog.cpp @@ -899,6 +899,13 @@ void WebViewOptionPage::reset() #endif } +SettingsDialog::SettingsDialog(const QList &categories, QWidget *parent) + : Dialogs::SettingsDialog(parent) +{ + categoryModel()->setCategories(categories); + init(); +} + SettingsDialog::SettingsDialog(Data::SyncthingConnection *connection, QWidget *parent) : Dialogs::SettingsDialog(parent) { @@ -932,9 +939,16 @@ SettingsDialog::SettingsDialog(Data::SyncthingConnection *connection, QWidget *p categories << category; categories << values().qt.category(); - categoryModel()->setCategories(categories); + init(); +} +SettingsDialog::~SettingsDialog() +{ +} + +void SettingsDialog::init() +{ resize(860, 620); setWindowTitle(tr("Settings") + QStringLiteral(" - " APP_NAME)); setWindowIcon( @@ -943,10 +957,6 @@ SettingsDialog::SettingsDialog(Data::SyncthingConnection *connection, QWidget *p // some settings could be applied without restarting the application, good idea? //connect(this, &Dialogs::SettingsDialog::applied, bind(&Dialogs::QtSettings::apply, &Settings::qtSettings())); } - -SettingsDialog::~SettingsDialog() -{ -} } INSTANTIATE_UI_FILE_BASED_OPTION_PAGE_NS(QtGui, ConnectionOptionPage) diff --git a/widgets/settings/settingsdialog.h b/widgets/settings/settingsdialog.h index 0e1e8d9..50e0c28 100644 --- a/widgets/settings/settingsdialog.h +++ b/widgets/settings/settingsdialog.h @@ -96,7 +96,11 @@ class SYNCTHINGWIDGETS_EXPORT SettingsDialog : public Dialogs::SettingsDialog { Q_OBJECT public: explicit SettingsDialog(Data::SyncthingConnection *connection, QWidget *parent = nullptr); + explicit SettingsDialog(const QList &categories, QWidget *parent = nullptr); ~SettingsDialog(); + +private: + void init(); }; }