diff options
| author | Andrea Diamantini <adjam7@gmail.com> | 2010-12-13 17:53:46 +0100 | 
|---|---|---|
| committer | Andrea Diamantini <adjam7@gmail.com> | 2010-12-13 17:53:46 +0100 | 
| commit | 4548f4098b44ae6ce281b4325fb8dfb5f6a44d25 (patch) | |
| tree | 528a6fa562ce73b4b23b84492dbfa2e058b26220 | |
| parent | Don't change the BK folder in the BK bar when the mouse is under the current ... (diff) | |
| download | rekonq-4548f4098b44ae6ce281b4325fb8dfb5f6a44d25.tar.xz | |
GCI Task by Furkan Uzumcu: Context Menu Improvements
This commit changed context menu by adding Find/Print actions there and
letting users opening URL-like text in new tab/window
| -rw-r--r-- | src/webview.cpp | 36 | 
1 files changed, 35 insertions, 1 deletions
diff --git a/src/webview.cpp b/src/webview.cpp index e90b8da5..9e9203d6 100644 --- a/src/webview.cpp +++ b/src/webview.cpp @@ -143,6 +143,11 @@ void WebView::contextMenuEvent(QContextMenuEvent *event)      KMenu menu(this);      QAction *a; +    if(result.pixmap().isNull()) +    { +	a = mainwindow->actionByName(KStandardAction::name(KStandardAction::Find)); +	menu.addAction(a); +    }      KAction *inspectAction = new KAction(KIcon("layer-visible-on"), i18n("Inspect Element"), this);      connect(inspectAction, SIGNAL(triggered(bool)), this, SLOT(inspect())); @@ -181,6 +186,34 @@ void WebView::contextMenuEvent(QContextMenuEvent *event)          else              a->setText(i18n("Copy"));          menu.addAction(a); +        if(selectedText().contains('.') && selectedText().indexOf('.') < selectedText().length() && !selectedText().trimmed().contains(" ")) +        { +            QString text = selectedText(); +            text = text.trimmed(); +            KUrl urlLikeText(text); +            if(urlLikeText.isValid()) +            { +                QString truncatedUrl = text; +                const int maxTextSize = 18; +                if (truncatedUrl.length() > maxTextSize) +                { +                    const int truncateSize = 15; +                    truncatedUrl.truncate(truncateSize); +                    truncatedUrl += QL1S("..."); +                } +                //open selected text url in a new tab +                QAction * const openInNewTabAction = new KAction(KIcon("tab-new"), i18n("Open '%1' in New Tab", truncatedUrl), this); +                openInNewTabAction->setData(urlLikeText); +                connect(openInNewTabAction, SIGNAL(triggered(bool)), this, SLOT(openLinkInNewTab())); +                menu.addAction(openInNewTabAction); +                //open selected text url in a new window +                QAction * const openInNewWindowAction = new KAction(KIcon("window-new"), i18n("Open '%1' in New Window", truncatedUrl), this); +                openInNewWindowAction->setData(urlLikeText); +                connect(openInNewWindowAction, SIGNAL(triggered(bool)), this, SLOT(openLinkInNewWindow())); +                menu.addAction(openInNewWindowAction); +                menu.addSeparator(); +            } +        }      }      // is content editable? Add PASTE @@ -188,7 +221,8 @@ void WebView::contextMenuEvent(QContextMenuEvent *event)      {          menu.addAction(pageAction(KWebPage::Paste));      } - +    a = mainwindow->actionByName(KStandardAction::name(KStandardAction::Print)); +    menu.addAction(a);      // is content selected? Add SEARCH actions      if (result.isContentSelected())      {  | 
