diff options
Diffstat (limited to 'src/UiGuiSettings.h')
-rw-r--r-- | src/UiGuiSettings.h | 118 |
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 |