browsercore/core/webnavigation.cpp
changeset 3 0954f5dd2cd0
parent 1 b0dd75e285d2
child 4 d5cdb6bc139d
--- a/browsercore/core/webnavigation.cpp	Fri May 14 15:40:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,171 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-
-
-#include "webnavigation.h"
-#include "qwebpage.h"
-#include "qwebframe.h"
-#include "webtouchnavigation.h"
-#include "webcursornavigation.h"
-#include "webhtmltabbednavigation.h"
-#include "webdirectionalnavigation.h"
-
-namespace WRT {
-
-/*!
-    \class WebNavigation
-    \since cwrt 1.0
-    \brief cwrt navigation.
-
-    \sa WebTouchNavigation, WebCursorNavigation, WebDirectionalNavigation, WebHtmlTabIndexedNavigation
-*/
-WebNavigation::WebNavigation(QWebPage* webPage,QObject* view) : m_webPage(webPage)
-, m_view(view)
-, m_webTouchNavigation(0)
-, m_webCursorNavigation(0)
-, m_webDirectionalNavigation(0)
-, m_webHtmlTabIndexNavigation(0)
-{
-    m_webPage->settings()->setUserStyleSheetUrl(QUrl("data:text/css;charset=utf-8;base64," \
-                        + QByteArray("textarea:hover, textarea:focus {                " \
-                        "    outline: auto;                              " \
-                        "    outline-style: solid;                       " \
-                        "    outline-color: rgb(140,140,255);            " \
-                        "    outline-width: 2px;                         " \
-                        "}                                               " \
-                        "select:hover,                                   " \
-                        "select[multiple]:hover,                         " \
-                        "select:focus,                                   " \
-                        "select[multiple]:focus {                        " \
-                        "    outline: auto;                              " \
-                        "    outline-style: solid;                       " \
-                        "    outline-color: rgb(140,140,255);            " \
-                        "    outline-width: 2px;                         " \
-                        "}                                               " \
-                        "input:hover, input:focus {                      " \
-                        "    outline: auto;                              " \
-                        "    outline-style: solid;                       " \
-                        "    outline-color: rgb(140,140,255);            " \
-                        "    outline-width: 2px;                         " \
-                        "}                                               " \
-                        "object:hover, object:focus {                    " \
-                        "    outline: auto;                              " \
-                        "    outline-style: solid;                       " \
-                        "    outline-color: rgb(140,140,255);            " \
-                        "    outline-width: 2px;                         " \
-                        "}                                               " \
-                        "input:disabled, select:disabled, textarea:disabled { " \
-                        "    outline: none;                              " \
-                        "}                                               " \
-                    		"a:-webkit-any-link {                            " \
-                        "    padding: 1px 2px;                           " \
-                        "}                                               " \
-                        "a:-webkit-any-link:visited {                    " \
-                        "    color: red;                                 " \
-                        "}                                               " \
-                        "a:-webkit-any-link:active {                     " \
-                        "    background-color: lightgray;                " \
-                        "    -webkit-border-radius: 3px;                 " \
-                        "    text-decoration: none;                      " \
-                        "}                                               " \
-                        "a:-webkit-any-link:focus {                      " \
-                        "    background-color: lightgray;                " \
-                        "    -webkit-border-radius: 3px;                 " \
-                        "    text-decoration: none;                      " \
-                        "} ").toBase64()));
-
-    
-    setNavigationMode();
-    connect(m_webPage->mainFrame(), SIGNAL(initialLayoutCompleted()), this, SLOT(setNavigationMode()));
-    connect(this, SIGNAL(longPressEvent()), m_webPage,SIGNAL(longPressEvent()));
-    connect(this,SIGNAL(focusElementChanged(wrtBrowserDefs::BrowserElementType &)),
-            m_webPage,SLOT(setElementType(wrtBrowserDefs::BrowserElementType &)));
-    connect(this, SIGNAL(pageScrollPositionZero()), m_webPage, SIGNAL(pageScrollPositionZero()));
-
-}
-
-/*!
-*/
-WebNavigation::~WebNavigation() 
-{
-    delete m_webTouchNavigation;
-    delete m_webCursorNavigation;
-    delete m_webDirectionalNavigation;
-    delete m_webHtmlTabIndexNavigation;
-}
-
-void WebNavigation::setPage(QWebPage * page) {
-
-     m_webPage = page;
-     if (m_webTouchNavigation)
-         m_webTouchNavigation->setPage(page);
-     if (m_webCursorNavigation)
-         m_webCursorNavigation->setPage(page);
-     if (m_webDirectionalNavigation)
-         m_webDirectionalNavigation->setPage(page);
-     if (m_webHtmlTabIndexNavigation)
-         m_webHtmlTabIndexNavigation->setPage(page);
-}
-
-/*!
-    Sets the navigation mode
-*/
-void WebNavigation::setNavigationMode()
-{
-    if (!m_webPage)
-        return;
-
-    if (!m_view)
-        return;
-
-    if (m_webTouchNavigation)
-        m_webTouchNavigation->uninstall();
-    if (m_webCursorNavigation)
-        m_webCursorNavigation->uninstall();
-    if (m_webDirectionalNavigation)
-        m_webDirectionalNavigation->uninstall();
-    if (m_webHtmlTabIndexNavigation)
-        m_webHtmlTabIndexNavigation->uninstall();
-
-    QWebFrame* webFrame = m_webPage->currentFrame();
-    if (webFrame) {
-        QMultiMap<QString, QString> map = webFrame->metaData();
-        if (map.value("touchnavigation") != "off" && map.value("navigation") != "none") {
-            if (!m_webTouchNavigation) {
-                m_webTouchNavigation = new WebTouchNavigation(m_webPage,m_view);
-                connect( (const QObject*)(m_webTouchNavigation),SIGNAL(longPressEvent()),this,SIGNAL(longPressEvent()));
-                connect((const QObject*)(m_webTouchNavigation), SIGNAL(focusElementChanged(wrtBrowserDefs::BrowserElementType &)),
-                                        this, SIGNAL(focusElementChanged(wrtBrowserDefs::BrowserElementType &)));
-                connect( (const QObject*)(m_webTouchNavigation),SIGNAL(pageScrollPositionZero()),this,SIGNAL(pageScrollPositionZero()));
-                
-            }
-            else 
-                m_webTouchNavigation->install();
-        }
-
-       // Enable key navigation, browser does not depend on meta data for navigation
-        if (!m_webDirectionalNavigation) {
-            m_webDirectionalNavigation = new WebDirectionalNavigation(m_webPage,m_view);
-            connect( (const QObject*)(m_webDirectionalNavigation),SIGNAL(pageScrollPositionZero()),this,SIGNAL(pageScrollPositionZero()));
-        }
-        else {
-            m_webDirectionalNavigation->install();
-        }
-    }
-}
-
-}