From c68518d1346f45f6f29f424298caeea1d834bcb2 Mon Sep 17 00:00:00 2001 From: nowrep Date: Fri, 8 Apr 2011 18:52:14 +0200 Subject: [PATCH] =?UTF-8?q?Download=20manager=20->=C2=A0Go=20to=20download?= =?UTF-8?q?=20page=20+=20Copy=20download=20link=20option?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/locale/cs_CZ.qm | Bin 58659 -> 58950 bytes src/downloads/downloaditem.cpp | 40 ++++++++++++++--- src/downloads/downloaditem.h | 5 +++ src/downloads/downloadmanager.cpp | 4 ++ translations/cs_CZ.ts | 69 ++++++++++++++++++------------ translations/sk_SK.ts | 69 ++++++++++++++++++------------ 6 files changed, 126 insertions(+), 61 deletions(-) diff --git a/bin/locale/cs_CZ.qm b/bin/locale/cs_CZ.qm index 11d36764606951c85c2e91a4b8b4e8e6646514cb..73fb442721efccaac0392837aed6b9af35300df5 100644 GIT binary patch delta 4819 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 delta 4745 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 + ,m_downloadPage(QUrl()) ,m_downloading(false) ,m_openAfterFinish(openAfterFinishedDownload) { @@ -76,6 +82,17 @@ DownloadItem::DownloadItem(QListWidgetItem* item, QNetworkReply* reply, QString error(m_reply->error()); } show(); + + //Get Download Page + QNetworkRequest request = m_reply->request(); + QVariant v = request.attribute((QNetworkRequest::Attribute)(QNetworkRequest::User + 100)); + WebPage* webPage = (WebPage*)(v.value()); + if (webPage) { + if (!webPage->mainFrame()->url().isEmpty()) + m_downloadPage = webPage->mainFrame()->url(); + else if (webPage->history()->canGoBack()) + m_downloadPage = webPage->history()->backItem().url(); + } } void DownloadItem::metaDataChanged() @@ -85,7 +102,7 @@ void DownloadItem::metaDataChanged() QVariant locationHeader = m_reply->header(QNetworkRequest::LocationHeader); if (!locationHeader.toUrl().isEmpty()) - qWarning("DownloadManager: metaDataChanged << URL: %s", qPrintable(locationHeader.toString())); + qWarning("DownloadManager: metaDataChanged << URL: %s", qPrintable(locationHeader.toString())); // QMessageBox::information(m_item->listWidget()->parentWidget(), "Meta Data Changed", QString("Meta data changed feature unimplemented yet, sorry.\n URL: '%̈́'").arg(locationHeader.toUrl().toString())); } @@ -247,24 +264,33 @@ void DownloadItem::customContextMenuRequested(QPoint pos) menu.addAction(tr("Open Folder"), this, SLOT(openFolder())); menu.addSeparator(); + menu.addAction(tr("Go to Download Page"), this, SLOT(goToDownloadPage()))->setEnabled(!m_downloadPage.isEmpty()); + menu.addAction(QIcon::fromTheme("edit-copy"), tr("Copy Download Link"), this, SLOT(copyDownloadLink())); + menu.addSeparator(); menu.addAction( #ifdef Q_WS_X11 style()->standardIcon(QStyle::SP_BrowserStop) #else QIcon(":/icons/faenza/stop.png") #endif - ,tr("Cancel downloading"), this, SLOT(stop())); - menu.addAction(QIcon::fromTheme("window-close"), tr("Clear"), this, SLOT(clear())); + ,tr("Cancel downloading"), this, SLOT(stop()))->setEnabled(m_downloading); + menu.addAction(QIcon::fromTheme("window-close"), tr("Clear"), this, SLOT(clear()))->setEnabled(!m_downloading); if (m_downloading || ui->downloadInfo->text().startsWith(tr("Cancelled")) || ui->downloadInfo->text().startsWith(tr("Error"))) menu.actions().at(0)->setEnabled(false); - if (!m_downloading) - menu.actions().at(3)->setEnabled(false); - if (m_downloading) - menu.actions().at(4)->setEnabled(false); menu.exec(mapToGlobal(pos)); } +void DownloadItem::goToDownloadPage() +{ + mApp->getWindow()->tabWidget()->addView(m_downloadPage, tr("New tab"), TabWidget::NewSelectedTab); +} + +void DownloadItem::copyDownloadLink() +{ + qApp->clipboard()->setText(m_downUrl.toString()); +} + void DownloadItem::clear() { emit deleteItem(this); diff --git a/src/downloads/downloaditem.h b/src/downloads/downloaditem.h index 0fdcbd551..0492f24b2 100644 --- a/src/downloads/downloaditem.h +++ b/src/downloads/downloaditem.h @@ -70,6 +70,9 @@ private slots: void customContextMenuRequested(QPoint pos); void clear(); + void goToDownloadPage(); + void copyDownloadLink(); + private: void timerEvent(QTimerEvent* event); void updateDownloadInfo(double currSpeed, qint64 received, qint64 total); @@ -84,6 +87,8 @@ private: QTime m_remTime; QBasicTimer m_timer; QFile m_outputFile; + QUrl m_downUrl; + QUrl m_downloadPage; bool m_downloading; bool m_openAfterFinish; diff --git a/src/downloads/downloadmanager.cpp b/src/downloads/downloadmanager.cpp index 039334f1a..08bae47da 100644 --- a/src/downloads/downloadmanager.cpp +++ b/src/downloads/downloadmanager.cpp @@ -90,6 +90,10 @@ void DownloadManager::timerEvent(QTimerEvent* event) if (remTimes.isEmpty()) { ui->speedLabel->clear(); setWindowTitle(tr("Download Manager")); +#ifdef W7API + win7.setProgressValue(0, 0); + win7.setProgressState(win7.Normal); +#endif return; } diff --git a/translations/cs_CZ.ts b/translations/cs_CZ.ts index eb1cb00af..746fed1a1 100644 --- a/translations/cs_CZ.ts +++ b/translations/cs_CZ.ts @@ -719,93 +719,108 @@ p, li { white-space: pre-wrap; } - + Remaining time unavailable Neznámý zbývající čas - + Done - %1 Hotovo - %1 - - + + Cancelled Zrušeno - + few seconds několik sekund - + seconds sekund - + minutes minut - + hours hodin - + Remaining %1 - %2 of %3 (%4) Zbývá %1 - %2 z %3 (%4) - + Cancelled - %1 Zrušeno - %1 - + Delete file Smazat soubor - + Do you want to also delete dowloaded file? Chcete také smazat stahovaný soubor? - + Open File Otevřít soubor - + Open Folder Otevřít složku - + + Go to Download Page + Přejít na stránku stahování + + + + Copy Download Link + Kopírovat stahovaný odkaz + + + Cancel downloading Zrušit stahování - + Clear Vyčistit - + Error Chyba - + + New tab + Nový panel + + + Not found Soubor neexistuje - + Sorry, the file %1 was not found! @@ -814,12 +829,12 @@ p, li { white-space: pre-wrap; } nebyl nalezen! - + Error: Cannot write to file! Chyba: Nelze zapisovat do souboru! - + Error: Chyba: @@ -827,32 +842,32 @@ nebyl nalezen! DownloadManager - + %1% of %2 files (%3) %4 remaining %1% z %2 souborů (%3) %4 zbyvá - + % - Download Manager % - Správce stahování - + Save file as... Uložit soubor jako... - + Warning Varování - + Are you sure to quit? All uncompleted downloads will be cancelled! Jste si jistý že chcete skončit? Všechna nedokončená stahování budou zrušena! - + NoNameDownload BezNazvu diff --git a/translations/sk_SK.ts b/translations/sk_SK.ts index 0846c3760..bcebd9352 100644 --- a/translations/sk_SK.ts +++ b/translations/sk_SK.ts @@ -722,93 +722,108 @@ p, li { white-space: pre-wrap; } - + Remaining time unavailable Neznámy zostávajúci čas - + Done - %1 Dokončené - %1 - - + + Cancelled Zrušené - + few seconds pár sekúnd - + seconds sekúnd - + minutes minút - + hours hodín - + Remaining %1 - %2 of %3 (%4) Zostáva %1 - %2 z %3 (%4) - + Cancelled - %1 Zrušene - %1 - + Delete file Vymazať súbor - + Do you want to also delete dowloaded file? Chcete zmazať sťahovaný súbor? - + Open File Otvoriť súbor - + Open Folder Otvoriť priečinok - + + Go to Download Page + + + + + Copy Download Link + + + + Cancel downloading Zrušiť sťahovanie - + Clear Vyčistiť - + Error Chyba - + + New tab + Nový panel + + + Not found Súbor neexistuje - + Sorry, the file %1 was not found! @@ -817,12 +832,12 @@ p, li { white-space: pre-wrap; } nebol nájdený! - + Error: Cannot write to file! Chyba: Nejde zapisovať do súboru! - + Error: Chyba: @@ -830,32 +845,32 @@ p, li { white-space: pre-wrap; } DownloadManager - + %1% of %2 files (%3) %4 remaining %1% z %2 súborov (%3) %4 zostávajú - + % - Download Manager % - Správca sťahovania - + Save file as... Uložiť súbor ako... - + Warning Upozornenie - + Are you sure to quit? All uncompleted downloads will be cancelled! Ste si istý, že chcete skončiť? Všetky nedokončené sťahovania budú zrušene! - + NoNameDownload BezNázvu