diff --git a/Sankore_3.1.pro b/Sankore_3.1.pro
index 6873041d..2a132763 100644
--- a/Sankore_3.1.pro
+++ b/Sankore_3.1.pro
@@ -9,9 +9,9 @@ CONFIG += debug_and_release \
VERSION_MAJ = 2
-VERSION_MIN = 00
+VERSION_MIN = 00
VERSION_TYPE = r # a = alpha, b = beta, r = release, other => error
-VERSION_PATCH = 03
+VERSION_PATCH = 03
VERSION = "$${VERSION_MAJ}.$${VERSION_MIN}.$${VERSION_TYPE}.$${VERSION_PATCH}"
VERSION = $$replace(VERSION, "\\.r", "")
@@ -49,7 +49,6 @@ include(src/podcast/podcast.pri)
include(src/tools/tools.pri)
include(src/desktop/desktop.pri)
include(src/web/web.pri)
-include(src/transition/transition.pri)
include(src/interfaces/interfaces.pri)
include(src/customWidgets/customWidgets.pri)
@@ -129,10 +128,10 @@ win32 {
}
macx {
- LIBS += -framework Foundation
+ LIBS += -framework Foundation
LIBS += -lcrypto
#commented because Sankore crashes on Java Script. It seems to backends dependencies.
- #LIBS += -framework AppKit
+ #LIBS += -framework AppKit
#LIBS += -framework WebKit
CONFIG(release, debug|release):CONFIG += x86
@@ -352,7 +351,7 @@ macx {
TRANSLATION_mg.path = "$$RESOURCES_DIR/mg.lproj"
QMAKE_BUNDLE_DATA += TRANSLATION_mg
}
-
+
QMAKE_BUNDLE_DATA += UB_ETC \
UB_LIBRARY \
UB_FONTS \
diff --git a/resources/forms/mainWindow.ui b/resources/forms/mainWindow.ui
index 06ea51ab..67222ab7 100644
--- a/resources/forms/mainWindow.ui
+++ b/resources/forms/mainWindow.ui
@@ -1623,14 +1623,6 @@
Ctrl+H
-
-
- Import Uniboard Documents
-
-
- Import old Sankore or Uniboard documents
-
-
true
diff --git a/src/adaptors/UBExportDocument.cpp b/src/adaptors/UBExportDocument.cpp
index 81d49543..a69b8cf7 100644
--- a/src/adaptors/UBExportDocument.cpp
+++ b/src/adaptors/UBExportDocument.cpp
@@ -37,8 +37,6 @@ THIRD_PARTY_WARNINGS_DISABLE
#include "quazipfile.h"
THIRD_PARTY_WARNINGS_ENABLE
-#include "transition/UniboardSankoreTransition.h"
-
#include "core/memcheck.h"
UBExportDocument::UBExportDocument(QObject *parent)
@@ -78,10 +76,6 @@ void UBExportDocument::persist(UBDocumentProxy* pDocumentProxy)
void UBExportDocument::persistsDocument(UBDocumentProxy* pDocumentProxy, QString filename)
{
- UniboardSankoreTransition document;
- QString documentPath(pDocumentProxy->persistencePath());
- document.checkDocumentDirectory(documentPath);
-
QuaZip zip(filename);
zip.setFileNameCodec("UTF-8");
if(!zip.open(QuaZip::mdCreate))
diff --git a/src/adaptors/UBWebPublisher.cpp b/src/adaptors/UBWebPublisher.cpp
index 7c9f8b18..47ec6cc3 100644
--- a/src/adaptors/UBWebPublisher.cpp
+++ b/src/adaptors/UBWebPublisher.cpp
@@ -27,8 +27,6 @@
#include "adaptors/publishing/UBDocumentPublisher.h"
-#include "transition/UniboardSankoreTransition.h"
-
#include "core/memcheck.h"
UBWebPublisher::UBWebPublisher(QObject *parent)
@@ -55,10 +53,6 @@ void UBWebPublisher::persist(UBDocumentProxy* pDocumentProxy)
if (!pDocumentProxy)
return;
- UniboardSankoreTransition document;
- QString documentPath(pDocumentProxy->persistencePath());
- document.checkDocumentDirectory(documentPath);
-
UBDocumentPublisher* publisher = new UBDocumentPublisher(pDocumentProxy, this); // the publisher will self delete when publication finishes
publisher->publish();
diff --git a/src/core/UBApplication.cpp b/src/core/UBApplication.cpp
index 80c51605..b6b6e52c 100644
--- a/src/core/UBApplication.cpp
+++ b/src/core/UBApplication.cpp
@@ -72,7 +72,6 @@ UBApplicationController* UBApplication::applicationController = 0;
UBBoardController* UBApplication::boardController = 0;
UBWebController* UBApplication::webController = 0;
UBDocumentController* UBApplication::documentController = 0;
-UniboardSankoreTransition* UBApplication::mUniboardSankoreTransition = 0;
UBMainWindow* UBApplication::mainWindow = 0;
@@ -180,9 +179,6 @@ UBApplication::~UBApplication()
delete mainWindow;
mainWindow = 0;
- delete mUniboardSankoreTransition;
- mUniboardSankoreTransition = 0;
-
UBPersistenceManager::destroy();
UBDownloadManager::destroy();
@@ -325,9 +321,9 @@ int UBApplication::exec(const QString& pFileToImport)
UBDrawingController::drawingController()->setStylusTool((int)UBStylusTool::Pen);
- applicationController = new UBApplicationController(boardController->controlView(),
- boardController->displayView(),
- mainWindow,
+ applicationController = new UBApplicationController(boardController->controlView(),
+ boardController->displayView(),
+ mainWindow,
staticMemoryCleaner,
boardController->paletteManager()->rightPalette());
@@ -365,7 +361,6 @@ int UBApplication::exec(const QString& pFileToImport)
connect(mainWindow->actionMultiScreen, SIGNAL(triggered(bool)), applicationController, SLOT(useMultiScreen(bool)));
connect(mainWindow->actionWidePageSize, SIGNAL(triggered(bool)), boardController, SLOT(setWidePageSize(bool)));
connect(mainWindow->actionRegularPageSize, SIGNAL(triggered(bool)), boardController, SLOT(setRegularPageSize(bool)));
- connect(mainWindow->actionImportUniboardDocuments, SIGNAL(triggered()), this, SLOT(importUniboardFiles()));
connect(mainWindow->actionCut, SIGNAL(triggered()), applicationController, SLOT(actionCut()));
connect(mainWindow->actionCopy, SIGNAL(triggered()), applicationController, SLOT(actionCopy()));
@@ -399,12 +394,6 @@ void UBApplication::onScreenCountChanged(int newCount)
mainWindow->actionMultiScreen->setEnabled(displayManager.numScreens() > 1);
}
-void UBApplication::importUniboardFiles()
-{
- mUniboardSankoreTransition = new UniboardSankoreTransition();
- mUniboardSankoreTransition->documentTransition();
-}
-
#ifdef Q_WS_MAC
void UBApplication::showMinimized()
{
@@ -662,14 +651,13 @@ void UBApplication::cleanup()
if (boardController) delete boardController;
if (webController) delete webController;
if (documentController) delete documentController;
- if (mUniboardSankoreTransition) delete mUniboardSankoreTransition;
applicationController = NULL;
boardController = NULL;
webController = NULL;
documentController = NULL;
- mUniboardSankoreTransition = NULL;
+
}
void UBStyle::drawItemText(QPainter *painter, const QRect &rect, int alignment, const QPalette &pal,
diff --git a/src/core/UBApplication.h b/src/core/UBApplication.h
index b3d6aa27..618538b0 100644
--- a/src/core/UBApplication.h
+++ b/src/core/UBApplication.h
@@ -28,8 +28,6 @@
#include "qtsingleapplication.h"
-#include "transition/UniboardSankoreTransition.h"
-
namespace Ui
{
class MainWindow;
@@ -66,7 +64,6 @@ class UBApplication : public QtSingleApplication
static UBBoardController* boardController;
static UBWebController* webController;
static UBDocumentController* documentController;
- static UniboardSankoreTransition* mUniboardSankoreTransition;
static UBMainWindow* mainWindow;
@@ -123,8 +120,6 @@ class UBApplication : public QtSingleApplication
#ifdef Q_WS_MAC
void showMinimized();
#endif
- void importUniboardFiles();
-
void onScreenCountChanged(int newCount);
private:
diff --git a/src/domain/UBGraphicsItemDelegate.cpp b/src/domain/UBGraphicsItemDelegate.cpp
index a6b5392b..0176484c 100644
--- a/src/domain/UBGraphicsItemDelegate.cpp
+++ b/src/domain/UBGraphicsItemDelegate.cpp
@@ -450,7 +450,9 @@ void UBGraphicsItemDelegate::positionHandles()
foreach(DelegateButton* button, mButtons)
button->hide();
- mFrame->hide();
+ if(mFrame)
+ mFrame->hide();
+
if (mToolBarItem)
mToolBarItem->hide();
}
diff --git a/src/domain/UBGraphicsScene.cpp b/src/domain/UBGraphicsScene.cpp
index 7f2ba11e..fc49ef78 100644
--- a/src/domain/UBGraphicsScene.cpp
+++ b/src/domain/UBGraphicsScene.cpp
@@ -1099,9 +1099,6 @@ void UBGraphicsScene::clearContent(clearCase pCase)
case clearAnnotations :
foreach(QGraphicsItem* item, items()) {
- bool isGroup = item->type() == UBGraphicsGroupContainerItem::Type;
- bool isStrokesGroup = item->type() == UBGraphicsStrokesGroup::Type;
-
UBGraphicsGroupContainerItem *itemGroup = item->parentItem()
? qgraphicsitem_cast(item->parentItem())
: 0;
@@ -1110,6 +1107,9 @@ void UBGraphicsScene::clearContent(clearCase pCase)
continue;
}
+ bool isGroup = item->type() == UBGraphicsGroupContainerItem::Type;
+ bool isStrokesGroup = item->type() == UBGraphicsStrokesGroup::Type;
+
bool shouldDelete = false;
switch (static_cast(pCase)) {
case clearAnnotations :
diff --git a/src/frameworks/UBCoreGraphicsScene.cpp b/src/frameworks/UBCoreGraphicsScene.cpp
index 9f0cd120..44dc13f0 100644
--- a/src/frameworks/UBCoreGraphicsScene.cpp
+++ b/src/frameworks/UBCoreGraphicsScene.cpp
@@ -47,6 +47,7 @@ UBCoreGraphicsScene::~UBCoreGraphicsScene()
if (item->scene() == NULL || item->scene() == this)
{
delete item;
+ item = NULL;
}
}
}
@@ -62,7 +63,7 @@ void UBCoreGraphicsScene::addItem(QGraphicsItem* item)
removeItemFromDeletion(curItem);
}
}
-
+
if (item->scene() != this)
QGraphicsScene::addItem(item);
diff --git a/src/transition/UniboardSankoreTransition.cpp b/src/transition/UniboardSankoreTransition.cpp
deleted file mode 100644
index cce8ce7d..00000000
--- a/src/transition/UniboardSankoreTransition.cpp
+++ /dev/null
@@ -1,300 +0,0 @@
-/*
- * Copyright (C) 2012 Webdoc SA
- *
- * This file is part of Open-Sankoré.
- *
- * Open-Sankoré is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, version 3 of the License,
- * with a specific linking exception for the OpenSSL project's
- * "OpenSSL" library (or with modified versions of it that use the
- * same license as the "OpenSSL" library).
- *
- * Open-Sankoré is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with Open-Sankoré. If not, see .
- */
-
-
-
-#include "UniboardSankoreTransition.h"
-#include "core/UBSettings.h"
-#include "frameworks/UBFileSystemUtils.h"
-#include "core/UBApplication.h"
-#include "core/UBPersistenceManager.h"
-#include "gui/UBMainWindow.h"
-
-#include "core/memcheck.h"
-
-UniboardSankoreTransition::UniboardSankoreTransition(QObject *parent) :
- QObject(parent)
- , mTransitionDlg(NULL)
- , mThread(NULL)
-{
- mOldSankoreDirectory = UBFileSystemUtils::normalizeFilePath(QDesktopServices::storageLocation(QDesktopServices::DataLocation));
-
- mUniboardSourceDirectory = UBFileSystemUtils::normalizeFilePath(QDesktopServices::storageLocation(QDesktopServices::DataLocation));
-#if defined(Q_WS_MACX)
- mOldSankoreDirectory.replace("Sankore/Sankore 3.1", "Sankore");
- mUniboardSourceDirectory.replace("Sankore/Sankore 3.1", "Uniboard");
-#else
- mUniboardSourceDirectory.replace("Sankore/Sankore 3.1", "Mnemis/Uniboard");
-#endif
- connect(this, SIGNAL(docAdded(UBDocumentProxy*)), UBPersistenceManager::persistenceManager(), SIGNAL(documentCreated(UBDocumentProxy*)));
-}
-
-UniboardSankoreTransition::~UniboardSankoreTransition()
-{
- if(NULL != mTransitionDlg)
- {
- delete mTransitionDlg;
- mTransitionDlg = NULL;
- }
-
- if(mThread){
- delete mThread;
- mThread = NULL;
- }
-}
-
-void UniboardSankoreTransition::rollbackDocumentsTransition(QFileInfoList& fileInfoList)
-{
- QFileInfoList::iterator fileInfo;
- for (fileInfo = fileInfoList.begin(); fileInfo != fileInfoList.end(); fileInfo += 1) {
- if (fileInfo->isDir() && fileInfo->fileName().startsWith("Uniboard Document ")){
- QString sankoreDocumentName = fileInfo->fileName();
- sankoreDocumentName.replace("Uniboard","Sankore");
- QString sankoreDocumentDirectoryPath = UBSettings::userDocumentDirectory() + "/" + sankoreDocumentName;
- if (QFileInfo(sankoreDocumentDirectoryPath).exists()){
- UBFileSystemUtils::deleteDir(sankoreDocumentDirectoryPath);
- }
- }
- }
-}
-
-bool UniboardSankoreTransition::checkDocumentDirectory(QString& documentDirectoryPath)
-{
- bool result = true;
- result = updateSankoreHRef(documentDirectoryPath);
- QString sankoreWidgetPath = documentDirectoryPath + "/widgets";
- result &= updateIndexWidget(sankoreWidgetPath);
- return result;
-}
-
-void UniboardSankoreTransition::documentTransition()
-{
- if (QFileInfo(mUniboardSourceDirectory).exists() || QFileInfo(mOldSankoreDirectory).exists()){
- QString uniboardDocumentDirectory = mUniboardSourceDirectory + "/document";
-
- QFileInfoList fileInfoList = UBFileSystemUtils::allElementsInDirectory(uniboardDocumentDirectory);
- fileInfoList << UBFileSystemUtils::allElementsInDirectory(mOldSankoreDirectory + "/document");
-
- QString backupDirectoryPath = UBFileSystemUtils::normalizeFilePath(QDesktopServices::storageLocation(QDesktopServices::DesktopLocation));
-
- if (fileInfoList.count() != 0){
- mTransitionDlg = new UBUpdateDlg(NULL, fileInfoList.count(), backupDirectoryPath);
- connect(mTransitionDlg, SIGNAL(updateFiles()), this, SLOT(startDocumentTransition()));
- connect(this, SIGNAL(transitionFinished(bool)), mTransitionDlg, SLOT(onFilesUpdated(bool)));
- mTransitionDlg->show();
- }
- }
- else{
- UBApplication::mainWindow->information(tr("Import old Uniboard/Sankore documents"), tr("There are no documents that should be imported"));
- }
-}
-
-void UniboardSankoreTransition::startDocumentTransition()
-{
- mThread = new UniboardSankoreThread(this);
- mThread->start();
- connect(this,SIGNAL(transitioningFile(QString)),mTransitionDlg,SLOT(transitioningFile(QString)));
-}
-
-
-bool UniboardSankoreTransition::checkPage(QString& sankorePagePath)
-{
- QFile file(sankorePagePath);
- if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
- return false;
-
- QByteArray documentByteArray = file.readAll();
- file.close();
-
- QString sankoreDirectory = sankorePagePath.left(sankorePagePath.indexOf("/page"));
-
- sankoreDirectory = QUrl::fromLocalFile(sankoreDirectory).toString();
- QString documentString(documentByteArray);
-
- QRegExp videoRegExp("");
- videoRegExp.setMinimal(true);
-
- documentString.replace(videoRegExp,"");
-
-
- QRegExp audioRegExp("");
- audioRegExp.setMinimal(true);
-
- documentString.replace(audioRegExp,"");
-
- if (!file.open(QIODevice::WriteOnly | QIODevice::Text))
- return false;
-
- file.write(documentString.toAscii());
- file.close();
-
- return true;
-}
-
-
-bool UniboardSankoreTransition::checkWidget(QString& sankoreWidgetIndexPath)
-{
- QFile file(sankoreWidgetIndexPath);
- if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
- return false;
-
- QByteArray documentByteArray = file.readAll();
- file.close();
-
- QString documentString(documentByteArray);
-
- QRegExp swfOriginFilePathRegExp("");
- swfOriginFilePathRegExp.setMinimal(true);
- swfOriginFilePathRegExp.indexIn(documentString);
- QString origin = swfOriginFilePathRegExp.cap(1);
- if(origin.contains("http://")){
- // an url is the source of the swf. The source is kept as is.
- return true;
- }
-
- //changing the path
- QRegExp swfDataPathRegExp("