modernize: Pass arguments by value and move in constructors
[quassel.git] / src / uisupport / settingspage.h
index 7fd95cc..fe71d73 100644 (file)
  *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.         *
  ***************************************************************************/
 
-#ifndef _SETTINGSPAGE_H_
-#define _SETTINGSPAGE_H_
+#pragma once
+
+#include "uisupport-export.h"
 
 #include <QWidget>
 
 class QCheckBox;
 class QComboBox;
 class QSpinBox;
+class FontSelector;
 
 //! A SettingsPage is a page in the settings dialog.
 /** The SettingsDlg provides suitable standard buttons, such as Ok, Apply, Cancel, Restore Defaults and Reset.
@@ -54,13 +56,13 @@ class QSpinBox;
  *    - QComboBox (currentIndex())
  *    - QSpinBox (value())
  */
-class SettingsPage : public QWidget
+class UISUPPORT_EXPORT SettingsPage : public QWidget
 {
     Q_OBJECT
 
 public:
-    SettingsPage(const QString &category, const QString &name, QWidget *parent = 0);
-    virtual ~SettingsPage() {};
+    SettingsPage(QString category, QString name, QWidget *parent = nullptr);
+    ~SettingsPage() override {};
 
     //! The category of this settings page.
     inline virtual QString category() const { return _category; }
@@ -115,6 +117,8 @@ public:
     static bool hasChanged(QComboBox *box);
     static void load(QSpinBox *box, int value);
     static bool hasChanged(QSpinBox *box);
+    static void load(FontSelector *box, QFont value);
+    static bool hasChanged(FontSelector *box);
 
 public slots:
     //! Save settings to permanent storage.
@@ -164,6 +168,3 @@ private:
     bool _changed, _autoWidgetsChanged;
     QObjectList _autoWidgets;
 };
-
-
-#endif