Changeset 53687 in webkit
- Timestamp:
- Jan 22, 2010 1:17:41 AM (14 years ago)
- Location:
- trunk/WebKitTools
- Files:
-
- 2 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebKitTools/ChangeLog
r53675 r53687 1 2010-01-22 Kenneth Rohde Christiansen <kenneth@webkit.org> 2 3 Rubberstamped by Antti Koivisto. 4 5 [Qt] Separate out the WebPage class into it's own 6 cpp/header files. Also, removed the assumption that 7 the view is a QWebView, in preparation of a merger 8 of the two Qt WebKit launchers. 9 10 * QtLauncher/QtLauncher.pro: 11 * QtLauncher/main.cpp: 12 (WebView::mousePressEvent): 13 * QtLauncher/webpage.cpp: Added. 14 (WebPage::supportsExtension): 15 (WebPage::extension): 16 (WebPage::acceptNavigationRequest): 17 (WebPage::openUrlInDefaultBrowser): 18 * QtLauncher/webpage.h: Added. 19 (WebPage::WebPage): 20 1 21 2010-01-21 Chris Jerdonek <cjerdonek@webkit.org> 2 22 -
trunk/WebKitTools/QtLauncher/QtLauncher.pro
r52486 r53687 1 1 TEMPLATE = app 2 SOURCES += main.cpp 2 SOURCES += main.cpp webpage.cpp 3 3 CONFIG -= app_bundle 4 4 CONFIG += uitools -
trunk/WebKitTools/QtLauncher/main.cpp
r53259 r53687 52 52 #include <qwebframe.h> 53 53 #include <qwebinspector.h> 54 #include <qwebpage.h>54 #include "webpage.h" 55 55 #include <qwebsettings.h> 56 56 #include <qwebview.h> … … 94 94 virtual void mousePressEvent(QMouseEvent* event) 95 95 { 96 mouseButtons = event->buttons();97 keyboardModifiers = event->modifiers();96 setProperty("mouseButtons", QVariant::fromValue(int(event->buttons()))); 97 setProperty("keyboardModifiers", QVariant::fromValue(int(event->modifiers()))); 98 98 99 99 QWebView::mousePressEvent(event); 100 100 } 101 101 102 public slots:103 void openUrlInDefaultBrowser(const QUrl &url = QUrl())104 {105 if (QAction* action = qobject_cast<QAction*>(sender()))106 QDesktopServices::openUrl(action->data().toUrl());107 else108 QDesktopServices::openUrl(url);109 }110 111 public:112 Qt::MouseButtons mouseButtons;113 Qt::KeyboardModifiers keyboardModifiers;114 };115 116 class WebPage : public QWebPage {117 public:118 WebPage(QWidget *parent) : QWebPage(parent) {}119 120 virtual QWebPage *createWindow(QWebPage::WebWindowType);121 virtual QObject* createPlugin(const QString&, const QUrl&, const QStringList&, const QStringList&);122 virtual bool supportsExtension(QWebPage::Extension extension) const123 {124 if (extension == QWebPage::ErrorPageExtension)125 return true;126 return false;127 }128 virtual bool extension(Extension extension, const ExtensionOption *option, ExtensionReturn *output);129 130 131 virtual bool acceptNavigationRequest(QWebFrame* frame, const QNetworkRequest &request, NavigationType type)132 {133 WebView* webView = static_cast<WebView*>(view());134 if (webView->keyboardModifiers & Qt::ShiftModifier) {135 QWebPage* page = createWindow(QWebPage::WebBrowserWindow);136 page->mainFrame()->load(request);137 return false;138 }139 if (webView->keyboardModifiers & Qt::AltModifier) {140 webView->openUrlInDefaultBrowser(request.url());141 return false;142 }143 144 return QWebPage::acceptNavigationRequest(frame, request, type);145 }146 102 }; 147 103 … … 629 585 }; 630 586 631 bool WebPage::extension(Extension extension, const ExtensionOption *option, ExtensionReturn *output)632 {633 const QWebPage::ErrorPageExtensionOption* info = static_cast<const QWebPage::ErrorPageExtensionOption*>(option);634 QWebPage::ErrorPageExtensionReturn* errorPage = static_cast<QWebPage::ErrorPageExtensionReturn*>(output);635 636 errorPage->content = QString("<html><head><title>Failed loading page</title></head><body>%1</body></html>")637 .arg(info->errorString).toUtf8();638 639 return true;640 }641 587 642 588 QWebPage* WebPage::createWindow(QWebPage::WebWindowType)
Note: See TracChangeset
for help on using the changeset viewer.