From 525e706fdae5eb88f54956cf204b745bc33cb695 Mon Sep 17 00:00:00 2001 From: Anatoly Mihalchenko Date: Tue, 24 Jan 2012 18:42:52 +0300 Subject: [PATCH] Part of fix for ticket 409. --- src/board/UBBoardPaletteManager.cpp | 5 +++++ src/board/UBBoardPaletteManager.h | 1 + src/document/UBDocumentController.cpp | 5 ++++- src/gui/UBTeacherBarWidget.h | 3 ++- 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/board/UBBoardPaletteManager.cpp b/src/board/UBBoardPaletteManager.cpp index 483fbbac..59dab28a 100644 --- a/src/board/UBBoardPaletteManager.cpp +++ b/src/board/UBBoardPaletteManager.cpp @@ -1057,3 +1057,8 @@ QRect UBBoardPaletteManager::GetFreeRectGlobalCoords() const } return QRect(topLeft, bottomRight); } + +void UBBoardPaletteManager::ForceTeacherBarToSaveData() +{ + mpTeacherBarWidget->saveContent(); +} diff --git a/src/board/UBBoardPaletteManager.h b/src/board/UBBoardPaletteManager.h index 0dc4c2f9..0d2f238d 100644 --- a/src/board/UBBoardPaletteManager.h +++ b/src/board/UBBoardPaletteManager.h @@ -66,6 +66,7 @@ class UBBoardPaletteManager : public QObject void startDownloads(); void stopDownloads(); QRect GetFreeRectGlobalCoords() const; + void ForceTeacherBarToSaveData(); signals: void connectToDocController(); diff --git a/src/document/UBDocumentController.cpp b/src/document/UBDocumentController.cpp index 7ee43999..9c5a7c76 100644 --- a/src/document/UBDocumentController.cpp +++ b/src/document/UBDocumentController.cpp @@ -534,7 +534,10 @@ void UBDocumentController::duplicateSelectedItem() if (UBApplication::applicationController->displayMode() != UBApplicationController::Document) return; - if (mSelectionType == Page) + UBBoardPaletteManager* paletteMan = UBApplication::boardController->paletteManager(); + //necessary to save active scene teacher bar data, if the scene didn't happen to be changed + if(paletteMan) paletteMan->ForceTeacherBarToSaveData(); + if (mSelectionType == Page) { QList selectedItems = mDocumentUI->thumbnailWidget->selectedItems(); QList selectedSceneIndexes; diff --git a/src/gui/UBTeacherBarWidget.h b/src/gui/UBTeacherBarWidget.h index a021027f..b4a8c0ce 100644 --- a/src/gui/UBTeacherBarWidget.h +++ b/src/gui/UBTeacherBarWidget.h @@ -46,9 +46,10 @@ public: UBTeacherBarWidget(QWidget* parent=0, const char* name="UBTeacherBarWidget"); ~UBTeacherBarWidget(); -private slots: +public slots: void saveContent(); void loadContent(); +private slots: void onValueChanged(); void onTitleTextChanged(const QString& text); void onEquipmentTextChanged(const QString& text);