summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opiecore/oconfig.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/libopie2/opiecore/oconfig.h b/libopie2/opiecore/oconfig.h
index 8c3060c..ab95dc3 100644
--- a/libopie2/opiecore/oconfig.h
+++ b/libopie2/opiecore/oconfig.h
@@ -1,28 +1,29 @@
1/* 1/*
2                 This file is part of the Opie Project 2                 This file is part of the Opie Project
3 3
4 (C) 2003 Michael 'Mickey' Lauer <mickey@tm.informatik.uni-frankfurt.de> 4 (C) 2003 Michael 'Mickey' Lauer <mickey@tm.informatik.uni-frankfurt.de>
5
5 Inspired by the config classes from the KDE Project which are 6 Inspired by the config classes from the KDE Project which are
6 =. (C) 1997 Matthias Kalle Dalheimer <kalle@kde.org> 7 =. (C) 1997 Matthias Kalle Dalheimer <kalle@kde.org>
7 .=l. 8 .=l.
8           .>+-= 9           .>+-=
9 _;:,     .>    :=|. This program is free software; you can 10 _;:,     .>    :=|. This program is free software; you can
10.> <`_,   >  .   <= redistribute it and/or modify it under 11.> <`_,   >  .   <= redistribute it and/or modify it under
11:`=1 )Y*s>-.--   : the terms of the GNU Library General Public 12:`=1 )Y*s>-.--   : the terms of the GNU Library General Public
12.="- .-=="i,     .._ License as published by the Free Software 13.="- .-=="i,     .._ License as published by the Free Software
13 - .   .-<_>     .<> Foundation; either version 2 of the License, 14 - .   .-<_>     .<> Foundation; either version 2 of the License,
14     ._= =}       : or (at your option) any later version. 15     ._= =}       : or (at your option) any later version.
15    .%`+i>       _;_. 16    .%`+i>       _;_.
16    .i_,=:_.      -<s. This program is distributed in the hope that 17    .i_,=:_.      -<s. This program is distributed in the hope that
17     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY; 18     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
18    : ..    .:,     . . . without even the implied warranty of 19    : ..    .:,     . . . without even the implied warranty of
19    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A 20    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
20  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU 21  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU
21..}^=.=       =       ; Library General Public License for more 22..}^=.=       =       ; Library General Public License for more
22++=   -.     .`     .: details. 23++=   -.     .`     .: details.
23 :     =  ...= . :.=- 24 :     =  ...= . :.=-
24 -.   .:....=;==+<; You should have received a copy of the GNU 25 -.   .:....=;==+<; You should have received a copy of the GNU
25  -_. . .   )=.  = Library General Public License along with 26  -_. . .   )=.  = Library General Public License along with
26    --        :-=` this library; see the file COPYING.LIB. 27    --        :-=` this library; see the file COPYING.LIB.
27 If not, write to the Free Software Foundation, 28 If not, write to the Free Software Foundation,
28 Inc., 59 Temple Place - Suite 330, 29 Inc., 59 Temple Place - Suite 330,
@@ -87,48 +88,56 @@ private:
87 * 88 *
88 * Careful programmers always set the group of a 89 * Careful programmers always set the group of a
89 * @ref OConfig object to the group they want to read from 90 * @ref OConfig object to the group they want to read from
90 * and set it back to the old one of afterwards. This is usually 91 * and set it back to the old one of afterwards. This is usually
91 * written as: 92 * written as:
92 * <pre> 93 * <pre>
93 * 94 *
94 * QString oldgroup config()->group(); 95 * QString oldgroup config()->group();
95 * config()->setGroup( "TheGroupThatIWant" ); 96 * config()->setGroup( "TheGroupThatIWant" );
96 * ... 97 * ...
97 * config()->writeEntry( "Blah", "Blubb" ); 98 * config()->writeEntry( "Blah", "Blubb" );
98 * 99 *
99 * config()->setGroup( oldgroup ); 100 * config()->setGroup( oldgroup );
100 * </pre> 101 * </pre>
101 * 102 *
102 * In order to facilitate this task, you can use 103 * In order to facilitate this task, you can use
103 * OConfigGroupSaver. Simply construct such an object ON THE STACK 104 * OConfigGroupSaver. Simply construct such an object ON THE STACK
104 * when you want to switch to a new group. Then, when the object goes 105 * when you want to switch to a new group. Then, when the object goes
105 * out of scope, the group will automatically be restored. If you 106 * out of scope, the group will automatically be restored. If you
106 * want to use several different groups within a function or method, 107 * want to use several different groups within a function or method,
107 * you can still use OConfigGroupSaver: Simply enclose all work with 108 * you can still use OConfigGroupSaver: Simply enclose all work with
108 * one group (including the creation of the OConfigGroupSaver object) 109 * one group (including the creation of the OConfigGroupSaver object)
109 * in one block. 110 * in one block.
110 * 111 *
112 * \code
113 * OConfigGroupSaver saver(cfg,"TheGroupThatInWhat");
114 * \endcode
115 *
116 * Note that OConfigGroupSaver (cfg,"TheGroupThatInWhat"); would get imediately
117 * destructed after created and that you would save in the old group which
118 * is unwished.
119 *
111 * @author Matthias Kalle Dalheimer <Kalle@kde.org> 120 * @author Matthias Kalle Dalheimer <Kalle@kde.org>
112 * @version $Id$ 121 * @version $Id$
113 * @see OConfig 122 * @see OConfig
114 */ 123 */
115 124
116class OConfigGroupSaver 125class OConfigGroupSaver
117{ 126{
118 public: 127 public:
119 /** 128 /**
120 * Constructor. 129 * Constructor.
121 * Create the object giving a @config object and a @a group to become 130 * Create the object giving a @config object and a @a group to become
122 * the current group. 131 * the current group.
123 */ 132 */
124 OConfigGroupSaver( OConfig* config, QString group ) :_config(config), _oldgroup(config->group() ) 133 OConfigGroupSaver( OConfig* config, QString group ) :_config(config), _oldgroup(config->group() )
125 { _config->setGroup( group ); } 134 { _config->setGroup( group ); }
126 135
127 OConfigGroupSaver( OConfig* config, const char *group ) :_config(config), _oldgroup(config->group()) 136 OConfigGroupSaver( OConfig* config, const char *group ) :_config(config), _oldgroup(config->group())
128 { _config->setGroup( group ); } 137 { _config->setGroup( group ); }
129 138
130 OConfigGroupSaver( OConfig* config, const QCString &group ) : _config(config), _oldgroup(config->group()) 139 OConfigGroupSaver( OConfig* config, const QCString &group ) : _config(config), _oldgroup(config->group())
131 { _config->setGroup( group ); } 140 { _config->setGroup( group ); }
132 /** 141 /**
133 * Destructor. 142 * Destructor.
134 * Restores the last current group. 143 * Restores the last current group.