Mercurial > hg > forks > UniversalIndentGUI
annotate src/UiGuiSettings.h @ 768:f3631db17328
Updated all date occurrences to the year 2011.
git-svn-id: svn://svn.code.sf.net/p/universalindent/code/trunk@1045 59b1889a-e5ac-428c-b0c7-476e01d41282
author | thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282> |
---|---|
date | Thu, 21 Apr 2011 15:17:51 +0000 |
parents | ac165b6ae67e |
children | fa7aa6f543f1 |
rev | line source |
---|---|
638
94734b9eb54f
Renamed the source files and some classes to have consistent names. What a nice kind of work.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
diff
changeset
|
1 /*************************************************************************** |
768
f3631db17328
Updated all date occurrences to the year 2011.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
751
diff
changeset
|
2 * Copyright (C) 2006-2011 by Thomas Schweitzer * |
638
94734b9eb54f
Renamed the source files and some classes to have consistent names. What a nice kind of work.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
diff
changeset
|
3 * thomas-schweitzer(at)arcor.de * |
94734b9eb54f
Renamed the source files and some classes to have consistent names. What a nice kind of work.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
diff
changeset
|
4 * * |
94734b9eb54f
Renamed the source files and some classes to have consistent names. What a nice kind of work.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
diff
changeset
|
5 * This program is free software; you can redistribute it and/or modify * |
94734b9eb54f
Renamed the source files and some classes to have consistent names. What a nice kind of work.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
diff
changeset
|
6 * it under the terms of the GNU General Public License version 2.0 as * |
94734b9eb54f
Renamed the source files and some classes to have consistent names. What a nice kind of work.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
diff
changeset
|
7 * published by the Free Software Foundation. * |
94734b9eb54f
Renamed the source files and some classes to have consistent names. What a nice kind of work.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
diff
changeset
|
8 * * |
94734b9eb54f
Renamed the source files and some classes to have consistent names. What a nice kind of work.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
diff
changeset
|
9 * This program is distributed in the hope that it will be useful, * |
94734b9eb54f
Renamed the source files and some classes to have consistent names. What a nice kind of work.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
diff
changeset
|
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of * |
94734b9eb54f
Renamed the source files and some classes to have consistent names. What a nice kind of work.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
diff
changeset
|
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * |
94734b9eb54f
Renamed the source files and some classes to have consistent names. What a nice kind of work.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
diff
changeset
|
12 * GNU General Public License for more details. * |
94734b9eb54f
Renamed the source files and some classes to have consistent names. What a nice kind of work.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
diff
changeset
|
13 * * |
94734b9eb54f
Renamed the source files and some classes to have consistent names. What a nice kind of work.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
diff
changeset
|
14 * You should have received a copy of the GNU General Public License * |
94734b9eb54f
Renamed the source files and some classes to have consistent names. What a nice kind of work.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
diff
changeset
|
15 * along with this program in the file LICENSE.GPL; if not, write to the * |
94734b9eb54f
Renamed the source files and some classes to have consistent names. What a nice kind of work.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
diff
changeset
|
16 * Free Software Foundation, Inc., * |
94734b9eb54f
Renamed the source files and some classes to have consistent names. What a nice kind of work.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
diff
changeset
|
17 * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * |
94734b9eb54f
Renamed the source files and some classes to have consistent names. What a nice kind of work.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
diff
changeset
|
18 ***************************************************************************/ |
94734b9eb54f
Renamed the source files and some classes to have consistent names. What a nice kind of work.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
diff
changeset
|
19 |
94734b9eb54f
Renamed the source files and some classes to have consistent names. What a nice kind of work.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
diff
changeset
|
20 #ifndef UIGUISETTINGS_H |
94734b9eb54f
Renamed the source files and some classes to have consistent names. What a nice kind of work.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
diff
changeset
|
21 #define UIGUISETTINGS_H |
94734b9eb54f
Renamed the source files and some classes to have consistent names. What a nice kind of work.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
diff
changeset
|
22 |
94734b9eb54f
Renamed the source files and some classes to have consistent names. What a nice kind of work.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
diff
changeset
|
23 #include <QObject> |
94734b9eb54f
Renamed the source files and some classes to have consistent names. What a nice kind of work.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
diff
changeset
|
24 #include <QStringList> |
751
ac165b6ae67e
Done some refactoring:
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
731
diff
changeset
|
25 #include <QMultiMap> |
ac165b6ae67e
Done some refactoring:
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
731
diff
changeset
|
26 #include <QSharedPointer> |
ac165b6ae67e
Done some refactoring:
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
731
diff
changeset
|
27 |
ac165b6ae67e
Done some refactoring:
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
731
diff
changeset
|
28 class QSettings; |
ac165b6ae67e
Done some refactoring:
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
731
diff
changeset
|
29 |
638
94734b9eb54f
Renamed the source files and some classes to have consistent names. What a nice kind of work.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
diff
changeset
|
30 |
94734b9eb54f
Renamed the source files and some classes to have consistent names. What a nice kind of work.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
diff
changeset
|
31 class UiGuiSettings : public QObject |
94734b9eb54f
Renamed the source files and some classes to have consistent names. What a nice kind of work.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
diff
changeset
|
32 { |
714
3363b7bb0d41
Once more let Uncrustify reformat my code.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
648
diff
changeset
|
33 Q_OBJECT |
638
94734b9eb54f
Renamed the source files and some classes to have consistent names. What a nice kind of work.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
diff
changeset
|
34 private: |
94734b9eb54f
Renamed the source files and some classes to have consistent names. What a nice kind of work.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
diff
changeset
|
35 UiGuiSettings(); |
751
ac165b6ae67e
Done some refactoring:
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
731
diff
changeset
|
36 static QWeakPointer<UiGuiSettings> _instance; |
638
94734b9eb54f
Renamed the source files and some classes to have consistent names. What a nice kind of work.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
diff
changeset
|
37 |
94734b9eb54f
Renamed the source files and some classes to have consistent names. What a nice kind of work.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
diff
changeset
|
38 public: |
751
ac165b6ae67e
Done some refactoring:
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
731
diff
changeset
|
39 static QSharedPointer<UiGuiSettings> getInstance(); |
638
94734b9eb54f
Renamed the source files and some classes to have consistent names. What a nice kind of work.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
diff
changeset
|
40 ~UiGuiSettings(); |
728
d1493c2ffca1
Big code parts of UiGuiSettings rewritten to handle connection to widgets and other slots easier, specially when adding new settings.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
727
diff
changeset
|
41 |
d1493c2ffca1
Big code parts of UiGuiSettings rewritten to handle connection to widgets and other slots easier, specially when adding new settings.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
727
diff
changeset
|
42 bool registerObjectProperty(QObject *obj, const QString &propertyName, const QString &settingName); |
d1493c2ffca1
Big code parts of UiGuiSettings rewritten to handle connection to widgets and other slots easier, specially when adding new settings.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
727
diff
changeset
|
43 bool registerObjectPropertyRecursive(QObject *obj); |
731
ca1bafc93ee2
Drastically simplified the connection between QObject properties and the settings. Thus the UiGuiSettingsDialog widgets do no longer need to have a special object name. Instead they need custom properties "connectedPropertyName" and "connectedSettingName" set, which then can be used to create the connection to the setting.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
728
diff
changeset
|
44 bool setObjectPropertyToSettingValue(QObject *obj, const QString &propertyName, const QString &settingName); |
ca1bafc93ee2
Drastically simplified the connection between QObject properties and the settings. Thus the UiGuiSettingsDialog widgets do no longer need to have a special object name. Instead they need custom properties "connectedPropertyName" and "connectedSettingName" set, which then can be used to create the connection to the setting.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
728
diff
changeset
|
45 bool setObjectPropertyToSettingValueRecursive(QObject *obj); |
ca1bafc93ee2
Drastically simplified the connection between QObject properties and the settings. Thus the UiGuiSettingsDialog widgets do no longer need to have a special object name. Instead they need custom properties "connectedPropertyName" and "connectedSettingName" set, which then can be used to create the connection to the setting.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
728
diff
changeset
|
46 bool setSettingToObjectPropertyValue(QObject *obj, const QString &propertyName, const QString &settingName); |
ca1bafc93ee2
Drastically simplified the connection between QObject properties and the settings. Thus the UiGuiSettingsDialog widgets do no longer need to have a special object name. Instead they need custom properties "connectedPropertyName" and "connectedSettingName" set, which then can be used to create the connection to the setting.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
728
diff
changeset
|
47 bool setSettingToObjectPropertyValueRecursive(QObject *obj); |
728
d1493c2ffca1
Big code parts of UiGuiSettings rewritten to handle connection to widgets and other slots easier, specially when adding new settings.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
727
diff
changeset
|
48 bool registerObjectSlot(QObject *obj, const QString &slotName, const QString &settingName); |
714
3363b7bb0d41
Once more let Uncrustify reformat my code.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
648
diff
changeset
|
49 QVariant getValueByName(QString settingName); |
3363b7bb0d41
Once more let Uncrustify reformat my code.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
648
diff
changeset
|
50 QStringList getAvailableTranslations(); |
638
94734b9eb54f
Renamed the source files and some classes to have consistent names. What a nice kind of work.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
diff
changeset
|
51 |
94734b9eb54f
Renamed the source files and some classes to have consistent names. What a nice kind of work.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
diff
changeset
|
52 public slots: |
728
d1493c2ffca1
Big code parts of UiGuiSettings rewritten to handle connection to widgets and other slots easier, specially when adding new settings.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
727
diff
changeset
|
53 void setValueByName(const QString &settingName, const QVariant &value); |
d1493c2ffca1
Big code parts of UiGuiSettings rewritten to handle connection to widgets and other slots easier, specially when adding new settings.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
727
diff
changeset
|
54 void unregisterObjectProperty(QObject *obj); |
d1493c2ffca1
Big code parts of UiGuiSettings rewritten to handle connection to widgets and other slots easier, specially when adding new settings.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
727
diff
changeset
|
55 void unregisterObjectSlot(QObject *obj, const QString &slotName = "", const QString &settingName = ""); |
638
94734b9eb54f
Renamed the source files and some classes to have consistent names. What a nice kind of work.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
diff
changeset
|
56 |
728
d1493c2ffca1
Big code parts of UiGuiSettings rewritten to handle connection to widgets and other slots easier, specially when adding new settings.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
727
diff
changeset
|
57 protected: |
d1493c2ffca1
Big code parts of UiGuiSettings rewritten to handle connection to widgets and other slots easier, specially when adding new settings.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
727
diff
changeset
|
58 bool initSettings(); |
d1493c2ffca1
Big code parts of UiGuiSettings rewritten to handle connection to widgets and other slots easier, specially when adding new settings.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
727
diff
changeset
|
59 bool invokeMethodWithValue(QObject *obj, QMetaMethod mMethod, QVariant value); |
731
ca1bafc93ee2
Drastically simplified the connection between QObject properties and the settings. Thus the UiGuiSettingsDialog widgets do no longer need to have a special object name. Instead they need custom properties "connectedPropertyName" and "connectedSettingName" set, which then can be used to create the connection to the setting.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
728
diff
changeset
|
60 bool checkCustomPropertiesAndCallFunction(QObject *obj, bool (UiGuiSettings::*callBackFunc)(QObject *obj, const QString &propertyName, const QString &settingName)); |
728
d1493c2ffca1
Big code parts of UiGuiSettings rewritten to handle connection to widgets and other slots easier, specially when adding new settings.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
727
diff
changeset
|
61 |
d1493c2ffca1
Big code parts of UiGuiSettings rewritten to handle connection to widgets and other slots easier, specially when adding new settings.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
727
diff
changeset
|
62 private slots: |
d1493c2ffca1
Big code parts of UiGuiSettings rewritten to handle connection to widgets and other slots easier, specially when adding new settings.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
727
diff
changeset
|
63 void handleObjectPropertyChange(); |
638
94734b9eb54f
Renamed the source files and some classes to have consistent names. What a nice kind of work.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
diff
changeset
|
64 |
94734b9eb54f
Renamed the source files and some classes to have consistent names. What a nice kind of work.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
diff
changeset
|
65 private: |
714
3363b7bb0d41
Once more let Uncrustify reformat my code.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
648
diff
changeset
|
66 void readAvailableTranslations(); |
638
94734b9eb54f
Renamed the source files and some classes to have consistent names. What a nice kind of work.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
diff
changeset
|
67 |
714
3363b7bb0d41
Once more let Uncrustify reformat my code.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
648
diff
changeset
|
68 //! Stores the mnemonics of the available translations. |
751
ac165b6ae67e
Done some refactoring:
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
731
diff
changeset
|
69 QStringList _availableTranslations; |
638
94734b9eb54f
Renamed the source files and some classes to have consistent names. What a nice kind of work.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
diff
changeset
|
70 |
94734b9eb54f
Renamed the source files and some classes to have consistent names. What a nice kind of work.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
diff
changeset
|
71 //! The settings file. |
751
ac165b6ae67e
Done some refactoring:
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
731
diff
changeset
|
72 QSettings *_qsettings; |
638
94734b9eb54f
Renamed the source files and some classes to have consistent names. What a nice kind of work.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
diff
changeset
|
73 |
728
d1493c2ffca1
Big code parts of UiGuiSettings rewritten to handle connection to widgets and other slots easier, specially when adding new settings.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
727
diff
changeset
|
74 //! Maps an QObject to a string list containing the property name and the associated setting name. |
751
ac165b6ae67e
Done some refactoring:
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
731
diff
changeset
|
75 QMap<QObject*, QStringList> _registeredObjectProperties; |
728
d1493c2ffca1
Big code parts of UiGuiSettings rewritten to handle connection to widgets and other slots easier, specially when adding new settings.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
727
diff
changeset
|
76 |
d1493c2ffca1
Big code parts of UiGuiSettings rewritten to handle connection to widgets and other slots easier, specially when adding new settings.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
727
diff
changeset
|
77 //! Maps QObjects to a string list containing the method name and the associated setting name. |
751
ac165b6ae67e
Done some refactoring:
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
731
diff
changeset
|
78 QMultiMap<QObject*, QStringList> _registeredObjectSlots; |
638
94734b9eb54f
Renamed the source files and some classes to have consistent names. What a nice kind of work.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
diff
changeset
|
79 |
751
ac165b6ae67e
Done some refactoring:
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
731
diff
changeset
|
80 QString _indenterDirctoryStr; |
638
94734b9eb54f
Renamed the source files and some classes to have consistent names. What a nice kind of work.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
diff
changeset
|
81 }; |
94734b9eb54f
Renamed the source files and some classes to have consistent names. What a nice kind of work.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
diff
changeset
|
82 |
94734b9eb54f
Renamed the source files and some classes to have consistent names. What a nice kind of work.
thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
parents:
diff
changeset
|
83 #endif // UIGUISETTINGS_H |