summaryrefslogtreecommitdiffstats
path: root/src/UiGuiSettings.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/UiGuiSettings.h')
-rw-r--r--src/UiGuiSettings.h118
1 files changed, 118 insertions, 0 deletions
diff --git a/src/UiGuiSettings.h b/src/UiGuiSettings.h
new file mode 100644
index 0000000..de5ddad
--- /dev/null
+++ b/src/UiGuiSettings.h
@@ -0,0 +1,118 @@
+/***************************************************************************
+* Copyright (C) 2006-2012 by Thomas Schweitzer *
+* thomas-schweitzer(at)arcor.de *
+* *
+* This program is free software; you can redistribute it and/or modify *
+* it under the terms of the GNU General Public License version 2.0 as *
+* published by the Free Software Foundation. *
+* *
+* This program is distributed in the hope that it will be useful, *
+* but WITHOUT ANY WARRANTY; without even the implied warranty of *
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+* GNU General Public License for more details. *
+* *
+* You should have received a copy of the GNU General Public License *
+* along with this program in the file LICENSE.GPL; if not, write to the *
+* Free Software Foundation, Inc., *
+* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+***************************************************************************/
+
+#ifndef UIGUISETTINGS_H
+#define UIGUISETTINGS_H
+
+#include <tqmap.h>
+#include <tqobject.h>
+#include <tqstringlist.h>
+#include <tqvariant.h>
+
+class TQSettings;
+
+
+class UiGuiSettings : public TQObject
+{
+ Q_OBJECT
+
+ private:
+ UiGuiSettings();
+
+ static UiGuiSettings *m_instance;
+
+ public:
+ static UiGuiSettings* getInstance();
+ static void deleteInstance();
+
+ ~UiGuiSettings();
+
+// [--] bool registerObjectProperty(TQObject *obj, const TQString &propertyName,
+// [--] const TQString &settingName);
+// [--] bool setObjectPropertyToSettingValue(TQObject *obj, const TQString &propertyName,
+// [--] const TQString &settingName);
+// [--] bool setObjectPropertyToSettingValueRecursive(TQObject *obj);
+// [--] bool setSettingToObjectPropertyValue(TQObject *obj, const TQString &propertyName,
+// [--] const TQString &settingName);
+// [--] bool setSettingToObjectPropertyValueRecursive(TQObject *obj);
+// [--] bool registerObjectSlot(TQObject *obj, const TQString &slotName,
+// [--] const TQString &settingName);
+ void loadSettings();
+ void saveSettings();
+ bool setValueByName(const TQString &settingName, TQVariant value);
+ TQVariant getValueByName(const TQString &settingName) const;
+ TQStringList& getAvailableTranslations();
+
+ public slots:
+// [--] void unregisterObjectProperty(TQObject *obj);
+// [--] void unregisterObjectSlot(TQObject *obj, const TQString &slotName = TQString::null,
+// [--] const TQString &settingName = TQString::null);
+// [--]
+// [--] protected:
+// [--]//---- bool invokeMethodWithValue(TQObject *obj, TQMetaMethod mMethod, TQVariant value);
+// [--]
+// [--] bool checkCustomPropertiesAndCallFunction(TQObject * obj,
+// [--] bool (UiGuiSettings::*callBackFunc)(TQObject *obj, const TQString &propertyName,
+// [--] const TQString &settingName));
+// [--]
+// [--] private slots:
+// [--] void handleObjectPropertyChange();
+// [++] void handleValueChangeFromExtern(int value);
+// [++] void handleValueChangeFromExtern(bool value);
+// [++] void handleValueChangeFromExtern(TQDate value);
+// [++] void handleValueChangeFromExtern(TQByteArray value);
+
+ // Each possible setting needs an own signal.
+
+ signals:
+// [++] void versionInSettingsFile(TQString value);
+// [++] void windowIsMaximized(bool value);
+// [++] void windowPosition(TQPoint value);
+// [++] void windowSize(TQSize value);
+// [++] void fileEncoding(TQString value);
+// [++] void recentlyOpenedListSize(int value);
+// [++] void loadLastOpenedFileOnStartup(bool value);
+// [++] void lastOpenedFiles(TQString value);
+// [++] void selectedIndenter(int value);
+// [++] void syntaxHighlightningEnabled(bool value);
+// [++] void whiteSpaceIsVisible(bool value);
+// [++] void indenterParameterTooltipsEnabled(bool value);
+// [++] void tabWidth(int value);
+// [++] void language(int value);
+// [++] void lastUpdateCheck(TQDate value);
+// [++] void mainWindowState(TQByteArray value);
+
+ private:
+ void emitSignalForSetting(TQString settingName);
+ void readAvailableTranslations();
+
+ // Stores the mnemonics of the available translations.
+ TQStringList m_availableTranslations;
+
+ // The settings file.
+ TQSettings *m_qsettings;
+
+ // This map holds all possible settings defined by their name as TQString.
+ TQMap<TQString, TQVariant> m_settings;
+
+ // The path where the indenters are located
+ TQString m_indenterDirectoryStr;
+};
+
+#endif // UIGUISETTINGS_H