From 5d9314f134ddd3dc4c853e398ac90ba247fb2e4f Mon Sep 17 00:00:00 2001 From: Unit 193 Date: Mon, 13 Jun 2016 18:42:42 -0400 Subject: Imported Upstream version 3.1.0 --- SQLiteStudio3/guiSQLiteStudio/configmapper.h | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'SQLiteStudio3/guiSQLiteStudio/configmapper.h') diff --git a/SQLiteStudio3/guiSQLiteStudio/configmapper.h b/SQLiteStudio3/guiSQLiteStudio/configmapper.h index 049d25a..47c1087 100644 --- a/SQLiteStudio3/guiSQLiteStudio/configmapper.h +++ b/SQLiteStudio3/guiSQLiteStudio/configmapper.h @@ -4,6 +4,7 @@ #include "common/bihash.h" #include "guiSQLiteStudio_global.h" #include +#include class CfgMain; class CfgEntry; @@ -22,6 +23,7 @@ class GUI_API_EXPORT ConfigMapper : public QObject void loadToWidget(CfgEntry* config, QWidget* widget); void saveFromWidget(QWidget* widget, bool noTransaction = false); void setInternalCustomConfigWidgets(const QList& value); + bool isPersistant() const; /** * @brief Scans widget and binds widgets to proper config objects. @@ -49,6 +51,7 @@ class GUI_API_EXPORT ConfigMapper : public QObject * This simply revokes what was done with bindToConfig(). */ void unbindFromConfig(); + void removeMainCfgEntry(CfgMain* cfgMain); QWidget* getBindWidgetForConfig(CfgEntry* key) const; CfgEntry* getBindConfigForWidget(QWidget* widget) const; @@ -69,10 +72,13 @@ class GUI_API_EXPORT ConfigMapper : public QObject void addExtraWidget(QWidget* w); void addExtraWidgets(const QList& list); void clearExtraWidgets(); + void ignoreWidget(QWidget* w); + void removeIgnoredWidget(QWidget* w); private: void applyConfigToWidget(QWidget *widget, const QHash& allConfigEntries, const QHash &config); void applyConfigToWidget(QWidget *widget, CfgEntry* cfgEntry, const QVariant& configValue); + void applyConfigDefaultValueToWidget(QWidget *widget); void handleSpecialWidgets(QWidget *widget, const QHash& allConfigEntries); void handleConfigComboBox(QWidget *widget, const QHash& allConfigEntries); void connectCommonNotifierToWidget(QWidget *widget, CfgEntry* key); @@ -86,12 +92,17 @@ class GUI_API_EXPORT ConfigMapper : public QObject QVariant getCommonConfigValueFromWidget(QWidget *widget, CfgEntry* key, bool& ok); QVariant getCustomConfigValueFromWidget(QWidget *widget, CfgEntry* key, bool& ok); QVariant getConfigValueFromWidget(QWidget *widget, CfgEntry* key); + QVariant getConfigValueFromWidget(QWidget *widget); CfgEntry* getConfigEntry(QWidget* widget, const QHash& allConfigEntries); CfgEntry* getEntryForProperty(QWidget* widget, const char* propertyName, const QHash& allConfigEntries); QHash getAllConfigEntries(); QList getAllConfigWidgets(QWidget* parent); - bool isPersistant() const; + void handleDependencySettings(QWidget* widget); + void handleBoolDependencySettings(const QString& boolDependency, QWidget* widget); + void handleDependencyChange(QWidget* widget); + bool handleBoolDependencyChange(QWidget* widget); + QWidget* configDialogWidget = nullptr; QList cfgMainList; QList internalCustomConfigWidgets; bool realTimeUpdates = false; @@ -100,9 +111,12 @@ class GUI_API_EXPORT ConfigMapper : public QObject QHash specialConfigEntryToWidgets; bool updatingEntry = false; QList extraWidgets; + QList widgetsToIgnore; // main mapper will ignore plugin's forms, they have their own mappers QHash allEntries; + QHash boolDependencyToDependingWidget; static constexpr const char* CFG_MODEL_PROPERTY = "cfg"; + static constexpr const char* CFG_BOOL_DEPENDENCY_PROPERTY = "boolDependency"; static constexpr const char* CFG_NOTIFY_PROPERTY = "notify"; static constexpr const char* CFG_PREVIEW_PROPERTY = "preview"; -- cgit v1.2.3