diff options
author | Morten Sorvig <morten.sorvig@nokia.com> | 2011-10-19 10:57:32 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-10-20 02:31:45 +0200 |
commit | cff475f339979a3b4e10e426c8bfe15975e2e5cf (patch) | |
tree | 88b086518d8289b5f68f2476a2b801945f120d0a /tools/accessibilityinspector/accessibilityinspector.cpp | |
parent | b1b843dcf5165f5b204adbd3cf36c0c8fa3605c0 (diff) |
Move a11y inspector from tools to util.
Change-Id: Ifc032c511aea72a8f7a4ec62d304e89718f712db
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Diffstat (limited to 'tools/accessibilityinspector/accessibilityinspector.cpp')
-rw-r--r-- | tools/accessibilityinspector/accessibilityinspector.cpp | 189 |
1 files changed, 0 insertions, 189 deletions
diff --git a/tools/accessibilityinspector/accessibilityinspector.cpp b/tools/accessibilityinspector/accessibilityinspector.cpp deleted file mode 100644 index 4f65f2beaa..0000000000 --- a/tools/accessibilityinspector/accessibilityinspector.cpp +++ /dev/null @@ -1,189 +0,0 @@ -/**************************************************************************** - ** - ** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). - ** All rights reserved. - ** Contact: Nokia Corporation (qt-info@nokia.com) - ** - ** This file is part of the tools applications of the Qt Toolkit. - ** - ** $QT_BEGIN_LICENSE:LGPL$ - ** GNU Lesser General Public License Usage - ** This file may be used under the terms of the GNU Lesser General Public - ** License version 2.1 as published by the Free Software Foundation and - ** appearing in the file LICENSE.LGPL included in the packaging of this - ** file. Please review the following information to ensure the GNU Lesser - ** General Public License version 2.1 requirements will be met: - ** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. - ** - ** In addition, as a special exception, Nokia gives you certain additional - ** rights. These rights are described in the Nokia Qt LGPL Exception - ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. - ** - ** GNU General Public License Usage - ** Alternatively, this file may be used under the terms of the GNU General - ** Public License version 3.0 as published by the Free Software Foundation - ** and appearing in the file LICENSE.GPL included in the packaging of this - ** file. Please review the following information to ensure the GNU General - ** Public License version 3.0 requirements will be met: - ** http://www.gnu.org/copyleft/gpl.html. - ** - ** Other Usage - ** Alternatively, this file may be used in accordance with the terms and - ** conditions contained in a signed written agreement between you and Nokia. - ** - ** - ** - ** - ** - ** $QT_END_LICENSE$ - ** - ****************************************************************************/ - -#include "accessibilityinspector.h" - -#include "screenreader.h" -#include "optionswidget.h" -#include "accessibilityscenemanager.h" - -#include <QtDeclarative/QtDeclarative> - -void MouseInterceptingGraphicsScene::mousePressEvent(QGraphicsSceneMouseEvent *event) -{ - emit mousePressed(event->scenePos().toPoint()); - QGraphicsScene::mousePressEvent(event); -} - -void MouseInterceptingGraphicsScene::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event) -{ - emit mouseDobleClicked(); - QGraphicsScene::mouseDoubleClickEvent(event); -} - -AccessibilitySceneManager *sceneManager = 0; -QAccessible::UpdateHandler previousUpdateHandler = 0; -bool updateHandlerRecursion = false; -void accessibilityUpdateHandler(QObject *object, int who, QAccessible::Event reason) -{ - if (updateHandlerRecursion) - return; - - if (!qobject_cast<QSGItem *>(object)) - return; - - updateHandlerRecursion = true; - - if (sceneManager) { - sceneManager->handleUpdate(object, reason); - - //qDebug() << "update"; - } - - if (previousUpdateHandler) // call prev just to be sure. - previousUpdateHandler(object, who, reason); - - updateHandlerRecursion = false; -} - -AccessibilityInspector::AccessibilityInspector(QObject *parent) : - QObject(parent) -{ -} - -AccessibilityInspector::~AccessibilityInspector() -{ - delete optionsWidget; - delete accessibilityScene; - delete accessibilityView; - delete accessibilityTreeScene; - delete accessibilityTreeView; - delete screenReader; -} - -void AccessibilityInspector::inspectWindow(QWindow *window) -{ - qDebug() << "AccessibilityInspector::inspectWindow()" << window; - - optionsWidget = new OptionsWidget(); - - accessibilityScene = new MouseInterceptingGraphicsScene(); - - accessibilityView = new QGraphicsView(); - accessibilityView->setScene(accessibilityScene); - accessibilityView->resize(1024, 768); - accessibilityView->scale(1.3, 1.3); - - accessibilityTreeScene = new QGraphicsScene(); - - accessibilityTreeView = new QGraphicsView(); - accessibilityTreeView->setScene(accessibilityTreeScene); - accessibilityTreeView->resize(1024, 768); - - sceneManager = new AccessibilitySceneManager(); - QObject::connect(optionsWidget, SIGNAL(optionsChanged()), sceneManager, SLOT(updateAccessibilitySceneItemFlags())); - QObject::connect(optionsWidget, SIGNAL(refreshClicked()), sceneManager, SLOT(populateAccessibilityScene())); - QObject::connect(optionsWidget, SIGNAL(refreshClicked()), sceneManager, SLOT(populateAccessibilityTreeScene())); - QObject::connect(optionsWidget, SIGNAL(scaleChanged(int)), sceneManager, SLOT(changeScale(int))); - - sceneManager->setOptionsWidget(optionsWidget); - sceneManager->setRootWindow(window); - sceneManager->setScene(accessibilityScene); - sceneManager->setView(accessibilityView); - sceneManager->setTreeScene(accessibilityTreeScene); - sceneManager->setTreeView(accessibilityTreeView); - - screenReader = new ScreenReader; - QObject::connect(accessibilityScene, SIGNAL(mousePressed(QPoint)), screenReader, SLOT(touchPoint(QPoint))); - QObject::connect(accessibilityScene, SIGNAL(mouseDobleClicked()), screenReader, SLOT(activate())); - QObject::connect(screenReader, SIGNAL(selected(QObject*)), sceneManager, SLOT(setSelected(QObject*))); - screenReader->setRootObject(window); - screenReader->setOptionsWidget(optionsWidget); - - previousUpdateHandler = QAccessible::installUpdateHandler(accessibilityUpdateHandler); - - QTimer::singleShot(100, sceneManager, SLOT(populateAccessibilityScene())); - QTimer::singleShot(100, sceneManager, SLOT(populateAccessibilityTreeScene())); - - QSettings settings; - accessibilityView->restoreGeometry(settings.value("accessiblityGeometry").toByteArray()); - accessibilityView->setObjectName(QLatin1String("accessibilityInspectorView")); - accessibilityView->show(); - - - accessibilityTreeView->restoreGeometry(settings.value("treeGeometry").toByteArray()); - accessibilityTreeView->setObjectName(QLatin1String("accessibilityInspectorTreeView")); - accessibilityTreeView->show(); - optionsWidget->restoreGeometry(settings.value("optionsGeometry").toByteArray()); - optionsWidget->setObjectName(QLatin1String("accessibilityInspectorOptions")); - optionsWidget->show(); -} - -void AccessibilityInspector::saveWindowGeometry() -{ - QSettings settings; - settings.setValue("accessiblityGeometry", accessibilityView->saveGeometry()); - settings.setValue("treeGeometry", accessibilityTreeView->saveGeometry()); - settings.setValue("optionsGeometry", optionsWidget->saveGeometry()); -} - -QString translateRole(QAccessible::Role role) -{ - if (role == 0x2B) - return "PushButton"; - if (role == 0x2C) - return "CheckBox"; - if (role == 0x2D) - return "RadioButton"; - if (role == 0xA) - return "Client"; - if (role == 0x29) - return "Static Text"; - if (role == 0x33) - return "Slider"; - if (role == 0x33) - return "Slider"; - if (role == 0x10) - return "Pane"; - - return QString::number(role, 16); -} - |