fixed issue with sankore object that is not persistent and has to be reloaded

preferencesAboutTextFull
Claudio Valerio 13 years ago
parent dc7e8b9457
commit afd9edab7b
  1. 18
      src/gui/UBLibWebView.cpp
  2. 4
      src/gui/UBLibWebView.h

@ -24,20 +24,9 @@ UBLibWebView::UBLibWebView(QWidget* parent, const char* name):QWidget(parent)
mpView = new QWebView(this); mpView = new QWebView(this);
mpView->setObjectName("SearchEngineView"); mpView->setObjectName("SearchEngineView");
mpSankoreAPI = new UBWidgetUniboardAPI(UBApplication::boardController->activeScene()); mpSankoreAPI = new UBWidgetUniboardAPI(UBApplication::boardController->activeScene());
mpView->page()->mainFrame()->addToJavaScriptWindowObject("sankore", mpSankoreAPI); connect(mpView->page()->mainFrame(), SIGNAL(javaScriptWindowObjectCleared()), this, SLOT(javaScriptWindowObjectCleared()));
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);
mpLayout->addWidget(mpView); mpLayout->addWidget(mpView);
connect(mpView, SIGNAL(loadFinished(bool)), this, SLOT(onLoadFinished(bool)));
} }
UBLibWebView::~UBLibWebView() UBLibWebView::~UBLibWebView()
@ -88,14 +77,11 @@ void UBLibWebView::setElement(UBLibElement *elem)
f.close(); f.close();
} }
} }
mpView->load(QUrl::fromLocalFile(QString("%0/%1").arg(path).arg(qsWidgetName))); 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);
} }
}

@ -19,8 +19,8 @@ public:
void setElement(UBLibElement* elem); void setElement(UBLibElement* elem);
private slots: protected slots:
void onLoadFinished(bool ok); virtual void javaScriptWindowObjectCleared();
private: private:
QWebView* mpView; QWebView* mpView;

Loading…
Cancel
Save