/***************************************************************************
- * Copyright (C) 2005-2012 by the Quassel Project *
+ * Copyright (C) 2005-2018 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
* 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.
* - 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);
//! The category of this settings page.
inline virtual QString category() const { return _category; }
*/
inline virtual bool needsCoreConnection() const { return false; }
+ /**
+ * Whether the settingspage should be selectable or not, in a given situation
+ * Used for pages that should only be visible if certain features are available (or not).
+ * @return
+ */
+ inline virtual bool isSelectable() const { return true; }
+
//! The key this settings page stores its values under
/** This needs to be overriden to enable automatic loading/saving/hasChanged checking of widgets.
* The child widgets' values will be stored in client settings under this key. Every widget that
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.
bool _changed, _autoWidgetsChanged;
QObjectList _autoWidgets;
};
-
-
-#endif