/***************************************************************************
- * Copyright (C) 2005-08 by the Quassel Project *
+ * Copyright (C) 2005-2020 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
***************************************************************************/
-#ifndef _SETTINGSDLG_H_
-#define _SETTINGSDLG_H_
+#ifndef SETTINGSDLG_H
+#define SETTINGSDLG_H
-#include <QtGui>
-#include "ui_settingsdlg.h"
+#include <QDialog>
#include "settingspage.h"
-class SettingsDlg : public QDialog {
- Q_OBJECT
- public:
- SettingsDlg(QWidget *parent = 0);
- void registerSettingsPage(SettingsPage *);
- void unregisterSettingsPage(SettingsPage *);
+#include "ui_settingsdlg.h"
+
+class SettingsDlg : public QDialog
+{
+ Q_OBJECT
- SettingsPage *currentPage() const;
+public:
+ SettingsDlg(QWidget* parent = nullptr);
+ void registerSettingsPage(SettingsPage*);
+ void unregisterSettingsPage(SettingsPage*);
- //QSize sizeHint() const;
+ inline SettingsPage* currentPage() const { return _currentPage; }
- public slots:
- void selectPage(const QString &category, const QString &title);
+public slots:
+ void selectPage(SettingsPage* sp); // const QString &category, const QString &title);
- private slots:
+private slots:
+ void coreConnectionStateChanged();
void itemSelected();
- void buttonClicked(QAbstractButton *);
+ void buttonClicked(QAbstractButton*);
bool applyChanges();
void undoChanges();
void reload();
void loadDefaults();
void setButtonStates();
+ void setItemState(QTreeWidgetItem*);
- private:
+private:
Ui::SettingsDlg ui;
- SettingsPage *_currentPage;
- QHash<QString, SettingsPage *> pages;
- QHash<SettingsPage *, QTreeWidgetItem *> treeItems;
+ SettingsPage* _currentPage{nullptr};
+ QHash<SettingsPage*, bool> pageIsLoaded;
- //QSize recommendedSize;
+ enum
+ {
+ SettingsPageRole = Qt::UserRole
+ };
};
-
#endif