diff --git a/Sankore_3.1.pro b/Sankore_3.1.pro index 1c7b4ae7..aff1440b 100644 --- a/Sankore_3.1.pro +++ b/Sankore_3.1.pro @@ -7,7 +7,7 @@ CONFIG += debug_and_release \ no_include_pwd VERSION_MAJ = 1 -VERSION_MIN = 28 +VERSION_MIN = 35 VERSION_TYPE = b # a = alpha, b = beta, r = release, other => error VERSION_PATCH = 00 diff --git a/release.linux.sh b/release.linux.sh index 51742ee3..fffc2450 100644 --- a/release.linux.sh +++ b/release.linux.sh @@ -19,7 +19,7 @@ make clean rm -rf build/linux/release/ rm -rf install -QT_PATH="/usr/local/Trolltech/Qt-4.7.3" +QT_PATH="../Qt-sankore3.1" PLUGINS_PATH="$QT_PATH/plugins" QMAKE_PATH="$QT_PATH/bin/qmake" diff --git a/resources/sankore.qrc b/resources/sankore.qrc index d469c06c..02e3c32e 100644 --- a/resources/sankore.qrc +++ b/resources/sankore.qrc @@ -319,7 +319,6 @@ images/pages_open.png images/cache_close.png images/cache_open.png - style.qss images/cache_circle.png images/cache_square.png images/down_arrow.png @@ -333,6 +332,7 @@ images/teacher_close.png images/teacher_open.png images/teacher_close_disabled.png + style.qss images/teacher_open_disabled.png images/libpalette/WebSearchCategory.svg diff --git a/src/board/UBBoardPaletteManager.cpp b/src/board/UBBoardPaletteManager.cpp index e0152975..88693189 100755 --- a/src/board/UBBoardPaletteManager.cpp +++ b/src/board/UBBoardPaletteManager.cpp @@ -106,6 +106,11 @@ UBBoardPaletteManager::~UBBoardPaletteManager() delete mpLibWidget; mpLibWidget = NULL; } + if(NULL != mpTeacherBarWidget) + { + delete mpTeacherBarWidget; + mpTeacherBarWidget = NULL; + } if(NULL != mpCachePropWidget) { delete mpCachePropWidget; @@ -163,20 +168,20 @@ void UBBoardPaletteManager::setupDockPaletteWidgets() mpPageNavigWidget = new UBPageNavigationWidget(); mpPageNavigWidget->registerMode(eUBDockPaletteWidget_BOARD); -// connect(this, SIGNAL(signal_changeMode(eUBDockPaletteWidgetMode)), mpPageNavigWidget, SLOT(slot_changeMode(eUBDockPaletteWidgetMode))); - +// connect(this, SIGNAL(signal_changeMode(eUBDockPaletteWidgetMode)), mpPageNavigWidget, SLOT(slot_changeMode(eUBDockPaletteWidgetMode))); + mpLibWidget = new UBLibWidget(); mpLibWidget ->registerMode(eUBDockPaletteWidget_BOARD); mpLibWidget ->registerMode(eUBDockPaletteWidget_DESKTOP); -// connect(this, SIGNAL(signal_changeMode(eUBDockPaletteWidgetMode)), mpLibWidget, SLOT(slot_changeMode(eUBDockPaletteWidgetMode))); +// connect(this, SIGNAL(signal_changeMode(eUBDockPaletteWidgetMode)), mpLibWidget, SLOT(slot_changeMode(eUBDockPaletteWidgetMode))); mpCachePropWidget = new UBCachePropertiesWidget(); mpCachePropWidget->registerMode(eUBDockPaletteWidget_BOARD); -// connect(this, SIGNAL(signal_changeMode(eUBDockPaletteWidgetMode)), mpCachePropWidget, SLOT(slot_changeMode(eUBDockPaletteWidgetMode))); +// connect(this, SIGNAL(signal_changeMode(eUBDockPaletteWidgetMode)), mpCachePropWidget, SLOT(slot_changeMode(eUBDockPaletteWidgetMode))); mpTeacherBarWidget = new UBTeacherBarWidget(); mpTeacherBarWidget->registerMode(eUBDockPaletteWidget_BOARD); -// connect(this, SIGNAL(signal_changeMode(eUBDockPaletteWidgetMode)), mpTeacherBarWidget, SLOT(slot_changeMode(eUBDockPaletteWidgetMode))); +// connect(this, SIGNAL(signal_changeMode(eUBDockPaletteWidgetMode)), mpTeacherBarWidget, SLOT(slot_changeMode(eUBDockPaletteWidgetMode))); //------------------------------------------------// // Add the dock palettes @@ -236,8 +241,8 @@ void UBBoardPaletteManager::slot_changeMainMode(UBApplicationController::MainMod void UBBoardPaletteManager::slot_changeDesktopMode(bool isDesktop) { UBApplicationController::MainMode currMode = UBApplication::applicationController->displayMode(); - if(!isDesktop) - { + if(!isDesktop) + { switch( currMode ) { case UBApplicationController::Board: @@ -246,10 +251,10 @@ void UBBoardPaletteManager::slot_changeDesktopMode(bool isDesktop) default: break; - } - } + } + } else - changeMode(eUBDockPaletteWidget_DESKTOP); + changeMode(eUBDockPaletteWidget_DESKTOP); } void UBBoardPaletteManager::setupPalettes() @@ -899,4 +904,4 @@ void UBBoardPaletteManager::refreshPalettes() { mRightPalette->update(); mLeftPalette->update(); -} \ No newline at end of file +} diff --git a/src/board/UBBoardPaletteManager.h b/src/board/UBBoardPaletteManager.h index 5b3ee587..a151bab0 100644 --- a/src/board/UBBoardPaletteManager.h +++ b/src/board/UBBoardPaletteManager.h @@ -26,7 +26,6 @@ #include "gui/UBLibWidget.h" #include "gui/UBCachePropertiesWidget.h" #include "gui/UBTeacherBarWidget.h" - #include "core/UBApplicationController.h" diff --git a/src/core/UBApplicationController.cpp b/src/core/UBApplicationController.cpp index b3560186..b239fa25 100644 --- a/src/core/UBApplicationController.cpp +++ b/src/core/UBApplicationController.cpp @@ -563,9 +563,7 @@ void UBApplicationController::downloadJsonFinished(QString currentJson) } else { if (isNoUpdateDisplayed) { - QMessageBox msgBox; - msgBox.setText (tr ("No update available")); - msgBox.exec(); + mMainWindow->information(tr("Update"), tr("No update available")); } } } diff --git a/src/core/UBPersistenceManager.cpp b/src/core/UBPersistenceManager.cpp index 5e3449f5..8c2f3f95 100644 --- a/src/core/UBPersistenceManager.cpp +++ b/src/core/UBPersistenceManager.cpp @@ -14,6 +14,7 @@ */ #include "UBPersistenceManager.h" +#include "gui/UBMainWindow.h" #include @@ -1005,11 +1006,7 @@ void UBPersistenceManager::checkIfDocumentRepositoryExists() QString humanPath = QDir::cleanPath(mDocumentRepositoryPath); humanPath = QDir::toNativeSeparators(humanPath); - QMessageBox::question( - QApplication::activeWindow(), - tr("Document Repository Loss"), - tr("Sankore has lost access to the document repository '%1'. Unfortunately the application must shut down to avoid data corruption. Latest changes may be lost as well.").arg(humanPath), - QMessageBox::Yes); + UBApplication::mainWindow->warning(tr("Document Repository Loss"),tr("Sankore has lost access to the document repository '%1'. Unfortunately the application must shut down to avoid data corruption. Latest changes may be lost as well.").arg(humanPath)); UBApplication::quit(); } diff --git a/src/core/UBPersistenceManager.h b/src/core/UBPersistenceManager.h index 3c224f04..98a296f6 100644 --- a/src/core/UBPersistenceManager.h +++ b/src/core/UBPersistenceManager.h @@ -74,8 +74,8 @@ class UBPersistenceManager : public QObject virtual void persistDocumentScene(UBDocumentProxy* pDocumentProxy, UBGraphicsScene* pScene, const int pSceneIndex); - virtual void persistTeacherBar(UBDocumentProxy* pDocumentProxy, int page, sTeacherBarInfos infos); + sTeacherBarInfos getTeacherBarInfos(UBDocumentProxy* pDocumentProxy, int page); virtual UBGraphicsScene* createDocumentSceneAt(UBDocumentProxy* pDocumentProxy, int index); diff --git a/src/domain/UBGraphicsItemDelegate.cpp b/src/domain/UBGraphicsItemDelegate.cpp index 00f1f200..ea5d792c 100644 --- a/src/domain/UBGraphicsItemDelegate.cpp +++ b/src/domain/UBGraphicsItemDelegate.cpp @@ -193,6 +193,7 @@ bool UBGraphicsItemDelegate::mouseMoveEvent(QGraphicsSceneMouseEvent *event) bool UBGraphicsItemDelegate::weelEvent(QGraphicsSceneWheelEvent *event) { + Q_UNUSED(event); if( mDelegated->isSelected() ) { // event->accept(); diff --git a/src/gui/UBDocumentNavigator.cpp b/src/gui/UBDocumentNavigator.cpp index 74bd3611..371cdbd5 100644 --- a/src/gui/UBDocumentNavigator.cpp +++ b/src/gui/UBDocumentNavigator.cpp @@ -141,7 +141,10 @@ void UBDocumentNavigator::updateSpecificThumbnail(int iPage) { // Save the current state of the scene pScene->setModified(true); - UBSvgSubsetAdaptor::persistScene(mCrntDoc,pScene, iPage); + if(UBApplication::boardController) + { + UBApplication::boardController->persistCurrentScene(); + } UBThumbnailAdaptor::persistScene(mCrntDoc->persistencePath(), pScene, iPage); diff --git a/src/gui/UBMainWindow.cpp b/src/gui/UBMainWindow.cpp index 11d8b41c..1bc2cab5 100644 --- a/src/gui/UBMainWindow.cpp +++ b/src/gui/UBMainWindow.cpp @@ -16,7 +16,6 @@ #include #include "UBMainWindow.h" - #include "core/UBApplication.h" #include "core/UBApplicationController.h" #include "board/UBBoardController.h" @@ -160,3 +159,26 @@ bool UBMainWindow::yesNoQuestion(QString windowTitle, QString text) return messageBox.clickedButton() == yesButton; } + +void UBMainWindow::oneButtonMessageBox(QString windowTitle, QString text, QMessageBox::Icon type) +{ + QMessageBox messageBox; + messageBox.setParent(this); + messageBox.setWindowFlags(Qt::Dialog); + messageBox.setWindowTitle(windowTitle); + messageBox.setText(text); + messageBox.addButton(tr("Ok"),QMessageBox::YesRole); + messageBox.setIcon(type); + messageBox.exec(); +} + +void UBMainWindow::warning(QString windowTitle, QString text) +{ + oneButtonMessageBox(windowTitle,text, QMessageBox::Warning); +} + +void UBMainWindow::information(QString windowTitle, QString text) +{ + oneButtonMessageBox(windowTitle, text, QMessageBox::Information); +} + diff --git a/src/gui/UBMainWindow.h b/src/gui/UBMainWindow.h index 2bd6fc25..4150bbec 100644 --- a/src/gui/UBMainWindow.h +++ b/src/gui/UBMainWindow.h @@ -20,6 +20,7 @@ #include #include #include +#include class QStackedLayout; @@ -41,7 +42,10 @@ class UBMainWindow : public QMainWindow, public Ui::MainWindow void addDocumentsWidget(QWidget *pWidget); void switchToDocumentsWidget(); + bool yesNoQuestion(QString windowTitle, QString text); + void warning(QString windowTitle, QString text); + void information(QString windowTitle, QString text); signals: void closeEvent_Signal( QCloseEvent *event ); @@ -50,6 +54,7 @@ class UBMainWindow : public QMainWindow, public Ui::MainWindow void onExportDone(); protected: + void oneButtonMessageBox(QString windowTitle, QString text, QMessageBox::Icon type); virtual void keyPressEvent(QKeyEvent *event); virtual void closeEvent (QCloseEvent *event); diff --git a/src/gui/UBUpdateDlg.cpp b/src/gui/UBUpdateDlg.cpp index 2c2ba56b..c0651258 100644 --- a/src/gui/UBUpdateDlg.cpp +++ b/src/gui/UBUpdateDlg.cpp @@ -12,28 +12,29 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -#include #include #include "UBUpdateDlg.h" +#include "core/UBApplication.h" +#include "UBMainWindow.h" #include "core/memcheck.h" UBUpdateDlg::UBUpdateDlg(QWidget *parent, int nbFiles, const QString& bkpPath) - : QDialog(parent) - , mMainLayout(NULL) - , mNbFilesLabel(NULL) - , mBkpLabel(NULL) - , mBkpPath(NULL) - , mBrowseBttn(NULL) - , mpDlgBttn(NULL) - , mLayout(NULL) - , mHLayout(NULL) - , mStackedWidget(NULL) - , mDialogWidget(NULL) - , mProgressWidget(NULL) - , mProgressLayout(NULL) - , mProgressLabel(NULL) + : QDialog(parent) + , mMainLayout(NULL) + , mNbFilesLabel(NULL) + , mBkpLabel(NULL) + , mBkpPath(NULL) + , mBrowseBttn(NULL) + , mpDlgBttn(NULL) + , mLayout(NULL) + , mHLayout(NULL) + , mStackedWidget(NULL) + , mDialogWidget(NULL) + , mProgressWidget(NULL) + , mProgressLayout(NULL) + , mProgressLabel(NULL) { mDialogWidget = new QWidget(this); @@ -178,18 +179,16 @@ void UBUpdateDlg::onUpdate() void UBUpdateDlg::onFilesUpdated(bool bResult) { - this->hide(); + this->hide(); QString qsMsg; - if (bResult) - { + if (bResult) { qsMsg = tr("Files update successful!\nPlease reboot the application to access the updated documents."); } - else - { + else { qsMsg = tr("An error occured during the update. The files have not been affected."); } - QMessageBox::information(this, tr("Files update results"), qsMsg, QMessageBox::Ok); + UBApplication::mainWindow->information(tr("Files update results"), qsMsg); } QString UBUpdateDlg::backupPath() diff --git a/src/network/UBNetworkAccessManager.cpp b/src/network/UBNetworkAccessManager.cpp index 6529c388..c2b7aa10 100644 --- a/src/network/UBNetworkAccessManager.cpp +++ b/src/network/UBNetworkAccessManager.cpp @@ -160,14 +160,18 @@ void UBNetworkAccessManager::sslErrors(QNetworkReply *reply, const QListurl().toString()).arg(errors), - QMessageBox::Yes | QMessageBox::No, - QMessageBox::No); - - if (ret == QMessageBox::Yes) - { + QMessageBox messageBox; + messageBox.setParent(mainWindow); + messageBox.setWindowFlags(Qt::Dialog); + messageBox.setWindowTitle(QCoreApplication::applicationName()); + messageBox.setText(tr("SSL Errors:\n\n%1\n\n%2\n\n" + "Do you want to ignore these errors for this host?").arg(reply->url().toString()).arg(errors)); + QPushButton* yesButton = messageBox.addButton(tr("Yes"),QMessageBox::YesRole); + messageBox.addButton(tr("No"),QMessageBox::NoRole); + messageBox.setIcon(QMessageBox::Question); + messageBox.exec(); + + if(messageBox.clickedButton() == yesButton) { reply->ignoreSslErrors(); sslTrustedHostList.append(replyHost); } diff --git a/src/web/browser/WBWebView.cpp b/src/web/browser/WBWebView.cpp index 23fb6cb5..eb0be66f 100644 --- a/src/web/browser/WBWebView.cpp +++ b/src/web/browser/WBWebView.cpp @@ -168,8 +168,7 @@ void WBWebPage::handleUnsupportedContent(QNetworkReply *reply) messageBox.setText(tr("Download PDF Document: would you prefer to download the PDF file or add it to the current Sankore document?")); messageBox.addButton(tr("Download"), QMessageBox::AcceptRole); - QAbstractButton *addButton = - messageBox.addButton(tr("Add to Current Document"), QMessageBox::AcceptRole); + QAbstractButton *addButton = messageBox.addButton(tr("Add to Current Document"), QMessageBox::AcceptRole); messageBox.exec(); if (messageBox.clickedButton() == addButton)