60 QNetworkAccessManager * accessManager = page->networkAccessManager(); |
56 QNetworkAccessManager * accessManager = page->networkAccessManager(); |
61 QNetworkProxy proxy = accessManager->proxy(); |
57 QNetworkProxy proxy = accessManager->proxy(); |
62 |
58 |
63 m_downloadController = new DownloadController(client, proxy); |
59 m_downloadController = new DownloadController(client, proxy); |
64 |
60 |
65 #ifdef USE_DOWNLOAD_MANAGER |
61 safe_connect(m_downloadController, SIGNAL(downloadCreated(DownloadProxy)), |
66 safe_connect(m_downloadController, SIGNAL(downloadCreated(Download *)), |
62 this, SLOT(reportDownloadCreated(DownloadProxy))); |
67 this, SLOT(reportDownloadCreated(Download *))); |
63 |
68 |
64 safe_connect(m_downloadController, SIGNAL(downloadStarted(DownloadProxy)), |
69 safe_connect(m_downloadController, SIGNAL(downloadStarted(Download *)), |
65 this, SLOT(reportDownloadStarted(DownloadProxy))); |
70 this, SLOT(reportDownloadStarted(Download *))); |
66 |
71 |
67 safe_connect(m_downloadController, SIGNAL(downloadFinished(DownloadProxy)), |
72 safe_connect(m_downloadController, SIGNAL(downloadFinished(Download *)), |
68 this, SLOT(reportDownloadSuccess(DownloadProxy))); |
73 this, SLOT(reportDownloadSuccess(Download *))); |
69 |
74 |
70 safe_connect(m_downloadController, SIGNAL(downloadFailed(DownloadProxy, const QString &)), |
75 safe_connect(m_downloadController, SIGNAL(downloadFailed(Download *, const QString &)), |
71 this, SLOT(reportDownloadFailure(DownloadProxy, const QString &))); |
76 this, SLOT(reportDownloadFailure(Download *, const QString &))); |
72 |
77 |
73 safe_connect(m_downloadController, SIGNAL(downloadPaused(DownloadProxy, const QString &)), |
78 safe_connect(m_downloadController, SIGNAL(downloadPaused(Download *, const QString &)), |
74 this, SLOT(reportDownloadFailure(DownloadProxy, const QString &))); |
79 this, SLOT(reportDownloadFailure(Download *, const QString &))); |
75 |
80 |
76 safe_connect(m_downloadController, SIGNAL(downloadCancelled(DownloadProxy, const QString &)), |
81 safe_connect(m_downloadController, SIGNAL(downloadCancelled(Download *, const QString &)), |
77 this, SLOT(reportDownloadFailure(DownloadProxy, const QString &))); |
82 this, SLOT(reportDownloadFailure(Download *, const QString &))); |
78 |
83 |
79 safe_connect(m_downloadController, SIGNAL(downloadNetworkLoss(DownloadProxy, const QString &)), |
84 safe_connect(m_downloadController, SIGNAL(downloadNetworkLoss(Download *, const QString &)), |
80 this, SLOT(reportDownloadFailure(DownloadProxy, const QString &))); |
85 this, SLOT(reportDownloadFailure(Download *, const QString &))); |
81 |
86 |
82 // There is no argument to extract data from so we may as well |
87 // There is no Download* argument to extract data from so we may as well |
|
88 // just connect signal to signal without going through another slot. |
83 // just connect signal to signal without going through another slot. |
89 safe_connect(m_downloadController, SIGNAL(downloadsCleared()), |
84 safe_connect(m_downloadController, SIGNAL(downloadsCleared()), |
90 this, SIGNAL(downloadsCleared())); |
85 this, SIGNAL(downloadsCleared())); |
91 #endif |
|
92 |
86 |
93 safe_connect(m_downloadController, SIGNAL(unsupportedDownload(const QUrl &)), |
87 safe_connect(m_downloadController, SIGNAL(unsupportedDownload(const QUrl &)), |
94 this, SLOT(reportUnsupportedDownload(const QUrl &))); |
88 this, SLOT(reportUnsupportedDownload(const QUrl &))); |
95 } |
89 } |
96 |
90 |
144 } |
137 } |
145 |
138 |
146 m_downloadController->startDownload(url, saveInfo); |
139 m_downloadController->startDownload(url, saveInfo); |
147 } |
140 } |
148 |
141 |
149 #ifdef USE_DOWNLOAD_MANAGER |
142 void Downloads::reportDownloadCreated(DownloadProxy downloadProxy) |
150 |
|
151 void Downloads::reportDownloadCreated(Download * download) |
|
152 { |
143 { |
153 // Localize dialog message. |
144 // Localize dialog message. |
154 |
145 |
155 QString fmt = qtTrId("txt_browser_downloading_file"); |
146 QString fmt = qtTrId("txt_browser_downloading_file"); |
156 QString msg = fmt.arg(download->getAttribute(DlFileName).toString()); |
147 QString msg = fmt.arg(downloadProxy.fileName()); |
157 |
148 |
158 emit downloadCreated(msg); |
149 emit downloadCreated(msg); |
159 } |
150 } |
160 |
151 |
161 void Downloads::reportDownloadStarted(Download * download) |
152 void Downloads::reportDownloadStarted(DownloadProxy downloadProxy) |
162 { |
153 { |
163 // Localize dialog message. |
154 // Localize dialog message. |
164 |
155 |
165 QString fmt = qtTrId("txt_browser_downloading_file"); |
156 QString fmt = qtTrId("txt_browser_downloading_file"); |
166 QString msg = fmt.arg(download->getAttribute(DlFileName).toString()); |
157 QString msg = fmt.arg(downloadProxy.fileName()); |
167 |
158 |
168 emit downloadCreated(msg); |
159 emit downloadCreated(msg); |
169 } |
160 } |
170 |
161 |
171 void Downloads::reportDownloadSuccess(Download * download) |
162 void Downloads::reportDownloadSuccess(DownloadProxy downloadProxy) |
172 { |
163 { |
173 // Localize dialog message. |
164 // Localize dialog message. |
174 |
165 |
175 QString fmt = qtTrId("txt_browser_file_has_finished_downloading"); |
166 QString fmt = qtTrId("txt_browser_file_has_finished_downloading"); |
176 QString msg = fmt.arg(download->getAttribute(DlFileName).toString()); |
167 QString msg = fmt.arg(downloadProxy.fileName()); |
177 |
168 |
178 emit downloadSuccess(msg); |
169 emit downloadSuccess(msg); |
179 |
170 |
180 // Don't forget to remove the download; otherwise the download |
171 // Don't forget to remove the download; otherwise the download |
181 // controller won't know to emit the DownloadsCleared signal. |
172 // controller won't know to emit the DownloadsCleared signal. |
182 |
173 |
183 DownloadManager * manager = download->downloadManager(); |
174 downloadProxy.remove(); |
184 |
175 } |
185 manager->removeOne(download); |
176 |
186 } |
177 void Downloads::reportDownloadFailure(DownloadProxy downloadProxy, const QString & error) |
187 |
|
188 void Downloads::reportDownloadFailure(Download * download, const QString & error) |
|
189 { |
178 { |
190 // What went wrong? |
179 // What went wrong? |
191 |
180 |
192 DownloadController::debugDownload(download); |
181 downloadProxy.debug(); |
193 |
182 |
194 // Localize dialog message. |
183 // Localize dialog message. |
195 |
184 |
196 QString fmt = qtTrId("txt_browser_tag_error_tag_file_could_not_be_downloaded"); |
185 QString fmt = qtTrId("txt_browser_tag_error_tag_file_could_not_be_downloaded"); |
197 QString msg = fmt.arg( |
186 QString msg = fmt.arg( |
198 "<span style=\"color:red\">", |
187 "<span style=\"color:red\">", |
199 "</span>", |
188 "</span>", |
200 download->getAttribute(DlFileName).toString()); |
189 downloadProxy.fileName()); |
201 |
190 |
202 emit downloadFailure(msg); |
191 emit downloadFailure(msg); |
203 |
192 |
204 // Don't forget to remove the download; otherwise the download |
193 // Don't forget to remove the download; otherwise the download |
205 // controller won't know to emit the DownloadsCleared signal. |
194 // controller won't know to emit the DownloadsCleared signal. |
206 |
195 |
207 DownloadManager * manager = download->downloadManager(); |
196 downloadProxy.remove(); |
208 |
197 } |
209 manager->removeOne(download); |
|
210 } |
|
211 |
|
212 #endif // USE_DOWNLOAD_MANAGER |
|
213 |
198 |
214 void Downloads::reportUnsupportedDownload(const QUrl & url) |
199 void Downloads::reportUnsupportedDownload(const QUrl & url) |
215 { |
200 { |
216 qDebug() << "Unsupported download:" << url; |
|
217 |
|
218 emit unsupportedDownload("Unsupported content"); // ;;; localize? or not b/c this is temporary? |
201 emit unsupportedDownload("Unsupported content"); // ;;; localize? or not b/c this is temporary? |
219 } |
202 } |
220 |
203 |
221 } // namespace GVA |
204 } // namespace GVA |