-rw-r--r-- | library/config.h | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/library/config.h b/library/config.h index af61777..a2f9b2d 100644 --- a/library/config.h +++ b/library/config.h | |||
@@ -1,109 +1,109 @@ | |||
1 | /********************************************************************** | 1 | /********************************************************************** |
2 | ** Copyright (C) 2000 Trolltech AS. All rights reserved. | 2 | ** Copyright (C) 2000 Trolltech AS. All rights reserved. |
3 | ** | 3 | ** |
4 | ** This file is part of Qtopia Environment. | 4 | ** This file is part of Qtopia Environment. |
5 | ** | 5 | ** |
6 | ** This file may be distributed and/or modified under the terms of the | 6 | ** This file may be distributed and/or modified under the terms of the |
7 | ** GNU General Public License version 2 as published by the Free Software | 7 | ** GNU General Public License version 2 as published by the Free Software |
8 | ** Foundation and appearing in the file LICENSE.GPL included in the | 8 | ** Foundation and appearing in the file LICENSE.GPL included in the |
9 | ** packaging of this file. | 9 | ** packaging of this file. |
10 | ** | 10 | ** |
11 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE | 11 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE |
12 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. | 12 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. |
13 | ** | 13 | ** |
14 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. | 14 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. |
15 | ** | 15 | ** |
16 | ** Contact info@trolltech.com if any conditions of this licensing are | 16 | ** Contact info@trolltech.com if any conditions of this licensing are |
17 | ** not clear to you. | 17 | ** not clear to you. |
18 | ** | 18 | ** |
19 | **********************************************************************/ | 19 | **********************************************************************/ |
20 | 20 | ||
21 | #ifndef CONFIG_H | 21 | #ifndef CONFIG_H |
22 | #define CONFIG_H | 22 | #define CONFIG_H |
23 | 23 | ||
24 | // ##### could use QSettings with Qt 3.0 | 24 | // ##### could use QSettings with Qt 3.0 |
25 | 25 | ||
26 | #include <qmap.h> | 26 | #include <qmap.h> |
27 | #include <qstringlist.h> | 27 | #include <qstringlist.h> |
28 | 28 | ||
29 | class ConfigPrivate; | 29 | class ConfigPrivate; |
30 | class Config | 30 | class Config |
31 | { | 31 | { |
32 | public: | 32 | public: |
33 | typedef QMap< QString, QString > ConfigGroup; | 33 | typedef QMap< QString, QString > ConfigGroup; |
34 | 34 | ||
35 | enum Domain { File, User }; | 35 | enum Domain { File, User }; |
36 | Config( const QString &name, Domain domain=User ); | 36 | Config( const QString &name, Domain domain=User ); |
37 | ~Config(); | 37 | ~Config(); |
38 | 38 | ||
39 | bool operator == ( const Config & other ) const { return (filename == other.filename); } | 39 | bool operator == ( const Config & other ) const { return (filename == other.filename); } |
40 | bool operator != ( const Config & other ) const { return (filename != other.filename); } | 40 | bool operator != ( const Config & other ) const { return (filename != other.filename); } |
41 | 41 | ||
42 | bool isValid() const; | 42 | bool isValid() const; |
43 | bool hasKey( const QString &key ) const; | 43 | bool hasKey( const QString &key ) const; |
44 | 44 | ||
45 | // inline for better SharpROM BC | 45 | // inline for better SharpROM BC |
46 | inline bool hasGroup ( const QString &gname ) const { return ( groups. find ( gname ) != groups. end ( )); }; | 46 | inline bool hasGroup ( const QString &gname ) const { return ( groups. find ( gname ) != groups. end ( )); }; |
47 | inline QStringList groupList ( ) const { QStringList sl; for ( QMap< QString, ConfigGroup >::ConstIterator it = groups. begin ( ); it != groups. end ( ); ++it ) { sl << it.key(); } return sl; }; | 47 | inline QStringList groupList ( ) const { QStringList sl; for ( QMap< QString, ConfigGroup >::ConstIterator it = groups. begin ( ); it != groups. end ( ); ++it ) { sl << it.key(); } return sl; }; |
48 | 48 | ||
49 | void setGroup( const QString &gname ); | 49 | void setGroup( const QString &gname ); |
50 | void writeEntry( const QString &key, const char* value ); | 50 | void writeEntry( const QString &key, const char* value ); |
51 | void writeEntry( const QString &key, const QString &value ); | 51 | void writeEntry( const QString &key, const QString &value ); |
52 | void writeEntryCrypt( const QString &key, const QString &value ); | 52 | void writeEntryCrypt( const QString &key, const QString &value ); |
53 | void writeEntry( const QString &key, int num ); | 53 | void writeEntry( const QString &key, int num ); |
54 | #ifdef Q_HAS_BOOL_TYPE | 54 | #ifdef Q_HAS_BOOL_TYPE |
55 | void writeEntry( const QString &key, bool b ); | 55 | void writeEntry( const QString &key, bool b ); |
56 | #endif | 56 | #endif |
57 | void writeEntry( const QString &key, const QStringList &lst, const QChar &sep ); | 57 | void writeEntry( const QString &key, const QStringList &lst, const QChar &sep ); |
58 | void removeEntry( const QString &key ); | 58 | void removeEntry( const QString &key ); |
59 | 59 | ||
60 | QString readEntry( const QString &key, const QString &deflt = QString::null ) const; | 60 | QString readEntry( const QString &key, const QString &deflt = QString::null ) const; |
61 | QString readEntryCrypt( const QString &key, const QString &deflt = QString::null ) const; | 61 | QString readEntryCrypt( const QString &key, const QString &deflt = QString::null ) const; |
62 | QString readEntryDirect( const QString &key, const QString &deflt = QString::null ) const; | 62 | QString readEntryDirect( const QString &key, const QString &deflt = QString::null ) const; |
63 | int readNumEntry( const QString &key, int deflt = -1 ) const; | 63 | int readNumEntry( const QString &key, int deflt = -1 ) const; |
64 | bool readBoolEntry( const QString &key, bool deflt = FALSE ) const; | 64 | bool readBoolEntry( const QString &key, bool deflt = FALSE ) const; |
65 | QStringList readListEntry( const QString &key, const QChar &sep ) const; | 65 | QStringList readListEntry( const QString &key, const QChar &sep ) const; |
66 | 66 | ||
67 | // For compatibility, non-const versions. | 67 | // For compatibility, non-const versions. |
68 | QString readEntry( const QString &key, const QString &deflt ); | 68 | QString readEntry( const QString &key, const QString &deflt ); |
69 | QString readEntryCrypt( const QString &key, const QString &deflt ); | 69 | QString readEntryCrypt( const QString &key, const QString &deflt ); |
70 | QString readEntryDirect( const QString &key, const QString &deflt ); | 70 | QString readEntryDirect( const QString &key, const QString &deflt ); |
71 | int readNumEntry( const QString &key, int deflt ); | 71 | int readNumEntry( const QString &key, int deflt ); |
72 | bool readBoolEntry( const QString &key, bool deflt ); | 72 | bool readBoolEntry( const QString &key, bool deflt ); |
73 | QStringList readListEntry( const QString &key, const QChar &sep ); | 73 | QStringList readListEntry( const QString &key, const QChar &sep ); |
74 | 74 | ||
75 | void clearGroup(); | 75 | void clearGroup(); |
76 | 76 | ||
77 | void write( const QString &fn = QString::null ); | 77 | void write( const QString &fn = QString::null ); |
78 | 78 | ||
79 | protected: | 79 | protected: |
80 | void read(); | 80 | void read(); |
81 | bool parse( const QString &line ); | 81 | bool parse( const QString &line ); |
82 | 82 | ||
83 | QMap< QString, ConfigGroup > groups; | 83 | QMap< QString, ConfigGroup > groups; |
84 | QMap< QString, ConfigGroup >::Iterator git; | 84 | QMap< QString, ConfigGroup >::Iterator git; |
85 | QString filename; | 85 | QString filename; |
86 | QString lang; | 86 | QString lang; |
87 | QString glang; | 87 | QString glang; |
88 | bool changed; | 88 | bool changed; |
89 | ConfigPrivate *d; | 89 | ConfigPrivate *d; |
90 | static QString configFilename(const QString& name, Domain); | 90 | static QString configFilename(const QString& name, Domain); |
91 | 91 | ||
92 | private: // Sharp ROM compatibility | 92 | private: // Sharp ROM compatibility |
93 | Config( const QString &name, bool what ); | 93 | Config( const QString &name, bool what ); |
94 | }; | 94 | }; |
95 | 95 | ||
96 | inline QString Config::readEntry( const QString &key, const QString &deflt ) const | 96 | inline QString Config::readEntry( const QString &key, const QString &deflt ) const |
97 | { return ((Config*)this)->readEntry(key,deflt); } | 97 | { return ((Config*)this)->readEntry(key,deflt); } |
98 | inline QString Config::readEntryCrypt( const QString &key, const QString &deflt ) const | 98 | inline QString Config::readEntryCrypt( const QString &key, const QString &deflt ) const |
99 | { return ((Config*)this)->readEntryCrypt(key,deflt); } | 99 | { return ((Config*)this)->readEntryCrypt(key,deflt); } |
100 | inline QString Config::readEntryDirect( const QString &key, const QString &deflt ) const | 100 | inline QString Config::readEntryDirect( const QString &key, const QString &deflt ) const |
101 | { return ((Config*)this)->readEntryDirect(key,deflt); } | 101 | { return ((Config*)this)->readEntryDirect(key,deflt); } |
102 | inline int Config::readNumEntry( const QString &key, int deflt ) const | 102 | inline int Config::readNumEntry( const QString &key, int deflt ) const |
103 | { return ((Config*)this)->readNumEntry(key,deflt); } | 103 | { return ((Config*)this)->readNumEntry(key,deflt); } |
104 | inline bool Config::readBoolEntry( const QString &key, bool deflt ) const | 104 | inline bool Config::readBoolEntry( const QString &key, bool deflt ) const |
105 | { return ((Config*)this)->readBoolEntry(key,deflt); } | 105 | { return ((Config*)this)->readBoolEntry(key,deflt); } |
106 | inline QStringList Config::readListEntry( const QString &key, const QChar &sep ) const | 106 | inline QStringList Config::readListEntry( const QString &key, const QChar &sep ) const |
107 | { return ((Config*)this)->readListEntry(key,sep); } | 107 | { return ((Config*)this)->readListEntry(key,sep); } |
108 | 108 | ||
109 | #endif | 109 | #endif |