Mercurial > projects > qtd
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 } |