qtutilities/settingsdialog/qtsettings.h

63 lines
1.5 KiB
C
Raw Normal View History

2016-04-04 14:49:40 +02:00
// The functions and classes declared in this header are experimental.
// API/ABI might change in minor release!
#ifndef DIALOGS_QT_UTILITIES_QTSETTINGS_H
#define DIALOGS_QT_UTILITIES_QTSETTINGS_H
2016-04-04 14:49:40 +02:00
#include "./optionpage.h"
#include <memory>
QT_FORWARD_DECLARE_CLASS(QFontDialog)
QT_FORWARD_DECLARE_CLASS(QSettings)
2016-04-04 14:49:40 +02:00
namespace Dialogs {
class OptionCategory;
struct QtSettingsData;
2016-04-04 14:49:40 +02:00
BEGIN_DECLARE_UI_FILE_BASED_OPTION_PAGE_CUSTOM_CTOR(QtAppearanceOptionPage)
public:
explicit QtAppearanceOptionPage(QtSettingsData &settings, QWidget *parentWidget = nullptr);
private:
2016-04-04 14:49:40 +02:00
DECLARE_SETUP_WIDGETS
QtSettingsData &m_settings;
2016-04-04 14:49:40 +02:00
QFontDialog *m_fontDialog;
END_DECLARE_OPTION_PAGE
BEGIN_DECLARE_UI_FILE_BASED_OPTION_PAGE_CUSTOM_CTOR(QtLanguageOptionPage)
public:
explicit QtLanguageOptionPage(QtSettingsData &settings, QWidget *parentWidget = nullptr);
private:
DECLARE_SETUP_WIDGETS
QtSettingsData &m_settings;
END_DECLARE_OPTION_PAGE
BEGIN_DECLARE_UI_FILE_BASED_OPTION_PAGE_CUSTOM_CTOR(QtEnvOptionPage)
public:
explicit QtEnvOptionPage(QtSettingsData &settings, QWidget *parentWidget = nullptr);
private:
QtSettingsData &m_settings;
END_DECLARE_OPTION_PAGE
class LIB_EXPORT QtSettings
{
public:
QtSettings();
~QtSettings();
void restore(QSettings &settings);
void save(QSettings &settings) const;
void apply();
bool hasCustomFont() const;
OptionCategory *category();
2016-04-04 14:49:40 +02:00
private:
std::unique_ptr<QtSettingsData> m_d;
};
2016-04-09 02:33:45 +02:00
2016-04-04 14:49:40 +02:00
}
#endif // DIALOGS_QT_UTILITIES_QTSETTINGS_H