Subversion Repositories Scribus

Rev

Rev 415 | Rev 455 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
415 Franz 1
/***************************************************************************
2
 *   Copyright (C) 2004 by Riku Leino                                      *
3
 *   tsoots@welho.com                                                      *
4
 *                                                                         *
5
 *   This program is free software; you can redistribute it and/or modify  *
6
 *   it under the terms of the GNU General Public License as published by  *
7
 *   the Free Software Foundation; either version 2 of the License, or     *
8
 *   (at your option) any later version.                                   *
9
 *                                                                         *
10
 *   This program is distributed in the hope that it will be useful,       *
11
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
12
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
13
 *   GNU General Public License for more details.                          *
14
 *                                                                         *
15
 *   You should have received a copy of the GNU General Public License     *
16
 *   along with this program; if not, write to the                         *
17
 *   Free Software Foundation, Inc.,                                       *
18
 *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
19
 ***************************************************************************/
20
 
21
#include "prefscontext.h"
22
 
23
PrefsContext::PrefsContext()
24
{
25
        name = "";
26
        ispersistent = false;
27
        isplugin = false;
28
}
29
 
30
PrefsContext::PrefsContext(QString contextName, bool persistent, bool plugin)
31
{
32
        name = contextName;
33
        ispersistent = persistent;
34
        isplugin = plugin;
35
}
36
 
37
QString PrefsContext::getName()
38
{
39
        return name;
40
}
41
 
42
bool PrefsContext::isPersistent()
43
{
44
        return ispersistent;
45
}
46
 
47
bool PrefsContext::isPlugin()
48
{
49
        return isplugin;
50
}
51
 
52
bool PrefsContext::isEmpty()
53
{
54
        return (values.size() == 0 && tables.size() == 0);
55
}
56
 
57
bool PrefsContext::contains(const QString& key)
58
{
59
        return values.contains(key);
60
}
61
 
62
bool PrefsContext::containsTable(const QString& key)
63
{
64
        return tables.contains(key);
65
}
66
 
67
QString PrefsContext::get(const QString& key, const QString& defValue)
68
{
69
        if (!values.contains(key))
70
                values[key] = defValue;
71
 
72
        return values[key];
73
}
74
 
75
void PrefsContext::set(const QString& key, const char* value)
76
{
77
        set(key, QString(value));
78
}
79
 
80
void PrefsContext::set(const QString& key, const std::string& value)
81
{
82
        set(key, QString(value.c_str()));
83
}
84
 
85
void PrefsContext::set(const QString& key, const QString& value)
86
{
87
        values[key] = value;
88
}
89
 
90
int PrefsContext::getInt(const QString& key, int defValue)
91
{
92
        if (!values.contains(key))
93
                set(key, defValue);
94
        QString stringValue = values[key];
95
        bool ok = false;
96
        int ivalue = stringValue.toInt(&ok);
97
        if (!ok)
98
                ivalue = defValue;
99
        return ivalue;
100
}
101
 
102
uint PrefsContext::getUInt(const QString& key, uint defValue)
103
{
104
        if (!values.contains(key))
105
                set(key, QString("%1").arg(defValue));
106
        QString stringValue = values[key];
107
        bool ok = false;
108
        int uivalue = stringValue.toUInt(&ok);
109
        if (!ok)
110
                uivalue = defValue;
111
        return uivalue;
112
}
113
 
114
void PrefsContext::set(const QString& key, int value)
115
{
116
        set(key, QString("%1").arg(value));
117
}
118
 
119
double PrefsContext::getDouble(const QString& key, double defValue)
120
{
121
        if (!values.contains(key))
122
                set(key, defValue);
123
        QString stringValue = values[key];
124
        bool ok = false;
125
        double dvalue = stringValue.toDouble(&ok);
126
        if (!ok)
127
                dvalue = defValue;
128
        return dvalue;
129
}
130
 
131
void PrefsContext::set(const QString& key, double value)
132
{
133
        set(key, QString("%1").arg(value));
134
}
135
 
136
bool PrefsContext::getBool(const QString& key, bool defValue)
137
{
138
        if (!values.contains(key))
139
                set(key, defValue);
140
        QString stringValue = values[key];
141
        bool ok = false;
142
        int ivalue = stringValue.toInt(&ok);
143
        if (!ok)
144
                ivalue = defValue;
145
        return ivalue;
146
}
147
 
148
void PrefsContext::set(const QString& key, bool value)
149
{
150
        set(key, QString("%1").arg(value));
151
}
152
 
153
PrefsTable* PrefsContext::getTable(const QString& name)
154
{
155
        if (!tables.contains(name))
156
                tables[name] = new PrefsTable(name);
157
        return tables[name];
158
}
159
 
418 Franz 160
void PrefsContext::removeTable(const QString& name)
161
{
162
        tables.remove(name);
163
}
164
 
415 Franz 165
PrefsContext::~PrefsContext()
166
{
167
        TableMap::Iterator it;
168
        for (it = tables.begin(); it != tables.end(); ++it)
169
                delete it.data();
170
}