comparison demos/browser/networkaccessmanager.d @ 77:0654fc9bac95

more porting
author mandel
date Sun, 24 May 2009 13:46:32 +0000
parents 37caa90ce503
children 85c59c4e5f19
comparison
equal deleted inserted replaced
76:454e4b4beb59 77:0654fc9bac95
78 this.sslErrors.connect(&sslErrors); 78 this.sslErrors.connect(&sslErrors);
79 } 79 }
80 loadSettings(); 80 loadSettings();
81 81
82 QNetworkDiskCache diskCache = new QNetworkDiskCache(this); 82 QNetworkDiskCache diskCache = new QNetworkDiskCache(this);
83 QString location = QDesktopServices.storageLocation(QDesktopServices.CacheLocation); 83 string location = QDesktopServices.storageLocation(QDesktopServices.CacheLocation);
84 diskCache.setCacheDirectory(location); 84 diskCache.setCacheDirectory(location);
85 setCache(diskCache); 85 setCache(diskCache);
86 } 86 }
87 87
88 private: 88 private:
89 89
90 QString[] sslTrustedHostList; 90 string[] sslTrustedHostList;
91 91
92 public: 92 public:
93 93
94 void loadSettings() 94 void loadSettings()
95 { 95 {
96 QSettings settings; 96 auto settings = new QSettings;
97 settings.beginGroup(QLatin1String("proxy")); 97 settings.beginGroup(QLatin1String("proxy"));
98 QNetworkProxy proxy; 98 QNetworkProxy proxy;
99 if (settings.value(QLatin1String("enabled"), false).toBool()) { 99 if (settings.value(QLatin1String("enabled"), false).toBool()) {
100 if (settings.value(QLatin1String("type"), 0).toInt() == 0) 100 if (settings.value(QLatin1String("type"), 0).toInt() == 0)
101 proxy = QNetworkProxy.Socks5Proxy; 101 proxy = QNetworkProxy.Socks5Proxy;
113 113
114 void authenticationRequired(QNetworkReply reply, QAuthenticator auth) 114 void authenticationRequired(QNetworkReply reply, QAuthenticator auth)
115 { 115 {
116 BrowserMainWindow mainWindow = BrowserApplication.instance().mainWindow(); 116 BrowserMainWindow mainWindow = BrowserApplication.instance().mainWindow();
117 117
118 QDialog dialog(mainWindow); 118 auto dialog = new QDialog(mainWindow);
119 dialog.setWindowFlags(Qt.Sheet); 119 dialog.setWindowFlags(Qt.Sheet);
120 120
121 Ui.PasswordDialog passwordDialog; 121 auto passwordDialog = new Ui.PasswordDialog;
122 passwordDialog.setupUi(&dialog); 122 passwordDialog.setupUi(&dialog);
123 123
124 passwordDialog.iconLabel.setText(QString()); 124 passwordDialog.iconLabel.setText(null);
125 passwordDialog.iconLabel.setPixmap(mainWindow.style().standardIcon(QStyle.SP_MessageBoxQuestion, 0, mainWindow).pixmap(32, 32)); 125 passwordDialog.iconLabel.setPixmap(mainWindow.style().standardIcon(QStyle.SP_MessageBoxQuestion, 0, mainWindow).pixmap(32, 32));
126 126
127 QString introMessage = tr("<qt>Enter username and password for \"%1\" at %2</qt>"); 127 string introMessage = Format(tr("<qt>Enter username and password for \"{}\" at {}</qt>"), Qt.escape(reply.url().toString()), Qt.escape(reply.url().toString()));
128 introMessage = introMessage.arg(Qt.escape(reply.url().toString())).arg(Qt.escape(reply.url().toString()));
129 passwordDialog.introLabel.setText(introMessage); 128 passwordDialog.introLabel.setText(introMessage);
130 passwordDialog.introLabel.setWordWrap(true); 129 passwordDialog.introLabel.setWordWrap(true);
131 130
132 if (dialog.exec() == QDialog.Accepted) { 131 if (dialog.exec() == QDialog.Accepted) {
133 auth.setUser(passwordDialog.userNameLineEdit.text()); 132 auth.setUser(passwordDialog.userNameLineEdit.text());
134 auth.setPassword(passwordDialog.passwordLineEdit.text()); 133 auth.setPassword(passwordDialog.passwordLineEdit.text());
135 } 134 }
136 } 135 }
137 136
138 void proxyAuthenticationRequired(const QNetworkProxy proxy, QAuthenticator auth) 137 void proxyAuthenticationRequired(QNetworkProxy proxy, QAuthenticator auth)
139 { 138 {
140 BrowserMainWindow mainWindow = BrowserApplication.instance().mainWindow(); 139 BrowserMainWindow mainWindow = BrowserApplication.instance().mainWindow();
141 140
142 QDialog dialog(mainWindow); 141 auto dialog = new QDialog(mainWindow);
143 dialog.setWindowFlags(Qt.Sheet); 142 dialog.setWindowFlags(Qt.Sheet);
144 143
145 Ui.ProxyDialog proxyDialog; 144 auto proxyDialog = new Ui.ProxyDialog;
146 proxyDialog.setupUi(&dialog); 145 proxyDialog.setupUi(&dialog);
147 146
148 proxyDialog.iconLabel.setText(QString()); 147 proxyDialog.iconLabel.setText(null);
149 proxyDialog.iconLabel.setPixmap(mainWindow.style().standardIcon(QStyle.SP_MessageBoxQuestion, 0, mainWindow).pixmap(32, 32)); 148 proxyDialog.iconLabel.setPixmap(mainWindow.style().standardIcon(QStyle.SP_MessageBoxQuestion, 0, mainWindow).pixmap(32, 32));
150 149
151 QString introMessage = tr("<qt>Connect to proxy \"%1\" using:</qt>"); 150 string introMessage = Format(tr("<qt>Connect to proxy \"{}\" using:</qt>"), Qt.escape(proxy.hostName()));
152 introMessage = introMessage.arg(Qt.escape(proxy.hostName()));
153 proxyDialog.introLabel.setText(introMessage); 151 proxyDialog.introLabel.setText(introMessage);
154 proxyDialog.introLabel.setWordWrap(true); 152 proxyDialog.introLabel.setWordWrap(true);
155 153
156 if (dialog.exec() == QDialog.Accepted) { 154 if (dialog.exec() == QDialog.Accepted) {
157 auth.setUser(proxyDialog.userNameLineEdit.text()); 155 auth.setUser(proxyDialog.userNameLineEdit.text());
162 version(QT_NO_OPENSSL) 160 version(QT_NO_OPENSSL)
163 { 161 {
164 void sslErrors(QNetworkReply reply, QSslError[] error) 162 void sslErrors(QNetworkReply reply, QSslError[] error)
165 { 163 {
166 // check if SSL certificate has been trusted already 164 // check if SSL certificate has been trusted already
167 QString replyHost = reply.url().host() ~ ":" ~ reply.url().port(); 165 string replyHost = reply.url().host() ~ ":" ~ reply.url().port();
168 if(! sslTrustedHostList.contains(replyHost)) { 166 if(! sslTrustedHostList.contains(replyHost)) {
169 BrowserMainWindow mainWindow = BrowserApplication.instance().mainWindow(); 167 BrowserMainWindow mainWindow = BrowserApplication.instance().mainWindow();
170 168
171 QStringList errorStrings; 169 string[] errorStrings;
172 for (int i = 0; i < error.count(); ++i) 170 for (int i = 0; i < error.count(); ++i)
173 errorStrings += error.at(i).errorString(); 171 errorStrings += error[i].errorString();
174 QString errors = errorStrings.join(QLatin1String("\n")); 172 string errors = errorStrings ~ QLatin1String("\n"));
175 int ret = QMessageBox.warning(mainWindow, QCoreApplication.applicationName(), 173 int ret = QMessageBox.warning(mainWindow, QCoreApplication.applicationName(),
176 tr("SSL Errors:\n\n%1\n\n%2\n\n" 174 Format(tr("SSL Errors:\n\n{}\n\n{}\n\n"
177 "Do you want to ignore these errors for this host?").arg(reply.url().toString()).arg(errors), 175 "Do you want to ignore these errors for this host?"), reply.url().toString(), errors),
178 QMessageBox.Yes | QMessageBox.No, QMessageBox.No); 176 QMessageBox.Yes | QMessageBox.No, QMessageBox.No);
179 if (ret == QMessageBox.Yes) { 177 if (ret == QMessageBox.Yes) {
180 reply.ignoreSslErrors(); 178 reply.ignoreSslErrors();
181 sslTrustedHostList.append(replyHost); 179 sslTrustedHostList.append(replyHost);
182 } 180 }