From afd9edab7b0d1ea84a89cca44298f8fcebb58e7c Mon Sep 17 00:00:00 2001 From: Claudio Valerio Date: Tue, 5 Jun 2012 16:51:38 +0200 Subject: [PATCH] fixed issue with sankore object that is not persistent and has to be reloaded --- src/gui/UBLibWebView.cpp | 20 +++----------------- src/gui/UBLibWebView.h | 4 ++-- 2 files changed, 5 insertions(+), 19 deletions(-) diff --git a/src/gui/UBLibWebView.cpp b/src/gui/UBLibWebView.cpp index b02af11d..7384fb20 100644 --- a/src/gui/UBLibWebView.cpp +++ b/src/gui/UBLibWebView.cpp @@ -24,20 +24,9 @@ UBLibWebView::UBLibWebView(QWidget* parent, const char* name):QWidget(parent) mpView = new QWebView(this); mpView->setObjectName("SearchEngineView"); mpSankoreAPI = new UBWidgetUniboardAPI(UBApplication::boardController->activeScene()); - mpView->page()->mainFrame()->addToJavaScriptWindowObject("sankore", mpSankoreAPI); - - mpWebSettings = QWebSettings::globalSettings(); - mpWebSettings->setAttribute(QWebSettings::JavaEnabled, true); - mpWebSettings->setAttribute(QWebSettings::PluginsEnabled, true); - mpWebSettings->setAttribute(QWebSettings::LocalStorageDatabaseEnabled, true); - mpWebSettings->setAttribute(QWebSettings::OfflineWebApplicationCacheEnabled, true); - mpWebSettings->setAttribute(QWebSettings::OfflineStorageDatabaseEnabled, true); - mpWebSettings->setAttribute(QWebSettings::JavascriptCanAccessClipboard, true); - mpWebSettings->setAttribute(QWebSettings::DnsPrefetchEnabled, true); + connect(mpView->page()->mainFrame(), SIGNAL(javaScriptWindowObjectCleared()), this, SLOT(javaScriptWindowObjectCleared())); mpLayout->addWidget(mpView); - - connect(mpView, SIGNAL(loadFinished(bool)), this, SLOT(onLoadFinished(bool))); } UBLibWebView::~UBLibWebView() @@ -88,14 +77,11 @@ void UBLibWebView::setElement(UBLibElement *elem) f.close(); } } - mpView->load(QUrl::fromLocalFile(QString("%0/%1").arg(path).arg(qsWidgetName))); } } -void UBLibWebView::onLoadFinished(bool ok) +void UBLibWebView::javaScriptWindowObjectCleared() { - if(ok && NULL != mpSankoreAPI){ - mpView->page()->mainFrame()->addToJavaScriptWindowObject("sankore", mpSankoreAPI); - } + mpView->page()->mainFrame()->addToJavaScriptWindowObject("sankore", mpSankoreAPI); } diff --git a/src/gui/UBLibWebView.h b/src/gui/UBLibWebView.h index 3665f376..d9ccc245 100644 --- a/src/gui/UBLibWebView.h +++ b/src/gui/UBLibWebView.h @@ -19,8 +19,8 @@ public: void setElement(UBLibElement* elem); -private slots: - void onLoadFinished(bool ok); +protected slots: + virtual void javaScriptWindowObjectCleared(); private: QWebView* mpView;