From 18d24f9d375519496c1ac31339e432b2b8b0eb30 Mon Sep 17 00:00:00 2001
From: shibakaneki <didier@sente.ch>
Date: Thu, 20 Oct 2011 09:45:00 +0200
Subject: [PATCH 1/2] Finished the teacher bar

---
 resources/images/teacher_close.png          | Bin 855 -> 1043 bytes
 resources/images/teacher_close_disabled.png | Bin 0 -> 1043 bytes
 resources/images/teacher_open.png           | Bin 842 -> 1034 bytes
 resources/images/teacher_open_disabled.png  | Bin 0 -> 1030 bytes
 resources/sankore.qrc                       |   2 +
 src/board/UBBoardPaletteManager.cpp         |   6 +++
 src/board/UBBoardPaletteManager.h           |   1 +
 src/gui/UBTeacherBarWidget.cpp              |  55 ++++++++++++++++++--
 src/gui/UBTeacherBarWidget.h                |   3 ++
 9 files changed, 64 insertions(+), 3 deletions(-)
 create mode 100644 resources/images/teacher_close_disabled.png
 create mode 100644 resources/images/teacher_open_disabled.png

diff --git a/resources/images/teacher_close.png b/resources/images/teacher_close.png
index d81f1de50f3d3d52ae34229874cf794e93703f4f..bee2ea0d948eb65c3d538ec6f28c3c00ea3f82d5 100644
GIT binary patch
delta 974
zcmV;<12O#929pSoHwpg${{a7>y{D6rKp=k;4G$4n!3pvJ00WarL_t(Y$F-MBPa9Vh
z$A9<XXZ%QQV@!z+1_T6JHI+h^m6|WWvLB8}UAJGL*;S&eLP{QO7LDwRkWe}f2>hJ!
zcxG-FCXTFPFovG((fsxMpL@<dcZ4xU0Abs<OVw&+*0O3pdtQ%8Lj%QTvr*XD+5La@
zCPE)W+P0n9+1dT^HpBpAwOV=LdA&JqDWql9zP~8pIL>5(qpa3yHMX{%U|H7n1V<&5
zQdpM7*47iYx3_ODD5a!aE)$7F*xvqSY+89)G7^bUE|<yWa%0oVactyrxdH9*@yVqJ
zrpK*KDwSe$bCcQG&uKIo7-J?A6heQnva-y>ha2>IF7<l-%F!Dcu~>}9kH00AO5r&6
zSWd*#r$1fD-syD6<)*Oh&PaRLB8<o5bUN+pPYSmj1Hy}32{FFV$M5x|0#{nT4YB{X
zhNGh6I8-Ws;kho$%S$8@i4g<Puj5F;db7=|SATG@zmMbCC?%;@tCUJ5?%#i3A(cv9
zO&A0LA5Ko$+k3(Lckgk#Hd0EoRwyNLU6+G{1CEbBFf%j5;^GqNbaIGN0|dbS+rN4K
ze2>G!LtNWNYl+qxkSGbcbU?k+|FGBdI6C@=v$Hz+e4bM2-hfyG>^^(J?#?c)#u-8g
zlv4eqg4MZznJn}I!Rxof_I!We=j5b+on<ngv9M6?3uZGJrlzt80^DvFEq%UR5=`Cg
z)BpKSa@x}95QNq6P2{>Rp63&dhCdN5EtDwUo1s#v^5#v2a`p%<eO^`#jkZ8(K`8X!
zttcdvigV1*mj<UlIFv{@#QNGQ(byei{gh{~TQuzuIwXgPy4^0FP6vO_^GPI9tgWpg
zr5xSZLEsUMC|uW}(P-j0E+FuIpH{0ytJNY149R4YcszP_W2Yi*zACz$)f2Q{ej-vz
z5(<Th#o|PxQNrOcT8G9Ej4P6nCfQ_|yXg#F*Twh!^M2GQrI1o$j6sJ(SI=^>AjzgB
zxulDf0YV6b5Q91yV{m_a9+60tVzD?>zY7V|;TlpxDc@ybzQCc?#<ANN15#`5#9~ZO
z7g%3kB^r%hejgfR!1x5dA*?kU4_5eE=kYwRZ}Hsn*h|Wo$?ipC`fnlM_mN8Jp$C#N
z7q5fM#I#lfLC`;xLSg#5Pd(@(#PukJ=+875gaEm?xb*u){WLo93W&vGhmRg@e4%yd
wH^958pg8}n5Vmc9Q>|9=mR0-VCJ*?30YJrzwL?(i4*&oF07*qoM6N<$g4(_3O8@`>

delta 784
zcmV+r1MmEk2-gOXHwhsC767=|^I5l%Kp=k(2P6TV;_hnz00P%ZL_t(Y$F-NgOB-Pr
z$G`90*>Da)!quFWw!}ySDxpIZ!KO5VIJ()PxO8^0gLH6o5TQEMEz%C9L;VM;b%;a-
z8|`9Ikmg*9nD<D7Mw&M?Ki&?>rRLY=XCHW%d$`YizxO`RbMFz(IRS8oG4?>y!o7c#
z>Vb4Rg=RwnaR25eu7*N~Ut0kgAuz^lq0r$*J754HXj=GjI-PomHibZ`{=QNonM^hZ
ztY%f$b@=`3pp-TStd<Z(5tLH+{p$z@gRKJvL4d>IfW=}#Ft}T{TEQ%7u~^`6IG`v>
z-D-t;Y$%FSP#cZ@GTkt#-gjfQS}}h$HHF^Zdx*#5;G8!HB!s}_dIXPW7^&1BTwh<;
zY`v->%QD8teXv@sNG4fbPRQow=Ze}Bi3AkoE*MKxwbzis&dyFG62BYo6tp=C3M;uH
zq<)Zbztk+Crsa0POgH5!1_ZW&lVjlGCxO(#VON1cH{hE9x@-*q_jZ7d4}gEtEk_oY
z2hK*vY&`&Quphfzm_Ky|zA$xq26*zU_;qn!p$_+UfRFD8UcK($ot<-f0LUfJV{5D0
z(aKWT`{E@pf^uG>@G6#5mWO$b>wWeu0Khq&1OPdo+kN}yhj+;R&psg~br{&r*~}|5
zjoCS;N9mR$fo+q*J~;*!mj{2&N^PFgNkd&xt1m7OoSht-0BHm;HsE&j*|!R|Z^!7E
zt%pYbbL$lW?P{(x>b?13KXz$XO@M=LU}65$1)!ec#}?*KU4w2Dpl<?*>P%f*)sAY>
z)>gHnsLoX1gh{7#*?{R8U}Y)n1yCsLk{!NP*ySx)abnkMy{KN^dNq7M0gVm^V;)uo
zHW~&{sC2Ozm?(-lpeRa32PDo>wras7NklfA%>h-_{@h4rvl$SAvSoe{05X{j0G^vR
zPG|pjN$O}{>&dcwF)}hdBuO3L0Hj+5lKgK4VT?W1v~V}2`lnV7@P7eG`%D+;)TLwq
O0000<MNUMnLSTZ;if_XJ

diff --git a/resources/images/teacher_close_disabled.png b/resources/images/teacher_close_disabled.png
new file mode 100644
index 0000000000000000000000000000000000000000..8f3c988c8e240c89fd40ad271e04765365931c10
GIT binary patch
literal 1043
zcmV+u1nm2XP)<h;3K|Lk000e1NJLTq000yK001Zm1^@s6{xRCy00001b5ch_0Itp)
z=>Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2ipo0
z4H6vK92rvp00WarL_t(Y$F-JAPa9VlhM#ls%-HynVsmR^2LlQuQPoxoS<|S?N_4}o
zBmba(p)0zBh+Nbx8hNUOgwk=KU}Jm6<C!^Km>8jAFqeMY@0>^PcRfb{7-N+0`&rkm
zjd@=Erzq-iT@%Kb?D26kv$?tT^G!fsO!~fWZ*Fe=cpESP>AJOI6!o&)l1b02ubk%y
zg5Y|<VWHORb=KFP<9XiIfWsV0DLl_(ef>Eb8yhzVN-3#UtJt>9#>Q_WtCbfyZQG_=
ztx_tLMpi3F38Pdh4b<-MA6!^4J!)?9`8=zutK7Z&HO*!dW6bq{LI@TYAMoVKGQD0%
zqtUqV{Dr`DI?c0ZKakJo2?BqlNQMFng#v49YxsVLUT^fV916^2GIToat4|8IYy*Yo
z6-|iIL0|6c>jEwf`8HtxZw`l9CkUw3{v--R9z0keo6QaxfPNl_0vpF|-n{vpo%inv
z0w1L$uIo~%RCxGsk$gUXxxyq#_<V54_Vz12ef&h&^^sDdwL&RL7>4ZZ?6AN8nVFdx
z=I0kE6mn-&YJdcI|KTrQzT9SacbCxj(OROl1|&*CsgTg<^e^^$5qo=ob9B^Ta&nSN
z<=#NC2H1M>imlBpTFoPb5GbYkP6bQ%6K0CgO9XE}oDDCIV-61b>uh}dE9T~^ePD5X
zoQa7df`qW!Ma!6P76cP_`s)AqC^>9tbP6nWb`ynRNEF35j&-VVVXi{?-VC*x%e!|q
zs>MCDjCt)Enr(s7f>i3iucDApDc@&ywlb*xpeVML;_;&;ob(v7amb6eEsp&ZIwj92
z>UO(yIvt`YCY#Ok=+P2V%HfTjBoU6S2*ZG8^OztA0YMzcv|24%trkgQ$mMcmGS20V
zowwV3TMjvDWNE!VRiu<8m9j{uGdPZeWm#yQ8UdJ5<m_XLIg2}mak^nh9LFd9s8LEG
zrNkJ6wo;eRa(P-(EJ#YZ5GfOc5C|a#c{0Wj_9ATCp<FJX$=|sO3sxN|p)%QJZg!eo
zuT9{$F$Sd8jHS~|O-=Lo@e+>XT)YpBF<@en*kEbR@^_1TuP2G3s2}1<$XD1l0=K<_
z%gVqb0n4&3-PTH}ey)|$XFf>Aoc|nL1k+lPBuQVu^z_uPr#%=W#MQR95dE13gAgF+
z=NJAtub-~{1f<jH&eNyMzi6G>KiOnAGI3H};rsrK>((64tKaAY|1a&vh8YRAXy^a{
N002ovPDHLkV1g&Y>iPfx

literal 0
HcmV?d00001

diff --git a/resources/images/teacher_open.png b/resources/images/teacher_open.png
index 9ab587699af5ae90ea3c0b06482d5f7dcbb968bc..17469cc79ec9e6aa7f694d92459b597e2e45ecd5 100644
GIT binary patch
delta 965
zcmV;$13LW528sxfHwpg${{a7>y{D6rKp=k;4G=Y`nB%<w00W9iL_t(Y$F-MBZyQw@
zhM#j8->}=nc6>_{$8t%i1PFmhg;cSobVWD(1p1?jSi`pLks3C*u&4?Pgq_4~Q^!t8
zY{&78?U^|&9Ovd#PU7%MXESHcqxZX>8DWeOK)|-`#Y&|-U#~ZQaoqt|H4QB6@3((5
zrP8zCrU8vi+O{1pm7e`{9WVe{sgyr)-9esfGFh)Tez?p5$8iXUBku-Y#?@-I%Hzl1
zPfW^%R6TvVMyXUH5{XO)tX8W$dGa&ucAHcxMLZtA8t|;DLZN_VSr@9q^MflTySuv=
zQg!OwyEcNsAden>$Nl?X5eNjP2O584Xf~THFR$?M;WuQn+3A2Iv+XX%7#=+Mn!9&b
zC#t<r*?69Jq_$8fOb<M%7Ql7gtGj&ZUOrC3^e|&i0EL(yD8&Ei@^#t7EDv0lMq>xh
z^~hvWSFb~-*XQNS*KBTVu)SSF2*Lb(j-{m~a=9#_P-rsH7(?fv%li5z>+63TY}eil
zU(yQ8vZ&Rz+1qPUtJS!5Yo2sELnss+2O3~^uSL0B=AUwf`kNX`3AENIrBM=+H+@=N
z@O_`1owu}FZ5oZYWV0EP$;6Rj4Y0BKinX<0scpSR2!T=xP-q1o<bARU82Ey}s^i1M
zw(Y~=J4Z5^90Fs}DEY+&+(CbzcB_S!9v|Hn%*}ug{QXL@*U@MT0_tSl2|UlE+qLQU
z`^O6BlC#{q_XR5}?^CI45cOZ6rN{G%p?x4wT5xt)JB~vl8E0`JPa-i(Fc>_Y6s;85
zOd72%I$ITf|Fg}$ZJ{lBN>Q)ZqucG`x*o-1k!&`NIMHTfh3)wsp@4s+-*;%Y_i>y)
zFm$cc>CowP@O?up7DH=2xemkHVY%3&*^1J6eym6-iDd-{ha-eSAp(KGVe%#cgBG!%
zLn0=axf!R|@8fwMQp&?JQb;K=#$cV(HDfN%-jK}P&?I96v>wJy2!WLHs9X%gu1Td+
zr{Z_6!ia97<$!ED%4dI{eoW)v4tDnd-#2K>BKls0L?THpmpK)~(L5b%J%NYkE0m5<
z$mhrxqWHd#F$O8+k<tqe2SKBEheq!XsL>P74gT3lt&|$ZTB&2EQVL@jTa#c~D}3J{
zCMA<ee>>XreGefRTa(7V=Xrn`UIE48?H5{G*LMYk!{M#f)z2|M)Y|$3aHqbg4u30z
nZQEZ~D&<tY-uQ8v5BUE8xIT(Lv=t;t00000NkvXXu0mjfnc~;r

delta 771
zcmV+e1N{7o2+9VKHwhsC767=|^I5l%Kp=k(2PF{hN&naY00PQML_t(Y$F-L~NE=Zc
z$G<OkiCiW*B)L%95+epwLI<mYO{s%e>r@9j6qhb_aIu4QaC8u%I@Hm&L+Mag3)MQL
zXa#%P#iAh1389F&AV-MMCwR$oNKTWBUM`pP3vao{`|$m}-=Di9j4=YhLn*zZDDi(=
zs+x-F`Z=762XOoJG$YCK_Rm^ChFp|VQI@xt>Hz})m!ib)>H7Iy)JZN?O?{~5z}eXu
z1i^bVu$oX4i3AoG-&IVCEm!O78<1rgUaz+{U?P#g^70pCG8y=MK8T{|3}|*03<lwL
zyKU9s^_S~%LDMu_u1e0`w9(MefU$qEmlzy;43EcCJCHGkbUKaJ)-Z;LpCS+l)CM#}
z=|3>WFf{Z8-Q8Uk-P$UfY&Lu8HW&=n4lH&H0J^R_58281DkPzNlMwqL<2>&aP%-3s
zz$}xJ)_~X=u(t~w{UzYt41Nh{j{trBK%-a%@W*#x=_AnO6Oz-jZ3jKQVgP>twl=ln
zsmc9t>>HIvMu7*9O0SDCfUK;1WoFo?_XMwAw``10ggOBT=IU9PS9a!R;?d_XSP7Id
zlf$%@cUFK!jpxn&RRF-DIsgDdVQ=H@n?KQx$W{1+nCdXLmJhSw%u?eMq0T0skc_Qa
z6!zXOFg@FLU=H(89WdM#OPGJ2Z9CZ8wE(I~z(_!`n*FPnVHc~XR}84h|J-^dK);kP
z4ZDZ8Hnn5FWC3iC08^9uVF1+5@R^$254T4wfPMYINs3Af^U6*o+QPiDbCRM`U%y4C
zG>X8;C@?n@j{>+XY*U7d3cI`o%R0qQ>z$;^Th9{cWH=b}@J3*@GJtQc>mE9RaU7Qi
za@<v3IF18jC|i|aJkKGQ%jJQR<bP&t=5kpOg0f{LLh`R!faRx6DAe+s=iT*dJwXtT
zy1MRn@VxsM0KHZqDg0ItO6fyIiThMF^|_W0_zNd2MCUJ=hnoNZ002ovPDHLkV1i={
Babf@f

diff --git a/resources/images/teacher_open_disabled.png b/resources/images/teacher_open_disabled.png
new file mode 100644
index 0000000000000000000000000000000000000000..99e78cd90857917ee8ebdd4abb41cca1f2374c98
GIT binary patch
literal 1030
zcmV+h1o``kP)<h;3K|Lk000e1NJLTq000yK001Zm1^@s6{xRCy00001b5ch_0Itp)
z=>Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2ipo0
z4HFF9usC)A00V|eL_t(Y$F-I_a~o9{hM#j;-6AEnB}-a4iLFtvNdW~6&M=dLf`SkV
z$e$oTD)|MJp`?nb6q*cBFlcQnH(9c=C0W+4q}@Ff@?AEvE%VKsX3sg#yx;Y#05HZV
z*L9PQQ@K&EH@@@z0arC)j7je9wiD&@tM4ZP9hh`oH(D;g`uaLx0Mc<PY2P0txh9kK
zdgH6hT<|=Pcsy}F@G`Det5u#od;Xti^hH&@e7QooTqco7Oa`o0tGsyeGwpVpY&Ofx
z%*@q*r&Se;MJ&r2>&>}9DJ9$6+ZR%G;@){1(P)&XPk-dmqi={rB9jA+F*KV^78jRz
z^5h3>+nx+~V6NN67{lYo-}2zW@>sPODw`k(4%HTm#mRxk)dKjwe|48H-OEQwm>g!z
zF`y8W1BLiMUA`_Go8^J;(`alG_yPHR_Ud)$_4>Sd^N#hkH8wVC2qBo8E3mMzK%rn0
zi^awRjWKlgx~#6Qv%0#*M(xA!kXBfhMXk2M&Q6nBt;X%!bL4V)VzKBb&;Z*zEh?1?
ze^(spA8IHi&|0IEMoGxr3TbsA3_~_Iw`jH6G#XpjcAiWoeW+LitgXLgW#w0D@82PW
zKq&<%w1SW4L+msRLcyQa(c$5`?*8zdC6mbvfvIGY`MY=U2YuSD7Fq^;a!)Wj1tIX)
zTggsGqb-Q2<8>zpf`D$<rQh!#DV)tr^YG!9EG>P6<E)Vke@DxJ*N&mRCs0~&dRTj&
zM>;dZ-8=K7)6+zw(UVEhN@3@7Xl>DX@9^6nZFXG?ZOIdgdc7XqZWrGVD3wasb`Ei@
z%|;442m@jfNx$#WZtvoGePHNXr_-U+=@5p7R4RqmdVC$mwZ~$qN3)fr^ZH1UQWDFG
z5RWH_#bQJvk^SV214b=UQIB*=Fm-E&UcXNe1V}0O%Sa)m#2ABhM%RqEJbhC#byJf`
z4bXZRHz5R4%ENLo47(<q%btkenF<rSiIxNGT$0Z}`;^8%9o+67VQA2nMe;_1bUH(!
zkUtT_gLyjAdV+u;R4ARGIA37Cm?R8Cj4?<l50zeUI0zcO`!ss@K^=VI%;2A%)Jmyg
ztd%-qDy1-nku?scwIU3|VN&w>+%E^4VHh9;BWv8)4}t(N!zZ9ry0@*hb$w4jJRa{Z
zFMsiq*47roSuoi{wVz$#x~}awl~}#rnCJ)oU#csMpJ+*`8~^|S07*qoM6N<$f?F)w
A_y7O^

literal 0
HcmV?d00001

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 @@
         <file>images/moveUpDisabled.svg</file>
         <file>images/teacher_close.png</file>
         <file>images/teacher_open.png</file>
+        <file>images/teacher_close_disabled.png</file>
+        <file>images/teacher_open_disabled.png</file>
     </qresource>
 </RCC>
diff --git a/src/board/UBBoardPaletteManager.cpp b/src/board/UBBoardPaletteManager.cpp
index 14006a5e..94c28397 100755
--- a/src/board/UBBoardPaletteManager.cpp
+++ b/src/board/UBBoardPaletteManager.cpp
@@ -734,3 +734,9 @@ void UBBoardPaletteManager::connectToDocumentController()
 {
     emit connectToDocController();
 }
+
+void UBBoardPaletteManager::refreshPalettes()
+{
+    mRightPalette->update();
+    mLeftPalette->update();
+}
diff --git a/src/board/UBBoardPaletteManager.h b/src/board/UBBoardPaletteManager.h
index f2313a71..1399898a 100644
--- a/src/board/UBBoardPaletteManager.h
+++ b/src/board/UBBoardPaletteManager.h
@@ -51,6 +51,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 ca505470..2644cb0f 100644
--- a/src/gui/UBTeacherBarWidget.cpp
+++ b/src/gui/UBTeacherBarWidget.cpp
@@ -7,6 +7,7 @@
 #include "document/UBDocumentProxy.h"
 
 #include "board/UBBoardController.h"
+#include "board/UBBoardPaletteManager.h"
 
 UBTeacherBarWidget::UBTeacherBarWidget(QWidget *parent, const char *name):UBDockPaletteWidget(parent)
     , mpLayout(NULL)
@@ -119,6 +120,17 @@ UBTeacherBarWidget::UBTeacherBarWidget(QWidget *parent, const char *name):UBDock
 
     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()
@@ -228,17 +240,17 @@ 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);
     mpPhasis->setCurrentIndex(0);
 
     QStringList qslDuration;
-    qslDuration << tr("Short") << tr("Middle") << tr("Long");
+    qslDuration << tr("") << tr("Short") << tr("Middle") << tr("Long");
     mpDuration->insertItems(0, qslDuration);
     mpDuration->setCurrentIndex(0);
 
     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);
     mpActivity->setCurrentIndex(0);
 }
@@ -276,6 +288,33 @@ void UBTeacherBarWidget::loadContent()
     mpAction3->setStudentText(nextInfos.action3Student);
 }
 
+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");
+    }
+
+    // TODO: refresh the icon
+    UBApplication::boardController->paletteManager()->refreshPalettes();
+}
+
 UBTeacherStudentAction::UBTeacherStudentAction(int actionNumber, QWidget *parent, const char *name):QWidget(parent)
     , mpActionLabel(NULL)
     , mpTeacherLabel(NULL)
@@ -381,3 +420,13 @@ 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 7e2744ec..555b6ef6 100644
--- a/src/gui/UBTeacherBarWidget.h
+++ b/src/gui/UBTeacherBarWidget.h
@@ -22,6 +22,8 @@ public:
     QString studentText();
     void setTeacherText(QString text);
     void setStudentText(QString text);
+    QTextEdit* teacher();
+    QTextEdit* student();
 
 private:
     int mActionNumber;
@@ -45,6 +47,7 @@ public:
 private slots:
     void saveContent();
     void loadContent();
+    void onValueChanged();
 
 private:
     void populateCombos();

From cc3c31c3a6bafe5faef00cc767ab8cdd19fb5174 Mon Sep 17 00:00:00 2001
From: shibakaneki <didier@sente.ch>
Date: Thu, 20 Oct 2011 11:18:12 +0200
Subject: [PATCH 2/2] merged conflicts (>_<#)

---
 src/board/UBBoardPaletteManager.cpp | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/board/UBBoardPaletteManager.cpp b/src/board/UBBoardPaletteManager.cpp
index 3338582e..fb907b52 100755
--- a/src/board/UBBoardPaletteManager.cpp
+++ b/src/board/UBBoardPaletteManager.cpp
@@ -162,20 +162,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
@@ -196,7 +196,7 @@ void UBBoardPaletteManager::setupDockPaletteWidgets()
     mRightPalette->addTabWidget(mpLibWidget);
 
 //     // ???
-//     mRightPalette->registerWidget(mpCachePropWidget); 
+//     mRightPalette->registerWidget(mpCachePropWidget);
 //     mRightPalette->addTabWidget(mpCachePropWidget);
 
 //     // ???