diff options
-rw-r--r-- | src/webview.cpp | 15 | ||||
-rw-r--r-- | src/webview.h | 1 |
2 files changed, 16 insertions, 0 deletions
diff --git a/src/webview.cpp b/src/webview.cpp index a938ad70..1490c9bc 100644 --- a/src/webview.cpp +++ b/src/webview.cpp @@ -163,6 +163,11 @@ void WebView::contextMenuEvent(QContextMenuEvent *event) connect(a, SIGNAL(triggered(bool)), this, SLOT(openLinkInNewWindow())); menu.addAction(a); + a = new KAction(KIcon("bookmark-new"), i18n("&Bookmark this Link"), this); + a->setData(result.linkUrl()); + connect(a, SIGNAL(triggered(bool)), this, SLOT(bookmarkLink())); + menu.addAction(a); + menu.addSeparator(); menu.addAction(pageAction(KWebPage::DownloadLinkToDisk)); menu.addAction(pageAction(KWebPage::CopyLinkToClipboard)); @@ -552,6 +557,16 @@ void WebView::openLinkInNewTab() } +void WebView::bookmarkLink() +{ + KAction *a = qobject_cast<KAction*>(sender()); + KUrl url(a->data().toUrl()); + + rApp->bookmarkProvider()->rootGroup().addBookmark(url.prettyUrl(), url); + rApp->bookmarkProvider()->bookmarkManager()->emitChanged(); +} + + void WebView::keyPressEvent(QKeyEvent *event) { if (event->modifiers() == Qt::ControlModifier) diff --git a/src/webview.h b/src/webview.h index b3db5ce0..790fa23f 100644 --- a/src/webview.h +++ b/src/webview.h @@ -76,6 +76,7 @@ private Q_SLOTS: void loadUrlInNewTab(const KUrl &); void openLinkInNewWindow(); void openLinkInNewTab(); + void bookmarkLink(); void viewImage(Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers); void slotCopyImageLocation(); |