diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/webview.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/webview.cpp b/src/webview.cpp index 850229d1..b4f9d0be 100644 --- a/src/webview.cpp +++ b/src/webview.cpp @@ -637,6 +637,8 @@ void WebView::keyPressEvent(QKeyEvent *event) return; } + const QString tagName = page()->mainFrame()->evaluateJavaScript("document.activeElement.tagName").toString(); + if (event->modifiers() == Qt::ControlModifier) { if (event->key() == Qt::Key_C) @@ -652,9 +654,17 @@ void WebView::keyPressEvent(QKeyEvent *event) event->accept(); return; } + + // CTRL + RETURN: open link into another tab + if (event->key() == Qt::Key_Return && tagName == QL1S("A")) + { + KUrl u = KUrl(page()->mainFrame()->evaluateJavaScript("document.activeElement.attributes[\"href\"].value").toString()); + emit loadUrl(u, Rekonq::NewTab); + event->accept(); + return; + } } - const QString tagName = page()->mainFrame()->evaluateJavaScript("document.activeElement.tagName").toString(); bool isContentEditable = page()->mainFrame()->evaluateJavaScript("document.activeElement.isContentEditable").toBool(); // Auto Scrolling |