Scribus
Open source desktop publishing at your fingertips
prefsfile.h
1 /*
2 For general Scribus (>=1.3.2) copyright and licensing information please refer
3 to the COPYING file provided with the program. Following this notice may exist
4 a copyright and/or license notice that predates the release of Scribus 1.3.2
5 for which a new license (GPL+exception) is in place.
6 */
7 /***************************************************************************
8  * Copyright (C) 2004 by Riku Leino *
9  * tsoots@gmail.com *
10  * *
11  * This program is free software; you can redistribute it and/or modify *
12  * it under the terms of the GNU General Public License as published by *
13  * the Free Software Foundation; either version 2 of the License, or *
14  * (at your option) any later version. *
15  * *
16  * This program is distributed in the hope that it will be useful, *
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
19  * GNU General Public License for more details. *
20  * *
21  * You should have received a copy of the GNU General Public License *
22  * along with this program; if not, write to the *
23  * Free Software Foundation, Inc., *
24  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
25  ***************************************************************************/
26 
27 #ifndef PREFSFILE_H
28 #define PREFSFILE_H
29 
30 #include <QMap>
31 #include <QTextStream>
32 
33 #include "scribusapi.h"
34 #include "prefscontext.h"
35 
36 typedef QMap<QString, PrefsContext*> ContextMap;
37 
38 class SCRIBUS_API PrefsFile
39 {
40 private:
41  QString prefsFilePath;
42  ContextMap contexts;
43  ContextMap pluginContexts;
44  ContextMap userprefsContexts;
45  bool ioEnabled;
46  void load();
47  QString replaceIllegalChars(const QString& text);
48  void writeContexts(ContextMap* contextMap, QTextStream& stream);
49  void canWrite();
50 public:
51  PrefsFile();
52  PrefsFile(const QString& pFilePath, bool write = true);
53  ~PrefsFile();
54  bool hasContext(const QString& contextName) const;
55  PrefsContext* getContext(const QString& contextName, bool persistent = true);
56  PrefsContext* getPluginContext(const QString& contextName, bool persistent = true);
57  PrefsContext* getUserPrefsContext(const QString& contextName, bool persistent = true);
58  void write();
59 };
60 
61 #endif // PREFSFILE_H
Definition: prefscontext.h:40
Definition: prefsfile.h:38