summaryrefslogtreecommitdiff
path: root/src/settingsdialog.h
diff options
context:
space:
mode:
authorisanae <14251494+isanae@users.noreply.github.com>2019-07-20 11:12:28 -0400
committerisanae <14251494+isanae@users.noreply.github.com>2019-08-02 03:06:59 -0400
commit107b396902be52f8ae305f58d4e7d85a86779051 (patch)
treed3295342db3707e355affe315f39bc478ec89a86 /src/settingsdialog.h
parente8d7930edacdc04a4607ecd59fc402f2f04ea39d (diff)
moved tabs to SettingsDialog
removed Settings::query(), main window now deals with SettingsDialog directly
Diffstat (limited to 'src/settingsdialog.h')
-rw-r--r--src/settingsdialog.h26
1 files changed, 22 insertions, 4 deletions
diff --git a/src/settingsdialog.h b/src/settingsdialog.h
index 81c17f44..f2367315 100644
--- a/src/settingsdialog.h
+++ b/src/settingsdialog.h
@@ -27,10 +27,26 @@ along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>.
class PluginContainer;
class Settings;
+class SettingsDialog;
+namespace Ui { class SettingsDialog; }
-namespace Ui {
- class SettingsDialog;
-}
+class SettingsTab
+{
+public:
+ SettingsTab(Settings *m_parent, SettingsDialog &m_dialog);
+ virtual ~SettingsTab();
+
+ virtual void update() = 0;
+ virtual void closing() {}
+
+protected:
+ Settings *m_parent;
+ QSettings &m_Settings;
+ SettingsDialog &m_dialog;
+ Ui::SettingsDialog* ui;
+
+ QWidget* parentWidget();
+};
/**
@@ -60,6 +76,8 @@ public:
bool m_GeometriesReset;
PluginContainer *m_PluginContainer;
+ int exec() override;
+
public slots:
virtual void accept();
@@ -69,7 +87,7 @@ public:
private:
Settings* m_settings;
-
+ std::vector<std::unique_ptr<SettingsTab>> m_tabs;
};