Merge branch 'master' of github.com:Sankore/Sankore-3.1

preferencesAboutTextFull
shibakaneki 13 years ago
commit 7823babd14
  1. 7
      Sankore_3.1.pro
  2. 2
      src/board/UBLibraryController.cpp
  3. 6
      src/core/UBApplication.cpp
  4. 3
      src/core/UBApplication.h
  5. 2
      src/frameworks/UBDesktopServices_mac.cpp
  6. 2
      src/gui/UBUpdateDlg.cpp
  7. 72
      src/transition/UniboardSankoreTransition.cpp
  8. 11
      src/transition/UniboardSankoreTransition.h
  9. 5
      src/transition/transition.pri
  10. 4
      src/web/UBWebController.cpp

@ -47,6 +47,7 @@ include(src/desktop/desktop.pri)
include(src/web/web.pri)
include(src/softwareupdate/softwareupdate.pri)
include(src/paraschool/paraschool.pri)
include(src/transition/transition.pri)
DEPENDPATH += thirdparty/mera/pdf-merger
INCLUDEPATH += thirdparty/mera/pdf-merger
@ -346,9 +347,3 @@ INSTALLS = UB_ETC \
UB_THIRDPARTY_INTERACTIVE
OTHER_FILES +=
HEADERS += \
src/transition/UniboardSankoreTransition.h
SOURCES += \
src/transition/UniboardSankoreTransition.cpp

@ -321,7 +321,7 @@ QImage* UBLibraryController::thumbnailForFile(UBLibElement* pElement)
QList<UBLibElement*> UBLibraryController::addVirtualElementsForItemPath(const QString& pPath)
{
QList<UBLibElement*> content;
if (pPath == mInteractiveCategoryPath.toString())
if (pPath == mInteractiveUserDirectoryPath.toLocalFile())
content << mInternalLibElements;
else if (pPath == mPicturesStandardDirectoryPath.toLocalFile()){
QUrl path = QUrl::fromLocalFile(UBSettings::settings()->uniboardImageLibraryDirectory());

@ -45,7 +45,6 @@
#include "ui_mainWindow.h"
#include "transition/UniboardSankoreTransition.h"
QPointer<QUndoStack> UBApplication::undoStack;
@ -54,6 +53,7 @@ UBBoardController* UBApplication::boardController = 0;
UBWebController* UBApplication::webController = 0;
UBDocumentController* UBApplication::documentController = 0;
UBSoftwareUpdateController* UBApplication::softwareUpdateController = 0;
UniboardSankoreTransition* UBApplication::mUniboardSankoreTransition = 0;
UBMainWindow* UBApplication::mainWindow = 0;
@ -299,8 +299,8 @@ int UBApplication::exec(const QString& pFileToImport)
UBLibraryController::preloadFirstOnlineLibrary();
UniboardSankoreTransition* transition = new UniboardSankoreTransition();
transition->backupUniboardDirectory();
mUniboardSankoreTransition = new UniboardSankoreTransition();
mUniboardSankoreTransition->documentTransition();
return QApplication::exec();
}

@ -12,12 +12,14 @@
#include "qtsingleapplication.h"
#include "transition/UniboardSankoreTransition.h"
namespace Ui
{
class MainWindow;
}
class UBBoardController;
class UBWebController;
class UBControlView;
@ -49,6 +51,7 @@ class UBApplication : public QtSingleApplication
static UBWebController* webController;
static UBDocumentController* documentController;
static UBSoftwareUpdateController* softwareUpdateController;
static UniboardSankoreTransition* mUniboardSankoreTransition;
static UBMainWindow* mainWindow;

@ -82,7 +82,7 @@ QString UBDesktopServices::storageLocation(StandardLocation type)
QString path = getFullPath(ref);
if (QDesktopServices::DataLocation == type || QDesktopServices::CacheLocation == type)
path += "/Sankore";
path += "/Sankore/Sankore 3.1";
return path;
}

@ -61,7 +61,7 @@ void UBUpdateDlg::onFilesUpdated(bool bResult)
if(bResult)
{
qsMsg = tr("Files update successful");
qsMsg = tr("Files update successful!\nPlease reboot the application to access the updated documents.");
}
else
{

@ -2,28 +2,25 @@
#include "core/UBSettings.h"
#include "frameworks/UBDesktopServices.h"
#include "frameworks/UBFileSystemUtils.h"
#include "core/UBApplication.h"
#include "core/UBPersistenceManager.h"
UniboardSankoreTransition::UniboardSankoreTransition(QObject *parent) :
QObject(parent)
{
mUniboardSourceDirectory = UBDesktopServices::storageLocation(QDesktopServices::DataLocation);
mUniboardSourceDirectory.replace("Sankore", "Mnemis/Uniboard");
mUniboardSourceDirectory = UBFileSystemUtils::normalizeFilePath(UBDesktopServices::storageLocation(QDesktopServices::DataLocation));
#if defined(Q_WS_MACX)
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*)));
}
bool UniboardSankoreTransition::backupUniboardDirectory()
UniboardSankoreTransition::~UniboardSankoreTransition()
{
bool result = false;
QString destinationDirectory = UBDesktopServices::storageLocation(QDesktopServices::DesktopLocation);
if(QFileInfo(destinationDirectory).exists() && QFileInfo(mUniboardSourceDirectory).exists()){
if(!destinationDirectory.endsWith("/")) destinationDirectory += "/";
result = UBFileSystemUtils::copyDir(mUniboardSourceDirectory, destinationDirectory + QFileInfo(mUniboardSourceDirectory).fileName() + "BackupData/");
if(result) documentTransition();
}
return result;
delete mTransitionDlg;
}
void UniboardSankoreTransition::rollbackDocumentsTransition(QFileInfoList& fileInfoList)
{
QFileInfoList::iterator fileInfo;
@ -41,26 +38,61 @@ void UniboardSankoreTransition::rollbackDocumentsTransition(QFileInfoList& fileI
void UniboardSankoreTransition::documentTransition()
{
QString uniboardDocumentDirectory = mUniboardSourceDirectory + "/document";
QString sankoreDocumentDirectory = UBSettings::uniboardDocumentDirectory();
if (QFileInfo(mUniboardSourceDirectory).exists()){
QString uniboardDocumentDirectory = mUniboardSourceDirectory + "/document";
QFileInfoList fileInfoList = UBFileSystemUtils::allElementsInDirectory(uniboardDocumentDirectory);
QString backupDirectoryPath = UBFileSystemUtils::normalizeFilePath(UBDesktopServices::storageLocation(QDesktopServices::DesktopLocation));
mTransitionDlg = new UBUpdateDlg(0, fileInfoList.count(), backupDirectoryPath);
connect(mTransitionDlg, SIGNAL(updateFiles()), this, SLOT(startDocumentTransition()));
connect(this, SIGNAL(transitionFinished(bool)), mTransitionDlg, SLOT(onFilesUpdated(bool)));
mTransitionDlg->show();
}
}
void UniboardSankoreTransition::startDocumentTransition()
{
bool result = false;
QString backupDestinationPath = mTransitionDlg->backupPath() + "/UniboardBackup";
result = UBFileSystemUtils::copyDir(mUniboardSourceDirectory, backupDestinationPath);
QString uniboardDocumentDirectory = mUniboardSourceDirectory + "/document";
QFileInfoList fileInfoList = UBFileSystemUtils::allElementsInDirectory(uniboardDocumentDirectory);
QFileInfoList::iterator fileInfo;
bool result = true;
QString sankoreDocumentDirectory = UBSettings::uniboardDocumentDirectory();
QStringList qslNewDocs;
for (fileInfo = fileInfoList.begin(); fileInfo != fileInfoList.end() && result; fileInfo += 1) {
if (fileInfo->isDir() && fileInfo->fileName().startsWith("Uniboard Document ")){
QString sankoreDocumentName = fileInfo->fileName();
sankoreDocumentName.replace("Uniboard","Sankore");
result = UBFileSystemUtils::copyDir(fileInfo->filePath(),sankoreDocumentDirectory + "/" + sankoreDocumentName);
qslNewDocs << sankoreDocumentName;
}
}
if (!result){
qWarning() << "The transaction has failed during the copy of the " + fileInfo->filePath() + " document.";
qWarning() << "The transaction has failed";
rollbackDocumentsTransition(fileInfoList);
UBFileSystemUtils::deleteDir(backupDestinationPath);
}
else {
else
{
UBFileSystemUtils::deleteDir(mUniboardSourceDirectory);
// Notify the application that new documents have been added
// foreach(QString qstr, qslNewDocs)
// {
// UBDocumentProxy* pDoc = new UBDocumentProxy();
// pDoc->setMetaData(UBSettings::documentName, qstr);
// emit docAdded(pDoc);
// }
}
}
emit transitionFinished(result);
mTransitionDlg->hide();
}

@ -3,24 +3,31 @@
#include <QObject>
#include <QFileInfo>
#include "gui/UBUpdateDlg.h"
#include "document/UBDocumentProxy.h"
class UniboardSankoreTransition : public QObject
{
Q_OBJECT
public:
explicit UniboardSankoreTransition(QObject *parent = 0);
bool backupUniboardDirectory();
~UniboardSankoreTransition();
void documentTransition();
private:
void rollbackDocumentsTransition(QFileInfoList& fileInfoList);
UBUpdateDlg* mTransitionDlg;
protected:
QString mUniboardSourceDirectory;
signals:
void transitionFinished(bool result);
void docAdded(UBDocumentProxy* doc);
public slots:
private slots:
void startDocumentTransition();
};

@ -0,0 +1,5 @@
HEADERS += src/transition/UniboardSankoreTransition.h
SOURCES += src/transition/UniboardSankoreTransition.cpp

@ -130,7 +130,7 @@ void UBWebController::webBrowserInstance()
if (mDownloadViewIsVisible)
WBBrowserWindow::downloadManager()->show();
}
void UBWebController::tutorialWebInstance()
@ -195,7 +195,7 @@ void UBWebController::tutorialWebInstance()
void UBWebController::paraschoolWebInstance()
{
QUrl currentUrl("http://apps.dev-paraschool.com/editor");
QUrl currentUrl("http://host9.paraschool.net/editor/#home");
if (UBSettings::settings()->webUseExternalBrowser->get().toBool())
{

Loading…
Cancel
Save