summaryrefslogtreecommitdiff
path: root/src/webview.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/webview.cpp')
-rw-r--r--src/webview.cpp15
1 files changed, 15 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)