From 2a30387e8fab7fa6eb26dbe4c735f8b31e79ff31 Mon Sep 17 00:00:00 2001 From: Ivan Ilin Date: Tue, 13 Mar 2012 20:08:23 +0200 Subject: [PATCH] Sankore284 --- resources/etc/freezedWidgetWrapper.html | 47 +++++++++++++++++++++++++ src/board/UBBoardController.cpp | 27 +++++++------- src/domain/UBW3CWidget.cpp | 25 +++++++++++++ src/domain/UBW3CWidget.h | 2 ++ 4 files changed, 87 insertions(+), 14 deletions(-) create mode 100644 resources/etc/freezedWidgetWrapper.html diff --git a/resources/etc/freezedWidgetWrapper.html b/resources/etc/freezedWidgetWrapper.html new file mode 100644 index 00000000..56f2f42a --- /dev/null +++ b/resources/etc/freezedWidgetWrapper.html @@ -0,0 +1,47 @@ + + + ololo + + + + +
Widget freezed.
+ + \ No newline at end of file diff --git a/src/board/UBBoardController.cpp b/src/board/UBBoardController.cpp index 8af91ade..2e4454d2 100644 --- a/src/board/UBBoardController.cpp +++ b/src/board/UBBoardController.cpp @@ -365,7 +365,7 @@ void UBBoardController::connectToolbar() void UBBoardController::startScript() { - freezeW3CWidgets(false); + freezeW3CWidgets(true); } void UBBoardController::stopScript() @@ -2160,16 +2160,15 @@ void UBBoardController::freezeW3CWidgets(bool freeze) void UBBoardController::freezeW3CWidget(QGraphicsItem *item, bool freeze) { - if(item->type() == UBGraphicsW3CWidgetItem::Type) - { - QString scriptString; - if (freeze) - scriptString = "setfreezed(true);"; - else - scriptString = "setfreezed(false);"; - UBGraphicsW3CWidgetItem* item_casted = dynamic_cast(item); - if (0 == item_casted) - return; - item_casted->widgetWebView()->page()->mainFrame()->evaluateJavaScript(scriptString); - } -} \ No newline at end of file + if(item->type() == UBGraphicsW3CWidgetItem::Type) + { + UBGraphicsW3CWidgetItem* item_casted = dynamic_cast(item); + if (0 == item_casted) + return; + + if (freeze) { + item_casted->widgetWebView()->page()->mainFrame()->setContent(UBW3CWidget::freezedWidgetPage().toAscii()); + } else + item_casted->widgetWebView()->loadMainHtml(); + } +} diff --git a/src/domain/UBW3CWidget.cpp b/src/domain/UBW3CWidget.cpp index d5e399b2..1209ba76 100644 --- a/src/domain/UBW3CWidget.cpp +++ b/src/domain/UBW3CWidget.cpp @@ -29,6 +29,8 @@ #include "core/memcheck.h" +const QString freezedWidgetDefaultContentFilePath = "./etc/freezedWidgetWrapper.html"; + bool UBW3CWidget::sTemplateLoaded = false; QMap UBW3CWidget::sNPAPIWrapperTemplates; QString UBW3CWidget::sNPAPIWrappperConfigTemplate; @@ -416,6 +418,29 @@ QString UBW3CWidget::createHtmlWrapperInDir(const QString& html, const QDir& pDi } +QString UBW3CWidget::freezedWidgetPage() +{ + static QString defaultcontent; + + if (defaultcontent.isNull()) { + QFile wrapperFile(freezedWidgetDefaultContentFilePath); + if (!wrapperFile.open(QIODevice::ReadOnly | QIODevice::Text)) { + qDebug() << "can't open wrapper file " + freezedWidgetDefaultContentFilePath; + defaultcontent = ""; + } else { + QByteArray arr = wrapperFile.readAll(); + if (!arr.isEmpty()) { + defaultcontent = QString(arr); + } else { + qDebug() << "content of " + freezedWidgetDefaultContentFilePath + "is empty"; + defaultcontent = ""; + } + } + } + + return defaultcontent; +} + void UBW3CWidget::loadNPAPIWrappersTemplates() { if (!sTemplateLoaded) diff --git a/src/domain/UBW3CWidget.h b/src/domain/UBW3CWidget.h index f407370b..d568e9d2 100644 --- a/src/domain/UBW3CWidget.h +++ b/src/domain/UBW3CWidget.h @@ -48,6 +48,8 @@ class UBW3CWidget : public UBAbstractWidget static QString createHtmlWrapperInDir(const QString& html, const QDir& pDir, const QSize& sizeHint, const QString& pName); + static QString freezedWidgetPage(); + static bool hasNPAPIWrapper(const QString& pMimeType); class PreferenceValue