AppSettings returns the proxy type as QNetworkProxy instead of int now.
[debian/confclerk.git] / src / app / appsettings.cpp
1 /*
2  * Copyright (C) 2010 Ixonos Plc.
3  * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl
4  *
5  * This file is part of ConfClerk.
6  *
7  * ConfClerk is free software: you can redistribute it and/or modify it
8  * under the terms of the GNU General Public License as published by the Free
9  * Software Foundation, either version 2 of the License, or (at your option)
10  * any later version.
11  *
12  * ConfClerk is distributed in the hope that it will be useful, but
13  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14  * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
15  * more details.
16  *
17  * You should have received a copy of the GNU General Public License along with
18  * ConfClerk.  If not, see <http://www.gnu.org/licenses/>.
19  */
20 #include "appsettings.h"
21
22 const QString PROXY_ADDRESS_SETTING ("proxyAddress"); 
23 const QString PROXY_PORT_SETTING ("proxyPort"); 
24 const QString PROXY_TYPE_SETTING ("proxyType");
25 const QString PROXY_ISDIRECT_SETTING ("proxyIsDirectConnection");
26
27 QSettings AppSettings::mSettings("Toastfreeware", "ConfClerk");
28
29 QString AppSettings::proxyAddress()
30 {
31     return mSettings.value(PROXY_ADDRESS_SETTING).toString();
32 }
33
34 quint16 AppSettings::proxyPort()
35 {
36     return mSettings.value(PROXY_PORT_SETTING).toUInt();
37 }
38
39 QNetworkProxy::ProxyType AppSettings::proxyType()
40 {
41     bool ok;
42     int proxyType = mSettings.value(PROXY_TYPE_SETTING).toInt(&ok);
43     if (!ok || proxyType < 0 || proxyType > 5) return QNetworkProxy::DefaultProxy;
44     return QNetworkProxy::ProxyType(proxyType);
45 }
46
47 bool AppSettings::isDirectConnection()
48 {
49     return mSettings.value(PROXY_ISDIRECT_SETTING).toBool();
50 }
51
52 void AppSettings::setProxyAddress(const QString &aAddress)
53 {
54     mSettings.setValue(PROXY_ADDRESS_SETTING, aAddress);
55 }
56
57 void AppSettings::setProxyPort(const quint16 aPort)
58 {
59     mSettings.setValue(PROXY_PORT_SETTING, aPort);
60 }
61
62 void AppSettings::setProxyType(QNetworkProxy::ProxyType aProxyType)
63 {
64     mSettings.setValue(PROXY_TYPE_SETTING, aProxyType);
65 }
66
67 void AppSettings::setDirectConnection(bool aDirectConnection)
68 {
69     mSettings.setValue(PROXY_ISDIRECT_SETTING, aDirectConnection);
70 }
71
72 bool AppSettings::contains(const QString &aKey)
73 {
74     return mSettings.contains(aKey);
75 }
76