annotate demos/browser/settings.d @ 113:8636c819ce4d

more porting
author mandel
date Wed, 03 Jun 2009 14:35:25 +0000
parents dcd36d8db2da
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
45
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
1 /****************************************************************************
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
2 **
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
3 ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
4 ** Contact: Qt Software Information (qt-info@nokia.com)
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
5 **
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
6 ** This file is part of the demonstration applications of the Qt Toolkit.
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
7 **
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
8 ** $QT_BEGIN_LICENSE:LGPL$
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
9 ** Commercial Usage
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
10 ** Licensees holding valid Qt Commercial licenses may use this file in
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
11 ** accordance with the Qt Commercial License Agreement provided with the
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
12 ** Software or, alternatively, in accordance with the terms contained in
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
13 ** a written agreement between you and Nokia.
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
14 **
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
15 ** GNU Lesser General Public License Usage
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
16 ** Alternatively, this file may be used under the terms of the GNU Lesser
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
17 ** General Public License version 2.1 as published by the Free Software
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
18 ** Foundation and appearing in the file LICENSE.LGPL included in the
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
19 ** packaging of this file. Please review the following information to
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
20 ** ensure the GNU Lesser General Public License version 2.1 requirements
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
21 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
22 **
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
23 ** In addition, as a special exception, Nokia gives you certain
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
24 ** additional rights. These rights are described in the Nokia Qt LGPL
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
26 ** package.
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
27 **
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
28 ** GNU General Public License Usage
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
29 ** Alternatively, this file may be used under the terms of the GNU
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
30 ** General Public License version 3.0 as published by the Free Software
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
31 ** Foundation and appearing in the file LICENSE.GPL included in the
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
32 ** packaging of this file. Please review the following information to
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
33 ** ensure the GNU General Public License version 3.0 requirements will be
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
34 ** met: http://www.gnu.org/copyleft/gpl.html.
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
35 **
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
36 ** If you are unsure which license is appropriate for your use, please
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
37 ** contact the sales department at qt-sales@nokia.com.
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
38 ** $QT_END_LICENSE$
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
39 **
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
40 ****************************************************************************/
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
41 module settings;
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
42
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
43
73
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
44 import qt.core.QSettings;
94
87bb4e622f9e more porting
mandel
parents: 80
diff changeset
45 //import qt.gui.QtGui; //TODO: needed?
73
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
46 import qt.gui.QDialog;
100
dcd36d8db2da more porting
mandel
parents: 94
diff changeset
47 //import qt.webkit.QtWebKit; //TODO: needed?
45
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
48
100
dcd36d8db2da more porting
mandel
parents: 94
diff changeset
49 import tango.text.convert.Format;
45
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
50
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
51 import browserapplication;
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
52 import browsermainwindow;
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
53 import cookiejar;
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
54 import history;
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
55 import networkaccessmanager;
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
56 import webview;
73
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
57 import ui_settings;
45
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
58
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
59
94
87bb4e622f9e more porting
mandel
parents: 80
diff changeset
60 class SettingsDialog : public QDialog //, public Ui_Settings
45
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
61 {
113
8636c819ce4d more porting
mandel
parents: 100
diff changeset
62 mixin Ui_Settings;
94
87bb4e622f9e more porting
mandel
parents: 80
diff changeset
63
45
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
64 public:
73
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
65
74
37caa90ce503 more porting
mandel
parents: 73
diff changeset
66 this(QWidget parent = null)
73
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
67 {
94
87bb4e622f9e more porting
mandel
parents: 80
diff changeset
68 super(this);
113
8636c819ce4d more porting
mandel
parents: 100
diff changeset
69 setupUi(this);
74
37caa90ce503 more porting
mandel
parents: 73
diff changeset
70 exceptionsButton.clicked.connect(&this.showExceptions);
37caa90ce503 more porting
mandel
parents: 73
diff changeset
71 setHomeToCurrentPageButton.clicked.connect(&this.setHomeToCurrentPage);
77
0654fc9bac95 more porting
mandel
parents: 74
diff changeset
72 cookiesButton.clicked.connect(&this.showCookies());
74
37caa90ce503 more porting
mandel
parents: 73
diff changeset
73 standardFontButton.clicked.connect(this.chooseFont);
37caa90ce503 more porting
mandel
parents: 73
diff changeset
74 fixedFontButton.clicked.connect(&this.chooseFixedFont);
45
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
75
73
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
76 loadDefaults();
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
77 loadFromSettings();
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
78 }
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
79
77
0654fc9bac95 more porting
mandel
parents: 74
diff changeset
80 void accept()
73
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
81 {
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
82 saveToSettings();
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
83 QDialog.accept();
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
84 }
45
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
85
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
86 private:
73
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
87
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
88 void loadDefaults()
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
89 {
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
90 QWebSettings defaultSettings = QWebSettings.globalSettings();
77
0654fc9bac95 more porting
mandel
parents: 74
diff changeset
91 string standardFontFamily = defaultSettings.fontFamily(QWebSettings.StandardFont);
73
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
92 int standardFontSize = defaultSettings.fontSize(QWebSettings.DefaultFontSize);
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
93 standardFont = QFont(standardFontFamily, standardFontSize);
80
85c59c4e5f19 remove QLatin1String and other fixes
mandel
parents: 77
diff changeset
94 standardLabel.setText(Format("{} {}", standardFont.family(), standardFont.pointSize()));
73
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
95
77
0654fc9bac95 more porting
mandel
parents: 74
diff changeset
96 string fixedFontFamily = defaultSettings.fontFamily(QWebSettings.FixedFont);
73
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
97 int fixedFontSize = defaultSettings.fontSize(QWebSettings.DefaultFixedFontSize);
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
98 fixedFont = QFont(fixedFontFamily, fixedFontSize);
80
85c59c4e5f19 remove QLatin1String and other fixes
mandel
parents: 77
diff changeset
99 fixedLabel.setText(Format("{} {}", fixedFont.family(), fixedFont.pointSize()));
73
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
100
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
101 downloadsLocation.setText(QDesktopServices.storageLocation(QDesktopServices.DesktopLocation));
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
102
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
103 enableJavascript.setChecked(defaultSettings.testAttribute(QWebSettings.JavascriptEnabled));
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
104 enablePlugins.setChecked(defaultSettings.testAttribute(QWebSettings.PluginsEnabled));
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
105 }
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
106
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
107 void loadFromSettings()
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
108 {
77
0654fc9bac95 more porting
mandel
parents: 74
diff changeset
109 auto settings = new QSettings;
80
85c59c4e5f19 remove QLatin1String and other fixes
mandel
parents: 77
diff changeset
110 settings.beginGroup("MainWindow");
85c59c4e5f19 remove QLatin1String and other fixes
mandel
parents: 77
diff changeset
111 string defaultHome = "http://qtsoftware.com";
85c59c4e5f19 remove QLatin1String and other fixes
mandel
parents: 77
diff changeset
112 homeLineEdit.setText(settings.value("home", defaultHome).toString());
73
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
113 settings.endGroup();
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
114
80
85c59c4e5f19 remove QLatin1String and other fixes
mandel
parents: 77
diff changeset
115 settings.beginGroup("history");
85c59c4e5f19 remove QLatin1String and other fixes
mandel
parents: 77
diff changeset
116 int historyExpire = settings.value("historyExpire").toInt();
73
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
117 int idx = 0;
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
118 switch (historyExpire) {
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
119 case 1: idx = 0; break;
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
120 case 7: idx = 1; break;
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
121 case 14: idx = 2; break;
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
122 case 30: idx = 3; break;
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
123 case 365: idx = 4; break;
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
124 case -1: idx = 5; break;
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
125 default:
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
126 idx = 5;
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
127 }
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
128 expireHistory.setCurrentIndex(idx);
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
129 settings.endGroup();
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
130
80
85c59c4e5f19 remove QLatin1String and other fixes
mandel
parents: 77
diff changeset
131 settings.beginGroup("downloadmanager");
85c59c4e5f19 remove QLatin1String and other fixes
mandel
parents: 77
diff changeset
132 string downloadDirectory = settings.value("downloadDirectory", downloadsLocation.text()).toString();
73
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
133 downloadsLocation.setText(downloadDirectory);
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
134 settings.endGroup();
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
135
80
85c59c4e5f19 remove QLatin1String and other fixes
mandel
parents: 77
diff changeset
136 settings.beginGroup("general");
85c59c4e5f19 remove QLatin1String and other fixes
mandel
parents: 77
diff changeset
137 openLinksIn.setCurrentIndex(settings.value("openLinksIn", openLinksIn.currentIndex()).toInt());
73
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
138
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
139 settings.endGroup();
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
140
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
141 // Appearance
80
85c59c4e5f19 remove QLatin1String and other fixes
mandel
parents: 77
diff changeset
142 settings.beginGroup("websettings");
85c59c4e5f19 remove QLatin1String and other fixes
mandel
parents: 77
diff changeset
143 fixedFont = new QFont(settings.value("fixedFont", fixedFont));
85c59c4e5f19 remove QLatin1String and other fixes
mandel
parents: 77
diff changeset
144 standardFont = new QFont(settings.value("standardFont", standardFont));
73
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
145
80
85c59c4e5f19 remove QLatin1String and other fixes
mandel
parents: 77
diff changeset
146 standardLabel.setText(Format("{} {}", standardFont.family(), standardFont.pointSize()));
85c59c4e5f19 remove QLatin1String and other fixes
mandel
parents: 77
diff changeset
147 fixedLabel.setText(Format("{} {}", fixedFont.family(), fixedFont.pointSize()));
73
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
148
80
85c59c4e5f19 remove QLatin1String and other fixes
mandel
parents: 77
diff changeset
149 enableJavascript.setChecked(settings.value("enableJavascript", enableJavascript.isChecked()).toBool());
85c59c4e5f19 remove QLatin1String and other fixes
mandel
parents: 77
diff changeset
150 enablePlugins.setChecked(settings.value("enablePlugins", enablePlugins.isChecked()).toBool());
85c59c4e5f19 remove QLatin1String and other fixes
mandel
parents: 77
diff changeset
151 userStyleSheet.setText(settings.value("userStyleSheet").toUrl().toString());
73
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
152 settings.endGroup();
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
153
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
154 // Privacy
80
85c59c4e5f19 remove QLatin1String and other fixes
mandel
parents: 77
diff changeset
155 settings.beginGroup("cookies");
73
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
156
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
157 CookieJar jar = BrowserApplication.cookieJar();
80
85c59c4e5f19 remove QLatin1String and other fixes
mandel
parents: 77
diff changeset
158 QByteArray value = settings.value("acceptCookies", "AcceptOnlyFromSitesNavigatedTo").toByteArray();
73
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
159 QMetaEnum acceptPolicyEnum = jar.staticMetaObject.enumerator(jar.staticMetaObject.indexOfEnumerator("AcceptPolicy"));
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
160 CookieJar.AcceptPolicy acceptCookies = acceptPolicyEnum.keyToValue(value) == -1 ? CookieJar.AcceptOnlyFromSitesNavigatedTo :
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
161 cast(CookieJar.AcceptPolicy) acceptPolicyEnum.keyToValue(value);
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
162 switch(acceptCookies) {
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
163 case CookieJar.AcceptAlways:
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
164 acceptCombo.setCurrentIndex(0);
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
165 break;
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
166 case CookieJar.AcceptNever:
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
167 acceptCombo.setCurrentIndex(1);
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
168 break;
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
169 case CookieJar.AcceptOnlyFromSitesNavigatedTo:
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
170 acceptCombo.setCurrentIndex(2);
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
171 break;
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
172 }
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
173
80
85c59c4e5f19 remove QLatin1String and other fixes
mandel
parents: 77
diff changeset
174 value = settings.value("keepCookiesUntil", "Expire").toByteArray();
73
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
175 QMetaEnum keepPolicyEnum = jar.staticMetaObject.enumerator(jar.staticMetaObject.indexOfEnumerator("KeepPolicy"));
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
176 CookieJar.KeepPolicy keepCookies = keepPolicyEnum.keyToValue(value) == -1 ? CookieJar.KeepUntilExpire :
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
177 cast(CookieJar.KeepPolicy)(keepPolicyEnum.keyToValue(value));
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
178 switch(keepCookies) {
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
179 case CookieJar.KeepUntilExpire:
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
180 keepUntilCombo.setCurrentIndex(0);
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
181 break;
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
182 case CookieJar.KeepUntilExit:
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
183 keepUntilCombo.setCurrentIndex(1);
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
184 break;
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
185 case CookieJar.KeepUntilTimeLimit:
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
186 keepUntilCombo.setCurrentIndex(2);
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
187 break;
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
188 }
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
189 settings.endGroup();
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
190
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
191 // Proxy
80
85c59c4e5f19 remove QLatin1String and other fixes
mandel
parents: 77
diff changeset
192 settings.beginGroup("proxy");
85c59c4e5f19 remove QLatin1String and other fixes
mandel
parents: 77
diff changeset
193 proxySupport.setChecked(settings.value("enabled", false).toBool());
85c59c4e5f19 remove QLatin1String and other fixes
mandel
parents: 77
diff changeset
194 proxyType.setCurrentIndex(settings.value("type", 0).toInt());
85c59c4e5f19 remove QLatin1String and other fixes
mandel
parents: 77
diff changeset
195 proxyHostName.setText(settings.value("hostName").toString());
85c59c4e5f19 remove QLatin1String and other fixes
mandel
parents: 77
diff changeset
196 proxyPort.setValue(settings.value("port", 1080).toInt());
85c59c4e5f19 remove QLatin1String and other fixes
mandel
parents: 77
diff changeset
197 proxyUserName.setText(settings.value("userName").toString());
85c59c4e5f19 remove QLatin1String and other fixes
mandel
parents: 77
diff changeset
198 proxyPassword.setText(settings.value("password").toString());
73
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
199 settings.endGroup();
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
200 }
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
201
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
202 void saveToSettings()
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
203 {
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
204 QSettings settings;
80
85c59c4e5f19 remove QLatin1String and other fixes
mandel
parents: 77
diff changeset
205 settings.beginGroup("MainWindow");
85c59c4e5f19 remove QLatin1String and other fixes
mandel
parents: 77
diff changeset
206 settings.setValue("home", homeLineEdit.text());
73
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
207 settings.endGroup();
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
208
80
85c59c4e5f19 remove QLatin1String and other fixes
mandel
parents: 77
diff changeset
209 settings.beginGroup("general");
85c59c4e5f19 remove QLatin1String and other fixes
mandel
parents: 77
diff changeset
210 settings.setValue("openLinksIn", openLinksIn.currentIndex());
73
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
211 settings.endGroup();
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
212
80
85c59c4e5f19 remove QLatin1String and other fixes
mandel
parents: 77
diff changeset
213 settings.beginGroup("history");
73
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
214 int historyExpire = expireHistory.currentIndex();
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
215 int idx = -1;
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
216 switch (historyExpire) {
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
217 case 0: idx = 1; break;
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
218 case 1: idx = 7; break;
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
219 case 2: idx = 14; break;
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
220 case 3: idx = 30; break;
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
221 case 4: idx = 365; break;
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
222 case 5: idx = -1; break;
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
223 }
80
85c59c4e5f19 remove QLatin1String and other fixes
mandel
parents: 77
diff changeset
224 settings.setValue("historyExpire", idx);
73
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
225 settings.endGroup();
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
226
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
227 // Appearance
80
85c59c4e5f19 remove QLatin1String and other fixes
mandel
parents: 77
diff changeset
228 settings.beginGroup("websettings");
85c59c4e5f19 remove QLatin1String and other fixes
mandel
parents: 77
diff changeset
229 settings.setValue("fixedFont", fixedFont);
85c59c4e5f19 remove QLatin1String and other fixes
mandel
parents: 77
diff changeset
230 settings.setValue("standardFont", standardFont);
85c59c4e5f19 remove QLatin1String and other fixes
mandel
parents: 77
diff changeset
231 settings.setValue("enableJavascript", enableJavascript.isChecked());
85c59c4e5f19 remove QLatin1String and other fixes
mandel
parents: 77
diff changeset
232 settings.setValue("enablePlugins", enablePlugins.isChecked());
77
0654fc9bac95 more porting
mandel
parents: 74
diff changeset
233 string userStyleSheetString = userStyleSheet.text();
73
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
234 if (QFile.exists(userStyleSheetString))
80
85c59c4e5f19 remove QLatin1String and other fixes
mandel
parents: 77
diff changeset
235 settings.setValue("userStyleSheet", QUrl.fromLocalFile(userStyleSheetString));
73
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
236 else
80
85c59c4e5f19 remove QLatin1String and other fixes
mandel
parents: 77
diff changeset
237 settings.setValue("userStyleSheet", QUrl(userStyleSheetString));
73
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
238 settings.endGroup();
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
239
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
240 //Privacy
80
85c59c4e5f19 remove QLatin1String and other fixes
mandel
parents: 77
diff changeset
241 settings.beginGroup("cookies");
73
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
242
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
243 CookieJar.KeepPolicy keepCookies;
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
244 switch(acceptCombo.currentIndex()) {
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
245 default:
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
246 case 0:
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
247 keepCookies = CookieJar.KeepUntilExpire;
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
248 break;
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
249 case 1:
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
250 keepCookies = CookieJar.KeepUntilExit;
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
251 break;
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
252 case 2:
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
253 keepCookies = CookieJar.KeepUntilTimeLimit;
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
254 break;
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
255 }
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
256 CookieJar jar = BrowserApplication.cookieJar();
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
257 QMetaEnum acceptPolicyEnum = jar.staticMetaObject.enumerator(jar.staticMetaObject.indexOfEnumerator("AcceptPolicy"));
80
85c59c4e5f19 remove QLatin1String and other fixes
mandel
parents: 77
diff changeset
258 settings.setValue("acceptCookies", acceptPolicyEnum.valueToKey(keepCookies));
73
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
259
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
260 CookieJar.KeepPolicy keepPolicy;
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
261 switch(keepUntilCombo.currentIndex()) {
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
262 default:
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
263 case 0:
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
264 keepPolicy = CookieJar.KeepUntilExpire;
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
265 break;
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
266 case 1:
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
267 keepPolicy = CookieJar.KeepUntilExit;
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
268 break;
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
269 case 2:
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
270 keepPolicy = CookieJar.KeepUntilTimeLimit;
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
271 break;
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
272 }
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
273
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
274 QMetaEnum keepPolicyEnum = jar.staticMetaObject.enumerator(jar.staticMetaObject.indexOfEnumerator("KeepPolicy"));
80
85c59c4e5f19 remove QLatin1String and other fixes
mandel
parents: 77
diff changeset
275 settings.setValue("keepCookiesUntil", keepPolicyEnum.valueToKey(keepPolicy));
73
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
276
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
277 settings.endGroup();
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
278
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
279 // proxy
80
85c59c4e5f19 remove QLatin1String and other fixes
mandel
parents: 77
diff changeset
280 settings.beginGroup("proxy");
85c59c4e5f19 remove QLatin1String and other fixes
mandel
parents: 77
diff changeset
281 settings.setValue("enabled", proxySupport.isChecked());
85c59c4e5f19 remove QLatin1String and other fixes
mandel
parents: 77
diff changeset
282 settings.setValue("type", proxyType.currentIndex());
85c59c4e5f19 remove QLatin1String and other fixes
mandel
parents: 77
diff changeset
283 settings.setValue("hostName", proxyHostName.text());
85c59c4e5f19 remove QLatin1String and other fixes
mandel
parents: 77
diff changeset
284 settings.setValue("port", proxyPort.text());
85c59c4e5f19 remove QLatin1String and other fixes
mandel
parents: 77
diff changeset
285 settings.setValue("userName", proxyUserName.text());
85c59c4e5f19 remove QLatin1String and other fixes
mandel
parents: 77
diff changeset
286 settings.setValue("password", proxyPassword.text());
73
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
287 settings.endGroup();
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
288
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
289 BrowserApplication.instance().loadSettings();
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
290 BrowserApplication.networkAccessManager().loadSettings();
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
291 BrowserApplication.cookieJar().loadSettings();
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
292 BrowserApplication.historyManager().loadSettings();
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
293 }
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
294
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
295 void setHomeToCurrentPage()
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
296 {
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
297 BrowserMainWindow mw = cast(BrowserMainWindow) parent();
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
298 WebView webView = mw.currentTab();
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
299 if (webView)
94
87bb4e622f9e more porting
mandel
parents: 80
diff changeset
300 homeLineEdit.setText(webView.getUrl().toString());
73
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
301 }
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
302
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
303 void showCookies()
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
304 {
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
305 CookiesDialog dialog = new CookiesDialog(BrowserApplication.cookieJar(), this);
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
306 dialog.exec();
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
307 }
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
308
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
309 void showExceptions()
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
310 {
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
311 CookiesExceptionsDialog dialog = new CookiesExceptionsDialog(BrowserApplication.cookieJar(), this);
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
312 dialog.exec();
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
313 }
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
314
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
315 void chooseFont()
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
316 {
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
317 bool ok;
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
318 QFont font = QFontDialog.getFont(&ok, standardFont, this);
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
319 if ( ok ) {
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
320 standardFont = font;
80
85c59c4e5f19 remove QLatin1String and other fixes
mandel
parents: 77
diff changeset
321 standardLabel.setText(Format("{} {}", font.family(), font.pointSize()));
73
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
322 }
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
323 }
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
324
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
325 void chooseFixedFont()
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
326 {
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
327 bool ok;
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
328 QFont font = QFontDialog.getFont(&ok, fixedFont, this);
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
329 if ( ok ) {
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
330 fixedFont = font;
80
85c59c4e5f19 remove QLatin1String and other fixes
mandel
parents: 77
diff changeset
331 fixedLabel.setText(Format("{} {}", font.family(), font.pointSize()));
73
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
332 }
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
333 }
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
334
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
335 private:
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
336
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
337 QFont standardFont;
7bfd46c330dc more porting
mandel
parents: 45
diff changeset
338 QFont fixedFont;
45
71b382c10ef6 add coarse and incomplete QT browser port
mandel
parents:
diff changeset
339 }