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();