diff -r 0d1adf67ec1b -r 12f60d9a73b3 userguide/src/BrowserWrapper.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/userguide/src/BrowserWrapper.cpp Tue Aug 31 15:06:12 2010 +0300 @@ -0,0 +1,95 @@ +/* +* 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 +#include +#include +#include + +#include "HelpDocumentLoader.h" +#include "HelpCommon.h" +#include "BrowserWrapper.h" + +#ifdef Q_OS_SYMBIAN +#include +#endif + +BrowserWrapper::BrowserWrapper() +{ +} + +BrowserWrapper::~BrowserWrapper() +{ +} + +void BrowserWrapper::init() +{ +#ifdef Q_OS_SYMBIAN + WRT::WrtController* wrtController = new WRT::WrtController(this, WRT::GraphicsWebView); + mWebView = wrtController->graphicsWebView(); +#else + mWebView = new QGraphicsWebView(); +#endif + mWebView->page()->setLinkDelegationPolicy(QWebPage::DelegateAllLinks); + mWebView->page()->mainFrame()->setScrollBarPolicy(Qt::Horizontal, Qt::ScrollBarAlwaysOff); + mWebView->page()->mainFrame()->setScrollBarPolicy(Qt::Vertical, Qt::ScrollBarAlwaysOff); + mWebView->settings()->setAttribute(QWebSettings::PluginsEnabled, true); + mWebView->settings()->setAttribute(QWebSettings::JavascriptEnabled, true); + mWebView->settings()->setAttribute(QWebSettings::DeveloperExtrasEnabled, true); + mWebView->settings()->setAttribute(QWebSettings::JavascriptCanOpenWindows, true); + connect(mWebView, SIGNAL(linkClicked(const QUrl&)), this, SIGNAL(linkClicked(const QUrl&))); + + QGraphicsLinearLayout* vLayout = new QGraphicsLinearLayout(this); + vLayout->setOrientation(Qt::Vertical); + vLayout->addItem(mWebView); + vLayout->setContentsMargins(0,0,0,0); + setLayout(vLayout); +} + +void BrowserWrapper::setHtml(const QString& html, const QUrl& url) +{ + mWebView->setHtml(html, url); + + if(!mHistory.count() || mHistory.top()!=url) + { + mHistory.append(url); + } +} + +void BrowserWrapper::clearHistory() +{ + mHistory.clear(); +} + +bool BrowserWrapper::canGoBack() +{ + return (mHistory.count() > 1); +} + +void BrowserWrapper::back() +{ + if(canGoBack()) + { + mHistory.pop(); + QUrl url = mHistory.top(); + emit urlChanged(url); + } +} + + +// end of file +