diff -r 4f2f89ce4247 -r 303757a437d3 WebKitTools/QtTestBrowser/launcherwindow.h --- a/WebKitTools/QtTestBrowser/launcherwindow.h Fri Sep 17 09:02:29 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,206 +0,0 @@ -/* - * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) - * Copyright (C) 2009 Girish Ramakrishnan - * Copyright (C) 2006 George Staikos - * Copyright (C) 2006 Dirk Mueller - * Copyright (C) 2006 Zack Rusin - * Copyright (C) 2006 Simon Hausmann - * - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY - * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef launcherwindow_h -#define launcherwindow_h - -#include -#include - -#if defined(QT_CONFIGURED_WITH_OPENGL) -#include -#endif - -#if !defined(QT_NO_PRINTER) -#include -#endif - -#ifndef QT_NO_UITOOLS -#include -#endif - -#include - -#include -#include -#include -#include -#include -#include - -#ifdef Q_WS_MAEMO_5 -#include -#endif - -#include "mainwindow.h" -#include "urlloader.h" -#include "utils.h" -#include "webinspector.h" -#include "webpage.h" -#include "webview.h" -#include "../../WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.h" - -#ifdef Q_WS_MAEMO_5 -#include -#include -#undef KeyPress -#endif - -class WindowOptions { -public: - WindowOptions() - : useGraphicsView(false) - , useCompositing(true) - , useTiledBackingStore(false) - , useWebGL(false) -#if defined(Q_WS_MAEMO_5) || defined(Q_WS_S60) - , useFrameFlattening(true) -#else - , useFrameFlattening(false) -#endif - , cacheWebView(false) - , showFrameRate(false) - , resizesToContents(false) - , viewportUpdateMode(QGraphicsView::MinimalViewportUpdate) -#if defined(QT_CONFIGURED_WITH_OPENGL) - , useQGLWidgetViewport(false) -#endif - { - } - - bool useGraphicsView; - bool useCompositing; - bool useTiledBackingStore; - bool useWebGL; - bool useFrameFlattening; - bool cacheWebView; - bool showFrameRate; - bool resizesToContents; - QGraphicsView::ViewportUpdateMode viewportUpdateMode; -#if defined(QT_CONFIGURED_WITH_OPENGL) - bool useQGLWidgetViewport; -#endif - QUrl inspectorUrl; -}; - -class LauncherWindow : public MainWindow { - Q_OBJECT - -public: - LauncherWindow(WindowOptions* data = 0, QGraphicsScene* sharedScene = 0); - virtual ~LauncherWindow(); - - virtual void keyPressEvent(QKeyEvent* event); - void grabZoomKeys(bool grab); - -#if QT_VERSION >= QT_VERSION_CHECK(4, 6, 0) - void sendTouchEvent(); -#endif - - bool eventFilter(QObject* obj, QEvent* event); - -protected slots: - void loadStarted(); - void loadFinished(); - - void showLinkHover(const QString &link, const QString &toolTip); - - void zoomIn(); - void zoomOut(); - void resetZoom(); - void toggleZoomTextOnly(bool on); - void zoomAnimationFinished(); - - void print(); - void screenshot(); - - void setEditable(bool on); - - /* void dumpPlugins() */ - void dumpHtml(); - - void initializeView(); - - void setTouchMocking(bool on); - void toggleAcceleratedCompositing(bool toggle); - void toggleTiledBackingStore(bool toggle); - void toggleResizesToContents(bool toggle); - void toggleWebGL(bool toggle); - void toggleSpatialNavigation(bool b); - void toggleFullScreenMode(bool enable); - void toggleFrameFlattening(bool toggle); - void toggleInterruptingJavaScriptEnabled(bool enable); - void toggleJavascriptCanOpenWindows(bool enable); - -#if defined(QT_CONFIGURED_WITH_OPENGL) - void toggleQGLWidgetViewport(bool enable); -#endif - - void changeViewportUpdateMode(int mode); - void selectElements(); - void showFPS(bool enable); - void showUserAgentDialog(); - -public slots: - LauncherWindow* newWindow(); - LauncherWindow* cloneWindow(); - void updateFPS(int fps); - -signals: - void enteredFullScreenMode(bool on); - -private: - void init(); - bool isGraphicsBased() const; - void createChrome(); - void applyPrefs(); - void applyZoom(); - -private: - static QVector m_zoomLevels; - int m_currentZoom; - - QWidget* m_view; - WebInspector* m_inspector; - - WindowOptions m_windowOptions; - - QAction* m_formatMenuAction; - -#if QT_VERSION >= QT_VERSION_CHECK(4, 6, 0) - QPropertyAnimation* m_zoomAnimation; - QList m_touchPoints; - bool m_touchMocking; -#endif -}; - -#endif