|
|
|
|
@ -433,30 +433,33 @@ void WebView::copyLinkToClipboard() |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void WebView::openUrlInNewTab(const QUrl &url, Qz::NewTabPositionFlags position) |
|
|
|
|
void WebView::downloadLinkToDisk() |
|
|
|
|
{ |
|
|
|
|
QNetworkRequest request(url); |
|
|
|
|
request.setRawHeader("X-QupZilla-UserLoadAction", QByteArray("1")); |
|
|
|
|
#if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0) |
|
|
|
|
triggerPageAction(QWebEnginePage::DownloadLinkToDisk); |
|
|
|
|
#endif |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
loadInNewTab(request, position); |
|
|
|
|
void WebView::downloadImageToDisk() |
|
|
|
|
{ |
|
|
|
|
#if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0) |
|
|
|
|
triggerPageAction(QWebEnginePage::DownloadImageToDisk); |
|
|
|
|
#endif |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void WebView::downloadUrlToDisk() |
|
|
|
|
void WebView::downloadMediaToDisk() |
|
|
|
|
{ |
|
|
|
|
#if QTWEBENGINE_DISABLED |
|
|
|
|
if (QAction* action = qobject_cast<QAction*>(sender())) { |
|
|
|
|
QNetworkRequest request(action->data().toUrl()); |
|
|
|
|
#if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0) |
|
|
|
|
triggerPageAction(QWebEnginePage::DownloadMediaToDisk); |
|
|
|
|
#endif |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
DownloadManager::DownloadInfo info; |
|
|
|
|
info.page = page(); |
|
|
|
|
info.suggestedFileName = QString(); |
|
|
|
|
info.askWhatToDo = false; |
|
|
|
|
info.forceChoosingPath = true; |
|
|
|
|
void WebView::openUrlInNewTab(const QUrl &url, Qz::NewTabPositionFlags position) |
|
|
|
|
{ |
|
|
|
|
QNetworkRequest request(url); |
|
|
|
|
request.setRawHeader("X-QupZilla-UserLoadAction", QByteArray("1")); |
|
|
|
|
|
|
|
|
|
DownloadManager* dManager = mApp->downloadManager(); |
|
|
|
|
dManager->download(request, info); |
|
|
|
|
} |
|
|
|
|
#endif |
|
|
|
|
loadInNewTab(request, position); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void WebView::openActionUrl() |
|
|
|
|
@ -712,8 +715,8 @@ void WebView::createLinkContextMenu(QMenu* menu, const WebHitTestResult &hitTest |
|
|
|
|
bData << hitTest.linkUrl() << hitTest.linkTitle(); |
|
|
|
|
menu->addAction(QIcon::fromTheme("bookmark-new"), tr("B&ookmark link"), this, SLOT(bookmarkLink()))->setData(bData); |
|
|
|
|
|
|
|
|
|
#if QTWEBENGINE_DISABLED |
|
|
|
|
menu->addAction(QIcon::fromTheme("document-save"), tr("&Save link as..."), this, SLOT(downloadUrlToDisk()))->setData(hitTest.linkUrl()); |
|
|
|
|
#if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0) |
|
|
|
|
menu->addAction(QIcon::fromTheme("document-save"), tr("&Save link as..."), this, SLOT(downloadLinkToDisk())); |
|
|
|
|
#endif |
|
|
|
|
menu->addAction(QIcon::fromTheme("mail-message-new"), tr("Send link..."), this, SLOT(sendLinkByMail()))->setData(hitTest.linkUrl()); |
|
|
|
|
menu->addAction(QIcon::fromTheme("edit-copy"), tr("&Copy link address"), this, SLOT(copyLinkToClipboard()))->setData(hitTest.linkUrl()); |
|
|
|
|
@ -735,8 +738,8 @@ void WebView::createImageContextMenu(QMenu* menu, const WebHitTestResult &hitTes |
|
|
|
|
menu->addAction(act); |
|
|
|
|
menu->addAction(QIcon::fromTheme("edit-copy"), tr("Copy image ad&dress"), this, SLOT(copyLinkToClipboard()))->setData(hitTest.imageUrl()); |
|
|
|
|
menu->addSeparator(); |
|
|
|
|
#if QTWEBENGINE_DISABLED |
|
|
|
|
menu->addAction(QIcon::fromTheme("document-save"), tr("&Save image as..."), this, SLOT(downloadUrlToDisk()))->setData(hitTest.imageUrl()); |
|
|
|
|
#if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0) |
|
|
|
|
menu->addAction(QIcon::fromTheme("document-save"), tr("&Save image as..."), this, SLOT(downloadImageToDisk())); |
|
|
|
|
#endif |
|
|
|
|
menu->addAction(QIcon::fromTheme("mail-message-new"), tr("Send image..."), this, SLOT(sendLinkByMail()))->setData(hitTest.imageUrl()); |
|
|
|
|
menu->addSeparator(); |
|
|
|
|
@ -830,8 +833,8 @@ void WebView::createMediaContextMenu(QMenu *menu, const WebHitTestResult &hitTes |
|
|
|
|
menu->addSeparator(); |
|
|
|
|
menu->addAction(QIcon::fromTheme("edit-copy"), tr("&Copy Media Address"), this, SLOT(copyLinkToClipboard()))->setData(hitTest.mediaUrl()); |
|
|
|
|
menu->addAction(QIcon::fromTheme("mail-message-new"), tr("&Send Media Address"), this, SLOT(sendLinkByMail()))->setData(hitTest.mediaUrl()); |
|
|
|
|
#if QTWEBENGINE_DISABLED |
|
|
|
|
menu->addAction(QIcon::fromTheme("document-save"), tr("Save Media To &Disk"), this, SLOT(downloadUrlToDisk()))->setData(hitTest.mediaUrl()); |
|
|
|
|
#if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0) |
|
|
|
|
menu->addAction(QIcon::fromTheme("document-save"), tr("Save Media To &Disk"), this, SLOT(downloadMediaToDisk())); |
|
|
|
|
#endif |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|