summaryrefslogtreecommitdiff
path: root/src/webview.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/webview.cpp')
-rw-r--r--src/webview.cpp152
1 files changed, 63 insertions, 89 deletions
diff --git a/src/webview.cpp b/src/webview.cpp
index 055f2f7d..01fd0d00 100644
--- a/src/webview.cpp
+++ b/src/webview.cpp
@@ -290,9 +290,6 @@ void WebPage::handleUnsupportedContent(QNetworkReply *reply)
// -----------------------------------------------------------------------------------------------------------------
-KActionCollection* WebView::s_webActionCollection;
-
-
WebView::WebView(QWidget* parent)
: QWebView(parent)
, m_page(new WebPage(this))
@@ -308,63 +305,6 @@ WebView::WebView(QWidget* parent)
}
-KActionCollection* WebView::webActions()
-{
- if (!s_webActionCollection)
- {
- s_webActionCollection = new KActionCollection(this);
-
- QAction *a;
-
- a = new KAction(KIcon("tab-new"), i18n("Open Link in New &Tab"), this);
- connect(a, SIGNAL(triggered()), this, SLOT(openLinkInNewTab()));
- s_webActionCollection->addAction(QLatin1String("open_link_in_new_tab"), a);
-
- a = pageAction(QWebPage::Cut);
- a->setIcon(KIcon("edit-cut"));
- a->setText(i18n("Cu&t"));
- s_webActionCollection->addAction(QLatin1String("edit_cut"), a);
-
- a = pageAction(QWebPage::Copy);
- a->setIcon(KIcon("edit-copy"));
- a->setText(i18n("&Copy"));
- s_webActionCollection->addAction(QLatin1String("edit_copy"), a);
-
- a = pageAction(QWebPage::Paste);
- a->setIcon(KIcon("edit-paste"));
- a->setText(i18n("&Paste"));
- s_webActionCollection->addAction(QLatin1String("edit_paste"), a);
-
- a = pageAction(QWebPage::DownloadImageToDisk);
- a->setIcon(KIcon("folder-image"));
- a->setText(i18n("&Save Image As..."));
- s_webActionCollection->addAction(QLatin1String("save_image_as"), a);
-
- a = pageAction(QWebPage::CopyImageToClipboard);
- a->setIcon(KIcon("insert-image"));
- a->setText(i18n("&Copy This Image"));
- s_webActionCollection->addAction(QLatin1String("copy_this_image"), a);
-
- a = pageAction(QWebPage::DownloadLinkToDisk);
- a->setIcon(KIcon("folder-downloads"));
- a->setText(i18n("&Save Link As..."));
- s_webActionCollection->addAction(QLatin1String("save_link_as"), a);
-
- a = pageAction(QWebPage::CopyLinkToClipboard);
- a->setIcon(KIcon("insert-link"));
- a->setText(i18n("&Copy Link Location"));
- s_webActionCollection->addAction(QLatin1String("copy_link_location"), a);
-
- a = pageAction(QWebPage::InspectElement);
- a->setIcon(KIcon("tools-report-bug"));
- a->setText(i18n("&Inspect Element"));
- s_webActionCollection->addAction(QLatin1String("inspect_element"), a);
- }
-
- return s_webActionCollection;
-}
-
-
void WebView::contextMenuEvent(QContextMenuEvent *event)
{
QWebHitTestResult result = page()->mainFrame()->hitTestContent(event->pos());
@@ -373,28 +313,62 @@ void WebView::contextMenuEvent(QContextMenuEvent *event)
QAction *addBookmarkAction = Application::bookmarkProvider()->actionByName("add_bookmark_payload");
addBookmarkAction->setText(i18n("Bookmark This Page"));
addBookmarkAction->setData(QVariant());
+
KMenu menu(this);
+ QAction *a;
+ // link actions
+ bool linkIsEmpty = result.linkUrl().isEmpty();
+ if (!linkIsEmpty)
+ {
+ a = new KAction(KIcon("tab-new"), i18n("Open Link in New &Tab"), this);
+ connect(a, SIGNAL(triggered()), this, SLOT(openLinkInNewTab()));
+ 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("tools-report-bug"));
+ a->setText(i18n("&Inspect Element"));
+ menu.addAction(a);
+ menu.addSeparator();
+ }
// cut - copy - paste Actions.
- // If someone selects text perhaps wanna work with it..
bool b = false;
if (result.isContentSelected() && result.isContentEditable())
{
- menu.addAction(webActions()->action("edit_cut"));
+ a = pageAction(QWebPage::Cut);
+ a->setIcon(KIcon("edit-cut"));
+ a->setText(i18n("Cu&t"));
+ menu.addAction(a);
b = true;
}
if (result.isContentSelected())
{
- menu.addAction(webActions()->action("edit_copy"));
+ a = pageAction(QWebPage::Copy);
+ a->setIcon(KIcon("edit-copy"));
+ a->setText(i18n("&Copy"));
+ menu.addAction(a);
b = true;
}
if (result.isContentEditable())
{
- menu.addAction(webActions()->action("edit_paste"));
+ a = pageAction(QWebPage::Paste);
+ a->setIcon(KIcon("edit-paste"));
+ a->setText(i18n("&Paste"));
+ menu.addAction(a);
b = true;
}
@@ -403,38 +377,34 @@ void WebView::contextMenuEvent(QContextMenuEvent *event)
menu.addSeparator();
}
- // link actions
- bool linkIsEmpty = result.linkUrl().isEmpty();
+ // save/copy link actions
if (!linkIsEmpty)
{
- menu.addAction(webActions()->action("open_link_in_new_tab"));
- }
- else
- {
- menu.addAction(mainwindow->actionByName("new_tab"));
- }
- menu.addAction(mainwindow->actionByName("view_redisplay"));
- menu.addSeparator();
+ a = pageAction(QWebPage::DownloadLinkToDisk);
+ a->setIcon(KIcon("folder-downloads"));
+ a->setText(i18n("&Save Link As..."));
+ menu.addAction(a);
- // Developer Extras actions
- if (page()->settings()->testAttribute(QWebSettings::DeveloperExtrasEnabled))
- {
- menu.addAction(webActions()->action("inspect_element"));
- menu.addSeparator();
- }
+ a = pageAction(QWebPage::CopyLinkToClipboard);
+ a->setIcon(KIcon("insert-link"));
+ a->setText(i18n("&Copy Link Location"));
+ menu.addAction(a);
- // save/copy link actions
- if (!linkIsEmpty)
- {
- menu.addAction(webActions()->action("save_link_as"));
- menu.addAction(webActions()->action("copy_link_location"));
menu.addSeparator();
if (!result.pixmap().isNull())
{
- // TODO Add "View Image"
- menu.addAction(webActions()->action("save_image_as"));
- menu.addAction(webActions()->action("copy_this_image"));
+ // TODO Add "View Image" && remove copy_this_image action
+ a = pageAction(QWebPage::DownloadImageToDisk);
+ a->setIcon(KIcon("folder-image"));
+ a->setText(i18n("&Save Image As..."));
+ menu.addAction(a);
+
+ a = pageAction(QWebPage::CopyImageToClipboard);
+ a->setIcon(KIcon("insert-image"));
+ a->setText(i18n("&Copy This Image"));
+ menu.addAction(a);
+
menu.addSeparator();
}
}
@@ -452,6 +422,11 @@ void WebView::contextMenuEvent(QContextMenuEvent *event)
menu.addAction(addBookmarkAction);
}
+ if(mainwindow->isFullScreen())
+ {
+ menu.addAction(mainwindow->actionByName("fullscreen"));
+ }
+
menu.exec(mapToGlobal(event->pos()));
}
@@ -534,4 +509,3 @@ void WebView::keyPressEvent(QKeyEvent *event)
QWebView::keyPressEvent(event);
}
-