diff options
| author | Andrea Diamantini <adjam7@gmail.com> | 2009-07-25 19:58:12 +0200 | 
|---|---|---|
| committer | Andrea Diamantini <adjam7@gmail.com> | 2009-07-25 19:58:12 +0200 | 
| commit | 9cc7a87711aaa20b6dd180f6430f6aeac7b5f38b (patch) | |
| tree | 0ac6be88662c61370acfb5041d297ce787dd43fd /src | |
| parent | Fixing history menu (diff) | |
| parent | different context menus: (diff) | |
| download | rekonq-9cc7a87711aaa20b6dd180f6430f6aeac7b5f38b.tar.xz | |
Merge commit 'megabigbug/ContextsMenus'
Diffstat (limited to 'src')
| -rw-r--r-- | src/webview.cpp | 149 | 
1 files changed, 77 insertions, 72 deletions
diff --git a/src/webview.cpp b/src/webview.cpp index 101b6e06..a3682266 100644 --- a/src/webview.cpp +++ b/src/webview.cpp @@ -121,110 +121,115 @@ void WebView::contextMenuEvent(QContextMenuEvent *event)      KMenu menu(this);      QAction *a; -     -    // link actions + +      bool linkIsEmpty = result.linkUrl().isEmpty(); +      if (!linkIsEmpty)      { +        // link actions +	          a = pageAction(QWebPage::OpenLinkInNewWindow);          a->setText(i18n("Open Link in New &Tab"));          a->setIcon(KIcon("window-new"));          menu.addAction(a); -    } -    else -    { -        menu.addAction(mainwindow->actionByName("new_tab")); -    } -    menu.addAction(mainwindow->actionByName("view_redisplay")); -    menu.addSeparator(); - -    // Developer Extras actions -    if (page()->settings()->testAttribute(QWebSettings::DeveloperExtrasEnabled)) -    { -        a = pageAction(QWebPage::InspectElement);   -        a->setIcon(KIcon("view-process-all")); -        menu.addAction(a); -        menu.addSeparator(); -    } - -    // cut - copy - paste Actions.  -    bool b = false; - -    if (result.isContentSelected() && result.isContentEditable()) -    { -        a = pageAction(QWebPage::Cut); -        a->setIcon(KIcon("edit-cut")); -        a->setShortcut(KStandardShortcut::cut().primary()); -        menu.addAction(a); -        b = true; -    } - -    if (result.isContentSelected()) -    { -        a = pageAction(QWebPage::Copy); -        a->setIcon(KIcon("edit-copy")); -        a->setShortcut(KStandardShortcut::copy().primary()); -        menu.addAction(a); -        b = true; -    } - -    if (result.isContentEditable()) -    { -        a = pageAction(QWebPage::Paste); -        a->setIcon(KIcon("edit-paste")); -        a->setShortcut(KStandardShortcut::paste().primary()); -        menu.addAction(a); -        b = true; -    } - -    if(b) -    { -        menu.addSeparator(); -    } -    // save/copy link actions -    if (!linkIsEmpty) -    {          a = pageAction(QWebPage::DownloadLinkToDisk);          a->setIcon(KIcon("document-save"));          menu.addAction(a); -         +          a = pageAction(QWebPage::CopyLinkToClipboard);          a->setIcon(KIcon("edit-copy"));          menu.addAction(a); -        menu.addSeparator(); -          if (!result.pixmap().isNull())          { +	    menu.addSeparator(); +	                // TODO Add "View Image" && remove copy_this_image action -            a = pageAction(QWebPage::DownloadImageToDisk);  +            a = pageAction(QWebPage::DownloadImageToDisk);              a->setIcon(KIcon("document-save"));              menu.addAction(a);              a = pageAction(QWebPage::CopyImageToClipboard);              a->setIcon(KIcon("edit-copy"));              menu.addAction(a); -             -            menu.addSeparator();          } +	      } +    else if (result.isContentEditable() && result.isContentSelected()) +    { +	// actions for text selected in field -    // history actions -    menu.addAction(mainwindow->actionByName("history_back")); -    menu.addAction(mainwindow->actionByName("history_forward")); +	a = pageAction(QWebPage::Cut); +	a->setIcon(KIcon("edit-cut")); +	a->setShortcut(KStandardShortcut::cut().primary()); +	menu.addAction(a); -    // bookmark link action -    if (!linkIsEmpty) +	a = pageAction(QWebPage::Copy); +	a->setIcon(KIcon("edit-copy")); +	a->setShortcut(KStandardShortcut::copy().primary()); +	menu.addAction(a); + +	a = pageAction(QWebPage::Paste); +	a->setIcon(KIcon("edit-paste")); +	a->setShortcut(KStandardShortcut::paste().primary()); +	menu.addAction(a); + +	// TODO Add translate, show translation +    } +    else if (result.isContentEditable())      { -        menu.addSeparator(); -        QAction *addBookmarkAction = Application::bookmarkProvider()->actionByName("rekonq_add_bookmark"); -        menu.addAction(addBookmarkAction); +	// actions for a not selected field or a void field + +	//Warning: why it doesn't automatically select a field ? +	//Why the paste action is disabled ? +		 +	a = pageAction(QWebPage::Paste); +	a->setIcon(KIcon("edit-paste")); +	a->setShortcut(KStandardShortcut::paste().primary()); +	menu.addAction(a);      } +    else if (result.isContentSelected()) +    { +	// actions for text selected in page + +	a = pageAction(QWebPage::Copy); +        a->setIcon(KIcon("edit-copy")); +        a->setShortcut(KStandardShortcut::copy().primary()); +        menu.addAction(a); -    if(mainwindow->isFullScreen()) +	// TODO Add search with google, wikipedia, show translation +    } +    else      { -        menu.addAction(mainwindow->actionByName("fullscreen")); +	//page actions +	 +	menu.addAction(mainwindow->actionByName("new_tab")); +	if(mainwindow->isFullScreen()) +	{ +	    menu.addAction(mainwindow->actionByName("fullscreen")); +	} + +	menu.addSeparator(); + +	menu.addAction(mainwindow->actionByName("history_back")); +	menu.addAction(mainwindow->actionByName("history_forward")); +	menu.addAction(mainwindow->actionByName("view_redisplay")); + +	menu.addSeparator(); +	 +	QAction *addBookmarkAction = Application::bookmarkProvider()->actionByName("rekonq_add_bookmark"); +        menu.addAction(addBookmarkAction); +	 +	if (page()->settings()->testAttribute(QWebSettings::DeveloperExtrasEnabled)) +	{ +	    // Developer Extras actions + +	    a = pageAction(QWebPage::InspectElement); +	    a->setIcon(KIcon("view-process-all")); +	    menu.addAction(a); +	}      }      menu.exec(mapToGlobal(event->pos()));  | 
