From 4bf8dc1620eff1bf0d47de0dad0b137916cdb812 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 17 Jun 2011 16:48:23 +0200 Subject: [PATCH] Virtual keyboard: removed from Document perspective, added to web --- Sankore_3.1.pro | 2 +- src/adaptors/UBImportDocument.cpp | 5 ++- src/core/UBApplication.cpp | 7 ++-- src/gui/UBDocumentToolsPalette.cpp | 11 ++----- src/gui/UBKeyboardPalette.cpp | 3 ++ src/web/UBWebController.cpp | 51 +++++++++++++++++++++++------- src/web/UBWebController.h | 6 ++++ 7 files changed, 60 insertions(+), 25 deletions(-) diff --git a/Sankore_3.1.pro b/Sankore_3.1.pro index 21dda686..a9a3b7d9 100644 --- a/Sankore_3.1.pro +++ b/Sankore_3.1.pro @@ -113,7 +113,7 @@ win32 { UB_I18N.path = $$DESTDIR/i18n UB_ETC.path = $$DESTDIR UB_THIRDPARTY_INTERACTIVE.path = $$DESTDIR/library - system(md $$replace(BUILD_DIR, /, \)) + system(md $$replace(BUILD_DIR, /, \\)) system(echo "$$VERSION" > $$BUILD_DIR/version) system(echo "$$LONG_VERSION" > $$BUILD_DIR/longversion) system(echo "$$SVN_VERSION" > $$BUILD_DIR/svnversion) diff --git a/src/adaptors/UBImportDocument.cpp b/src/adaptors/UBImportDocument.cpp index 86cd8b80..d57e07b7 100644 --- a/src/adaptors/UBImportDocument.cpp +++ b/src/adaptors/UBImportDocument.cpp @@ -39,7 +39,7 @@ QStringList UBImportDocument::supportedExtentions() QString UBImportDocument::importFileFilter() { - return tr("Uniboard (*.ubz)"); + return tr("Sankore 3.1 (*.ubz)"); } @@ -77,9 +77,8 @@ QString UBImportDocument::expandFileToDir(const QFile& pZipFile, const QString& } if (createNewDocument) - { documentRootFolder = UBPersistenceManager::persistenceManager()->generateUniqueDocumentPath(); - } + QFile out; char c; diff --git a/src/core/UBApplication.cpp b/src/core/UBApplication.cpp index 4b47f73a..6d70af89 100644 --- a/src/core/UBApplication.cpp +++ b/src/core/UBApplication.cpp @@ -199,6 +199,7 @@ int UBApplication::exec(const QString& pFileToImport) QWebSettings *gs = QWebSettings::globalSettings(); gs->setAttribute(QWebSettings::PluginsEnabled, true); + gs->setAttribute(QWebSettings::JavaEnabled, true); gs->setAttribute(QWebSettings::LocalStorageDatabaseEnabled, true); gs->setAttribute(QWebSettings::OfflineWebApplicationCacheEnabled, true); gs->setAttribute(QWebSettings::OfflineStorageDatabaseEnabled, true); @@ -435,10 +436,12 @@ void UBApplication::decorateActionMenu(QAction* action) // SANKORE-48: Hide the check update action if the setting // EnableAutomaticSoftwareUpdates is false in Uniboard.config - if(UBSettings::settings()->appEnableAutomaticSoftwareUpdates->get().toBool()) - { + if(UBSettings::settings()->appEnableAutomaticSoftwareUpdates->get().toBool()){ menu->addAction(mainWindow->actionCheckUpdate); } + else{ + mainWindow->actionCheckUpdate->setEnabled(false); + } #ifndef Q_WS_X11 // No Podcast on Linux yet menu->addAction(mainWindow->actionPodcast); diff --git a/src/gui/UBDocumentToolsPalette.cpp b/src/gui/UBDocumentToolsPalette.cpp index 60e39008..c2edb2a6 100644 --- a/src/gui/UBDocumentToolsPalette.cpp +++ b/src/gui/UBDocumentToolsPalette.cpp @@ -14,15 +14,10 @@ UBDocumentToolsPalette::UBDocumentToolsPalette(QWidget *parent) { QList actions; - if (UBPlatformUtils::hasVirtualKeyboard()) - { - actions << UBApplication::mainWindow->actionVirtualKeyboard; - } + setActions(actions); + setButtonIconSize(QSize(42, 42)); - setActions(actions); - setButtonIconSize(QSize(42, 42)); - - adjustSizeAndPosition(); + adjustSizeAndPosition(); } diff --git a/src/gui/UBKeyboardPalette.cpp b/src/gui/UBKeyboardPalette.cpp index 3a6dc992..a2752511 100644 --- a/src/gui/UBKeyboardPalette.cpp +++ b/src/gui/UBKeyboardPalette.cpp @@ -49,6 +49,9 @@ UBKeyboardPalette::UBKeyboardPalette(QWidget *parent) QList UBKeyboardPalette::instances; UBKeyboardPalette* UBKeyboardPalette::create(QWidget *parent) { + if (!UBPlatformUtils::hasVirtualKeyboard()) + return NULL; + UBKeyboardPalette* instance = new UBKeyboardPalette(parent); instances.append(instance); diff --git a/src/web/UBWebController.cpp b/src/web/UBWebController.cpp index 48499329..5bf53c9c 100644 --- a/src/web/UBWebController.cpp +++ b/src/web/UBWebController.cpp @@ -24,6 +24,7 @@ #include "gui/UBScreenMirror.h" #include "gui/UBMainWindow.h" #include "gui/UBWebToolsPalette.h" +#include "gui/UBKeyboardPalette.h" #include "core/UBSettings.h" #include "core/UBSetting.h" @@ -46,6 +47,7 @@ UBWebController::UBWebController(UBMainWindow* mainWindow) , mBrowserWidget(0) , mTrapFlashController(0) , mToolsCurrentPalette(0) + , mKeyboardCurrentPalette(0) , mToolsPalettePositionned(false) , mDownloadViewIsVisible(false) @@ -81,6 +83,7 @@ void UBWebController::webBrowserInstance() { mCurrentWebBrowser = &mWebBrowserList[WebBrowser]; mToolsCurrentPalette = &mToolsPaletteList[WebBrowser]; + mKeyboardCurrentPalette = &mKeyboardPaletteList[WebBrowser]; mToolsPalettePositionned = mToolsPalettePositionnedList[WebBrowser]; if (!(*mCurrentWebBrowser)) { @@ -137,9 +140,9 @@ void UBWebController::tutorialWebInstance() { QLocale locale = QLocale(); QString language = "_" + locale.name().left(2); - qDebug() << language; + QString tutorialHtmlIndexFile = 0; - QString tutorialPath = "/etc/Paraschool/Tutorial/site" + language + "/index.html"; + QString tutorialPath = "/etc/Tutorial/tutorial" + language + "/index.html"; #if defined(Q_WS_MAC) tutorialHtmlIndexFile = QApplication::applicationDirPath()+ "/../Resources" + tutorialPath; #elif defined(Q_WS_WIN) @@ -158,6 +161,7 @@ void UBWebController::tutorialWebInstance() { mCurrentWebBrowser = &mWebBrowserList[Tutorial]; mToolsCurrentPalette = &mToolsPaletteList[Tutorial]; + mKeyboardCurrentPalette = &mKeyboardPaletteList[Tutorial]; mToolsPalettePositionned = &mToolsPalettePositionnedList[Tutorial]; if (!(*mCurrentWebBrowser)) { @@ -195,19 +199,29 @@ void UBWebController::tutorialWebInstance() void UBWebController::paraschoolWebInstance() { - QUrl currentUrl("http://host9.paraschool.net/editor/#home"); - - if (UBSettings::settings()->webUseExternalBrowser->get().toBool()) - { + QLocale locale = QLocale(); + QString language = "_" + locale.name().left(2); + QString editorPath = "/etc/SankoreEditor/editor" + language + "/index.html"; + QString editorHtmlIndexFile; + #if defined(Q_WS_MAC) + editorHtmlIndexFile = QApplication::applicationDirPath() + "/../Resources" + editorPath; + #elif defined(Q_WS_WIN) + editorHtmlIndexFile = QApplication::applicationDirPath() + editorPath; + #else + editorHtmlIndexFile = QApplication::applicationDirPath() + editorPath; + #endif + + QUrl currentUrl = QUrl::fromLocalFile(editorHtmlIndexFile); + + if (UBSettings::settings()->webUseExternalBrowser->get().toBool()){ QDesktopServices::openUrl(currentUrl); } - else - { + else { mCurrentWebBrowser = &mWebBrowserList[Paraschool]; mToolsCurrentPalette = &mToolsPaletteList[Paraschool]; + mKeyboardCurrentPalette = &mKeyboardPaletteList[Paraschool]; mToolsPalettePositionned = &mToolsPalettePositionnedList[Paraschool]; - if (!(*mCurrentWebBrowser)) - { + if (!(*mCurrentWebBrowser)){ (*mCurrentWebBrowser) = new WBBrowserWindow(mMainWindow->centralWidget(), mMainWindow, true); connect((*mCurrentWebBrowser), SIGNAL(activeViewChange(QWidget*)), this, SLOT(setSourceWidget(QWidget*))); @@ -343,9 +357,12 @@ QPixmap UBWebController::captureCurrentPage() void UBWebController::setupPalettes() { - if(!(*mToolsCurrentPalette)){ + if(!(*mToolsCurrentPalette)) + { (*mToolsCurrentPalette) = new UBWebToolsPalette((*mCurrentWebBrowser),false); + (*mKeyboardCurrentPalette) = UBKeyboardPalette::create(*mCurrentWebBrowser); + connect(mMainWindow->actionWebTrapFlash, SIGNAL(triggered()), this, SLOT(trapFlash())); connect(mMainWindow->actionWebCustomCapture, SIGNAL(triggered()), this, SLOT(customCapture())); connect(mMainWindow->actionWebWindowCapture, SIGNAL(triggered()), this, SLOT(captureWindow())); @@ -355,9 +372,12 @@ void UBWebController::setupPalettes() connect(mMainWindow->actionWebShowHideOnDisplay, SIGNAL(toggled(bool)), this, SLOT(toogleMirroring(bool))); connect(mMainWindow->actionWebTrap, SIGNAL(toggled(bool)), this, SLOT(toggleWebTrap(bool))); + connect(mMainWindow->actionVirtualKeyboard, SIGNAL(toggled(bool)), this, SLOT(showKeyboard(bool))); + (*mToolsCurrentPalette)->hide(); (*mToolsCurrentPalette)->adjustSizeAndPosition(); + (*mKeyboardCurrentPalette)->adjustSizeAndPosition(); if (controlView()){ int left = controlView()->width() - 20 - (*mToolsCurrentPalette)->width(); @@ -381,6 +401,15 @@ void UBWebController::toggleWebTrap(bool checked) } } +void UBWebController::showKeyboard(bool checked) +{ + if (mKeyboardCurrentPalette + && (*mKeyboardCurrentPalette)) + { + (*mKeyboardCurrentPalette)->setVisible(checked); + } +} + void UBWebController::toggleWebToolsPalette(bool checked) { diff --git a/src/web/UBWebController.h b/src/web/UBWebController.h index 2a9acd83..1737354f 100644 --- a/src/web/UBWebController.h +++ b/src/web/UBWebController.h @@ -20,6 +20,7 @@ class UBMainWindow; class UBWebToolsPalette; class WBWebView; class UBServerXMLHttpRequest; +class UBKeyboardPalette; class UBWebController : public QObject @@ -92,6 +93,8 @@ class UBWebController : public QObject UBTrapFlashController* mTrapFlashController; UBWebToolsPalette** mToolsCurrentPalette; UBWebToolsPalette* mToolsPaletteList[TotalNumberOfWebInstances]; + UBKeyboardPalette** mKeyboardCurrentPalette; + UBKeyboardPalette* mKeyboardPaletteList[TotalNumberOfWebInstances]; bool mToolsPalettePositionned; bool mToolsPalettePositionnedList[TotalNumberOfWebInstances]; @@ -115,6 +118,9 @@ class UBWebController : public QObject void toggleWebTrap(bool checked); + void showKeyboard(bool checked); + + void getOEmbedProviderListResponse(bool success, const QByteArray& payload); signals: