From cd44dc59cdfc39534aef4d417e9f3c412e3be139 Mon Sep 17 00:00:00 2001 From: Simon Hausmann Date: Fri, 3 Feb 2012 09:55:33 +0100 Subject: Imported WebKit commit fce473cb4d55aa9fe9d0b0322a2fffecb731b961 (http://svn.webkit.org/repository/webkit/trunk@106560) --- Tools/MiniBrowser/qt/BrowserWindow.cpp | 4 +++- Tools/MiniBrowser/qt/BrowserWindow.h | 3 ++- Tools/MiniBrowser/qt/MiniBrowser.pro | 2 +- Tools/MiniBrowser/qt/MiniBrowser.qrc | 1 + Tools/MiniBrowser/qt/MiniBrowserApplication.cpp | 12 ++++++------ Tools/MiniBrowser/qt/icons/plus.png | Bin 0 -> 1480 bytes Tools/MiniBrowser/qt/qml/BrowserWindow.qml | 22 ++++++++++++++++++++++ 7 files changed, 35 insertions(+), 9 deletions(-) create mode 100644 Tools/MiniBrowser/qt/icons/plus.png (limited to 'Tools/MiniBrowser/qt') diff --git a/Tools/MiniBrowser/qt/BrowserWindow.cpp b/Tools/MiniBrowser/qt/BrowserWindow.cpp index 9ccb8a263..a768581dc 100644 --- a/Tools/MiniBrowser/qt/BrowserWindow.cpp +++ b/Tools/MiniBrowser/qt/BrowserWindow.cpp @@ -37,6 +37,7 @@ #include BrowserWindow::BrowserWindow(WindowOptions* options) + : m_windowOptions(options) { setWindowTitle("MiniBrowser"); setWindowFlags(Qt::Window | Qt::WindowTitleHint | Qt::WindowMinMaxButtonsHint | Qt::WindowCloseButtonHint); @@ -52,6 +53,7 @@ BrowserWindow::BrowserWindow(WindowOptions* options) engine()->rootContext()->setContextProperty("options", options); setSource(QUrl("qrc:/qml/BrowserWindow.qml")); connect(rootObject(), SIGNAL(pageTitleChanged(QString)), this, SLOT(setWindowTitle(QString))); + connect(rootObject(), SIGNAL(newWindow(QString)), this, SLOT(newWindow(QString))); if (options->useTraditionalDesktopBehavior()) webView()->experimental()->setUseTraditionalDesktopBehaviour(true); if (options->startFullScreen()) @@ -88,7 +90,7 @@ void BrowserWindow::focusAddressBar() BrowserWindow* BrowserWindow::newWindow(const QString& url) { - BrowserWindow* window = new BrowserWindow(); + BrowserWindow* window = new BrowserWindow(m_windowOptions); window->load(url); return window; } diff --git a/Tools/MiniBrowser/qt/BrowserWindow.h b/Tools/MiniBrowser/qt/BrowserWindow.h index 9593e1014..d6ca0a6a6 100644 --- a/Tools/MiniBrowser/qt/BrowserWindow.h +++ b/Tools/MiniBrowser/qt/BrowserWindow.h @@ -39,7 +39,7 @@ class BrowserWindow : public QQuickView { Q_OBJECT public: - BrowserWindow(WindowOptions* = 0); + BrowserWindow(WindowOptions*); ~BrowserWindow(); void load(const QString& url); void reload(); @@ -56,6 +56,7 @@ protected slots: private: void updateUserAgentList(); + WindowOptions* m_windowOptions; QStringList m_userAgentList; }; diff --git a/Tools/MiniBrowser/qt/MiniBrowser.pro b/Tools/MiniBrowser/qt/MiniBrowser.pro index 5aaaa685d..32389f2e8 100644 --- a/Tools/MiniBrowser/qt/MiniBrowser.pro +++ b/Tools/MiniBrowser/qt/MiniBrowser.pro @@ -24,7 +24,7 @@ DESTDIR = $${ROOT_BUILD_DIR}/bin CONFIG += qtwebkit qtwebkit-private -QT += network declarative widgets +QT += network declarative widgets quick macx: QT += xml RESOURCES += MiniBrowser.qrc diff --git a/Tools/MiniBrowser/qt/MiniBrowser.qrc b/Tools/MiniBrowser/qt/MiniBrowser.qrc index 20a9400c6..d71d41fc5 100644 --- a/Tools/MiniBrowser/qt/MiniBrowser.qrc +++ b/Tools/MiniBrowser/qt/MiniBrowser.qrc @@ -2,6 +2,7 @@ icons/info.png icons/next.png + icons/plus.png icons/previous.png icons/refresh.png icons/stop.png diff --git a/Tools/MiniBrowser/qt/MiniBrowserApplication.cpp b/Tools/MiniBrowser/qt/MiniBrowserApplication.cpp index 265436505..88260b8cc 100644 --- a/Tools/MiniBrowser/qt/MiniBrowserApplication.cpp +++ b/Tools/MiniBrowser/qt/MiniBrowserApplication.cpp @@ -155,8 +155,6 @@ bool MiniBrowserApplication::notify(QObject* target, QEvent* event) } // Update current touch-point - if (m_touchPoints.isEmpty()) - touchPoint.flags |= QTouchEvent::TouchPoint::Primary; m_touchPoints.insert(touchPoint.id, touchPoint); // Update states for all other touch-points @@ -181,10 +179,11 @@ void MiniBrowserApplication::sendTouchEvent(BrowserWindow* browserWindow) } m_pendingFakeTouchEventCount++; - QWindowSystemInterface::handleTouchEvent(browserWindow, QEvent::None, device, m_touchPoints.values()); + QWindowSystemInterface::handleTouchEvent(browserWindow, device, m_touchPoints.values()); + bool holdingControl = QApplication::keyboardModifiers().testFlag(Qt::ControlModifier); if (!m_windowOptions.useTraditionalDesktopBehavior()) - browserWindow->updateVisualMockTouchPoints(m_touchPoints.values()); + browserWindow->updateVisualMockTouchPoints(holdingControl ? m_touchPoints.values() : QList()); // Get rid of touch-points that are no longer valid foreach (const QWindowSystemInterface::TouchPoint& touchPoint, m_touchPoints) { @@ -249,8 +248,9 @@ void MiniBrowserApplication::handleUserOptions() m_robotTimeoutSeconds = takeOptionValue(&args, "--robot-timeout").toInt(); m_robotExtraTimeSeconds = takeOptionValue(&args, "--robot-extra-time").toInt(); } else { - int urlArg = args.indexOf(QRegExp("^[^-].*")); - if (urlArg != -1) + int urlArg; + + while ((urlArg = args.indexOf(QRegExp("^[^-].*"))) != -1) m_urls += args.takeAt(urlArg); } diff --git a/Tools/MiniBrowser/qt/icons/plus.png b/Tools/MiniBrowser/qt/icons/plus.png new file mode 100644 index 000000000..f6dfbd02d Binary files /dev/null and b/Tools/MiniBrowser/qt/icons/plus.png differ diff --git a/Tools/MiniBrowser/qt/qml/BrowserWindow.qml b/Tools/MiniBrowser/qt/qml/BrowserWindow.qml index c2c673aa1..c080ed3ea 100644 --- a/Tools/MiniBrowser/qt/qml/BrowserWindow.qml +++ b/Tools/MiniBrowser/qt/qml/BrowserWindow.qml @@ -36,6 +36,7 @@ Rectangle { property alias webview: webView signal pageTitleChanged(string title) + signal newWindow(string url) function load(address) { webView.load(address) @@ -209,6 +210,26 @@ Rectangle { } } } + + Rectangle { + id: newBrowserWindowButton + height: parent.height + width: height + color: "#efefef" + radius: 6 + + Image { + anchors.centerIn: parent + source: "../icons/plus.png" + } + + MouseArea { + anchors.fill: parent + onClicked: { + newWindow("about:blank") + } + } + } } Rectangle { color: "white" @@ -247,6 +268,7 @@ Rectangle { } TextInput { id: addressLine + clip: true selectByMouse: true font { pointSize: 11 -- cgit v1.2.1