diff --git a/resources/images/teacher_close.png b/resources/images/teacher_close.png index d81f1de5..bee2ea0d 100644 Binary files a/resources/images/teacher_close.png and b/resources/images/teacher_close.png differ diff --git a/resources/images/teacher_close_disabled.png b/resources/images/teacher_close_disabled.png new file mode 100644 index 00000000..8f3c988c Binary files /dev/null and b/resources/images/teacher_close_disabled.png differ diff --git a/resources/images/teacher_open.png b/resources/images/teacher_open.png index 9ab58769..17469cc7 100644 Binary files a/resources/images/teacher_open.png and b/resources/images/teacher_open.png differ diff --git a/resources/images/teacher_open_disabled.png b/resources/images/teacher_open_disabled.png new file mode 100644 index 00000000..99e78cd9 Binary files /dev/null and b/resources/images/teacher_open_disabled.png differ diff --git a/resources/sankore.qrc b/resources/sankore.qrc index 0fff05c3..4c7162ef 100644 --- a/resources/sankore.qrc +++ b/resources/sankore.qrc @@ -332,5 +332,7 @@ images/moveUpDisabled.svg images/teacher_close.png images/teacher_open.png + images/teacher_close_disabled.png + images/teacher_open_disabled.png diff --git a/src/board/UBBoardPaletteManager.cpp b/src/board/UBBoardPaletteManager.cpp index ff8f0c71..e0152975 100755 --- a/src/board/UBBoardPaletteManager.cpp +++ b/src/board/UBBoardPaletteManager.cpp @@ -894,3 +894,9 @@ void UBBoardPaletteManager::connectToDocumentController() { emit connectToDocController(); } + +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 c95f61c4..5b3ee587 100644 --- a/src/board/UBBoardPaletteManager.h +++ b/src/board/UBBoardPaletteManager.h @@ -56,6 +56,7 @@ class UBBoardPaletteManager : public QObject void showVirtualKeyboard(bool show = true); void initPalettesPosAtStartup(); void connectToDocumentController(); + void refreshPalettes(); UBKeyboardPalette *mKeyboardPalette; // UBRightPalette* createDesktopRightPalette(QWidget* parent); diff --git a/src/gui/UBTeacherBarWidget.cpp b/src/gui/UBTeacherBarWidget.cpp index cd99a01e..1cc481fe 100644 --- a/src/gui/UBTeacherBarWidget.cpp +++ b/src/gui/UBTeacherBarWidget.cpp @@ -1,6 +1,13 @@ #include "UBTeacherBarWidget.h" #include "core/UBApplication.h" +#include "core/UBPersistenceManager.h" + +#include "document/UBDocumentController.h" +#include "document/UBDocumentProxy.h" + +#include "board/UBBoardController.h" +#include "board/UBBoardPaletteManager.h" UBTeacherBarWidget::UBTeacherBarWidget(QWidget *parent, const char *name):UBDockPaletteWidget(parent) , mpLayout(NULL) @@ -110,6 +117,20 @@ UBTeacherBarWidget::UBTeacherBarWidget(QWidget *parent, const char *name):UBDock mpLayout->addWidget(mpAction3); populateCombos(); + + connect(UBApplication::boardController, SIGNAL(activeSceneWillChange()), this, SLOT(saveContent())); + connect(UBApplication::boardController, SIGNAL(activeSceneChanged()), this, SLOT(loadContent())); + connect(mpTitle, SIGNAL(textChanged(QString)), this, SLOT(onValueChanged())); + connect(mpPhasis, SIGNAL(currentIndexChanged(int)), this, SLOT(onValueChanged())); + connect(mpDuration, SIGNAL(currentIndexChanged(int)), this, SLOT(onValueChanged())); + connect(mpEquipment, SIGNAL(textChanged(QString)), this, SLOT(onValueChanged())); + connect(mpActivity, SIGNAL(currentIndexChanged(int)), this, SLOT(onValueChanged())); + connect(mpAction1->teacher(), SIGNAL(textChanged()), this, SLOT(onValueChanged())); + connect(mpAction1->student(), SIGNAL(textChanged()), this, SLOT(onValueChanged())); + connect(mpAction2->teacher(), SIGNAL(textChanged()), this, SLOT(onValueChanged())); + connect(mpAction2->student(), SIGNAL(textChanged()), this, SLOT(onValueChanged())); + connect(mpAction3->teacher(), SIGNAL(textChanged()), this, SLOT(onValueChanged())); + connect(mpAction3->student(), SIGNAL(textChanged()), this, SLOT(onValueChanged())); } UBTeacherBarWidget::~UBTeacherBarWidget() @@ -219,18 +240,44 @@ UBTeacherBarWidget::~UBTeacherBarWidget() void UBTeacherBarWidget::populateCombos() { QStringList qslPhasis; - qslPhasis << tr("I discover") << tr("I experiment") << tr("I train myself") << tr("I play") << tr("I memorize"); + qslPhasis << tr("") << tr("I discover") << tr("I experiment") << tr("I train myself") << tr("I play") << tr("I memorize"); mpPhasis->insertItems(0, qslPhasis); QStringList qslDuration; - qslDuration << tr("Short") << tr("Middle") << tr("Long"); + qslDuration << tr("") << tr("Short") << tr("Middle") << tr("Long"); mpDuration->insertItems(0, qslDuration); QStringList qslActivity; - qslActivity << tr("Alone") << tr("By Group") << tr("All together"); + qslActivity << tr("") << tr("Alone") << tr("By Group") << tr("All together"); mpActivity->insertItems(0, qslActivity); } +void UBTeacherBarWidget::onValueChanged() +{ + if( mpTitle->text() == "" + && mpDuration->currentIndex() == 0 + && mpPhasis->currentIndex() == 0 + && mpEquipment->text() == "" + && mpActivity->currentIndex() == 0 + && mpAction1->teacherText() == "" + && mpAction1->studentText() == "" + && mpAction2->teacherText() == "" + && mpAction2->studentText() == "" + && mpAction3->teacherText() == "" + && mpAction3->studentText() == "") + { + mIconToLeft = QPixmap(":images/teacher_open_disabled.png"); + mIconToRight = QPixmap(":images/teacher_close_disabled.png"); + } + else + { + mIconToLeft = QPixmap(":images/teacher_open.png"); + mIconToRight = QPixmap(":images/teacher_close.png"); + } + + UBApplication::boardController->paletteManager()->refreshPalettes(); +} + UBTeacherStudentAction::UBTeacherStudentAction(int actionNumber, QWidget *parent, const char *name):QWidget(parent) , mpActionLabel(NULL) , mpTeacherLabel(NULL) @@ -327,3 +374,22 @@ QString UBTeacherStudentAction::studentText() return mpStudent->document()->toPlainText(); } +void UBTeacherStudentAction::setTeacherText(QString text) +{ + mpTeacher->setText(text); +} + +void UBTeacherStudentAction::setStudentText(QString text) +{ + mpStudent->setText(text); +} + +QTextEdit* UBTeacherStudentAction::teacher() +{ + return mpTeacher; +} + +QTextEdit* UBTeacherStudentAction::student() +{ + return mpStudent; +} diff --git a/src/gui/UBTeacherBarWidget.h b/src/gui/UBTeacherBarWidget.h index d6a816ef..55fd98d3 100644 --- a/src/gui/UBTeacherBarWidget.h +++ b/src/gui/UBTeacherBarWidget.h @@ -20,6 +20,10 @@ public: ~UBTeacherStudentAction(); QString teacherText(); QString studentText(); + void setTeacherText(QString text); + void setStudentText(QString text); + QTextEdit* teacher(); + QTextEdit* student(); private: int mActionNumber; @@ -39,6 +43,11 @@ public: UBTeacherBarWidget(QWidget* parent=0, const char* name="UBTeacherBarWidget"); ~UBTeacherBarWidget(); +private slots: + void saveContent(); + void loadContent(); + void onValueChanged(); + private: void populateCombos();