[vlc-devel] [PATCH] UI: Simple preferences ui improvements

Francois Cartegnie fcvlcdev at free.fr
Sat Jun 6 21:48:04 CEST 2009


---
 modules/gui/qt4/components/preferences_widgets.cpp |   23 ++
 modules/gui/qt4/components/preferences_widgets.hpp |   17 +
 modules/gui/qt4/components/simple_preferences.cpp  |   32 ++-
 modules/gui/qt4/pixmaps/sample_classic.png         |  Bin 0 -> 6082 bytes
 modules/gui/qt4/pixmaps/sample_complete.png        |  Bin 0 -> 8063 bytes
 modules/gui/qt4/pixmaps/sample_minimal.png         |  Bin 0 -> 3440 bytes
 modules/gui/qt4/qt4.cpp                            |    6 +-
 modules/gui/qt4/ui/sprefs_interface.ui             |  337 ++++++++++++--------
 modules/gui/qt4/vlc.qrc                            |    5 +
 9 files changed, 280 insertions(+), 140 deletions(-)
 create mode 100644 modules/gui/qt4/pixmaps/sample_classic.png
 create mode 100644 modules/gui/qt4/pixmaps/sample_complete.png
 create mode 100644 modules/gui/qt4/pixmaps/sample_minimal.png

diff --git a/modules/gui/qt4/components/preferences_widgets.cpp b/modules/gui/qt4/components/preferences_widgets.cpp
index 0536932..2b2163d 100644
--- a/modules/gui/qt4/components/preferences_widgets.cpp
+++ b/modules/gui/qt4/components/preferences_widgets.cpp
@@ -199,6 +199,29 @@ void ConfigControl::doApply( intf_thread_t *p_intf )
     }
 }
 
+/*******************************************************
+ * Simple widgets
+ *******************************************************/
+InterfacePreviewWidget::InterfacePreviewWidget
+        ( QWidget *parent ) : QLabel( parent, 0 )
+{
+    setGeometry( 0, 0, 128, 100 );
+    setSizePolicy( QSizePolicy::Fixed, QSizePolicy::Fixed );
+}
+
+void InterfacePreviewWidget::setPreview( int comboid )
+{
+    /* Need to move resources references as soon as qt4.cpp
+       local defines has been moved somewhere else
+    */
+    char * pixmaps[] = { ":/prefsmenu/sample_classic",
+                         ":/prefsmenu/sample_complete",
+                         ":/prefsmenu/sample_minimal" };
+    setPixmap( QPixmap( pixmaps[ comboid ] ) );
+}
+
+
+
 /**************************************************************************
  * String-based controls
  *************************************************************************/
diff --git a/modules/gui/qt4/components/preferences_widgets.hpp b/modules/gui/qt4/components/preferences_widgets.hpp
index 3a0f5e1..b42bc0a 100644
--- a/modules/gui/qt4/components/preferences_widgets.hpp
+++ b/modules/gui/qt4/components/preferences_widgets.hpp
@@ -53,6 +53,23 @@ class QGridLayout;
 class QDialogButtonBox;
 class QVBoxLayout;
 
+/*******************************************************
+ * Simple widgets
+ *******************************************************/
+
+class InterfacePreviewWidget : public QLabel
+{
+    Q_OBJECT
+public:
+    InterfacePreviewWidget( QWidget * );
+public slots:
+    void setPreview( int );
+};
+
+/*******************************************************
+ * Variable controls
+ *******************************************************/
+
 class ConfigControl : public QObject
 {
     Q_OBJECT
diff --git a/modules/gui/qt4/components/simple_preferences.cpp b/modules/gui/qt4/components/simple_preferences.cpp
index 4a3b369..7da97f6 100644
--- a/modules/gui/qt4/components/simple_preferences.cpp
+++ b/modules/gui/qt4/components/simple_preferences.cpp
@@ -473,10 +473,8 @@ SPrefsPanel::SPrefsPanel( intf_thread_t *_p_intf, QWidget *_parent,
             CONFIG_GENERIC( "language", StringList, ui.languageLabel, language );
             BUTTONACT( ui.assoButton, assoDialog() );
 #else
-            ui.language->hide();
-            ui.languageLabel->hide();
-            ui.assoName->hide();
-            ui.assoButton->hide();
+            ui.languageBox->hide();
+            ui.assoBox->hide();
 #endif
 
             /* interface */
@@ -485,14 +483,27 @@ SPrefsPanel::SPrefsPanel( intf_thread_t *_p_intf, QWidget *_parent,
             {
                 if( strstr( psz_intf, "skin" ) )
                     ui.skins->setChecked( true );
-                else if( strstr( psz_intf, "qt" ) )
-                    ui.qt4->setChecked( true );
+            } else {
+                /* defaults to qt */
+                ui.qt4->setChecked( true );
             }
             free( psz_intf );
 
             optionWidgets.append( ui.skins );
             optionWidgets.append( ui.qt4 );
 
+            ui.skins_zone->setEnabled( ui.skins->isChecked() );
+            CONNECT( ui.skins, toggled( bool ), ui.skins_zone, setEnabled( bool ) );
+
+            ui.native_zone->setEnabled( ui.qt4->isChecked() );
+            CONNECT( ui.qt4, toggled( bool ), ui.native_zone, setEnabled( bool ) );
+
+            InterfacePreviewWidget *preview = new InterfacePreviewWidget( this );
+            ( (QGridLayout *) ui.LooknfeelBox->layout() )->
+                    addWidget( preview, 1, 0, 1, 2 );
+            CONNECT( ui.displayModeBox, currentIndexChanged( int ),
+                     preview, setPreview( int ) );
+            
             CONFIG_GENERIC( "qt-display-mode", IntegerList, ui.displayLabel,
                             displayModeBox );
             CONFIG_GENERIC( "embedded-video", Bool, NULL, embedVideo );
@@ -510,17 +521,21 @@ SPrefsPanel::SPrefsPanel( intf_thread_t *_p_intf, QWidget *_parent,
             CONFIG_GENERIC( "qt-updates-notif", Bool, NULL, updatesBox );
             CONFIG_GENERIC_NO_BOOL( "qt-updates-days", Integer, NULL,
                     updatesDays );
+            ui.updatenotifier_zone->setEnabled( ui.updatesBox->isChecked() );
             CONNECT( ui.updatesBox, toggled( bool ),
-                     ui.updatesDays, setEnabled( bool ) );
+                     ui.updatenotifier_zone, setEnabled( bool ) );
 #else
             ui.updatesBox->hide();
-            ui.updatesDays->hide();
+            ui.updatenotifier_zone->hide();
 #endif
             /* ONE INSTANCE options */
 #if defined( WIN32 ) || defined( HAVE_DBUS ) || defined(__APPLE__)
             CONFIG_GENERIC( "one-instance", Bool, NULL, OneInterfaceMode );
             CONFIG_GENERIC( "playlist-enqueue", Bool, NULL,
                     EnqueueOneInterfaceMode );
+            ui.EnqueueOneInterfaceMode->setEnabled( ui.OneInterfaceMode->isChecked() );
+            CONNECT( ui.OneInterfaceMode, toggled( bool ),
+                     ui.EnqueueOneInterfaceMode, setEnabled( bool ) );
 #else
             ui.OneInterfaceBox->hide();
 #endif
@@ -613,6 +628,7 @@ SPrefsPanel::SPrefsPanel( intf_thread_t *_p_intf, QWidget *_parent,
 #undef CONFIG_GENERIC
 }
 
+
 void SPrefsPanel::updateAudioOptions( int number)
 {
     QString value = qobject_cast<QComboBox *>(optionWidgets[audioOutCoB])
diff --git a/modules/gui/qt4/pixmaps/sample_classic.png b/modules/gui/qt4/pixmaps/sample_classic.png
new file mode 100644
index 0000000000000000000000000000000000000000..e5dab5c060fb08e2cdacdd345ac093031b986ba1
GIT binary patch
literal 6082
zcmV;z7d_~SP)<h;3K|Lk000e1NJLTq004Rb001!v0ssI2nxrZm00001b5ch_0Itp)
z=>Px#32;bRa{vGjIsgC<5&_C&b!Y$p00(qQO+^RU1_lrd8zy=FYybcN8FWQhbVF}#
zZDnqB07G(RVRU6=Aa`kWXdp*PO;A^X4i^9b7cWUfK~#9!?Ob<wT-B97_uf~g7ilzV
zmSkB-mYa-?jT<<0113Nkgc7nOyCfeQ$dYWfq;0a<Wx)#}Uy at BB5JN&Bp&GC)+hE6W
z#gT1nNk+EStlnm%nbDN at -fjEGlLuLn9eWqDS${s?e509n at 4N5ZbI(2Hch3mj^N+QD
zpF>Is7wE$$MOCp=#}WVlF;G>o{*ncc04ypL1%s3bqtkWJR4o6jEOGm at 1W*->&=_N!
zOF|F=;9LR%jFFN|SyD&|;6ka($fjC$I|2G(u_i&+6 at p|c!~I at WRq$XmNr<W_*r7^<
zAfDuyU?~6)fUN?^{yTPoF>%kWbJlHX&@~cEVJRd+00;m;2tWup7kAz?d+p10Znw|g
zvIrw7B|=CF2?!8?lz{Nb2b>f860&9hBV<39QgPQuXGsZwKp}YR-j2cHwB2Fp#YJ`X
zeWt~iFD&jIOm_4plyt^2O)5c_6q^f|u6*^i5h}=sC2c8l{EoYCEPmp-rZ3!D70wIZ
zaOb~O)U5vc7Z&~GCqK_En%mPIb9%!cy`myB+7~XGF3i~W1H&^)Ly&22j|K}uo*d`M
zHOtD at tXY#^R34soadip*!(k(p;UM7)x6kW3ar|H#S#e3(mmd1Yr$6<v(vp0qJNWX3
z16Qt?yL0!xTURYS(U%;GllhgdO`G0kt~qcnCR9qfs3v^Hr6od0O(Va2xp6R(K?qrt
z3nA9M-K?o36m%w2=144KE689Z`A_#P*;n7^_o#2}YGYg|-Gk|ogozPcX>Q2L?4Z4W
zdpJ at 0;cY!GWObQ(+v<4_KlZ~lYaVUu9E{*dO;z5O{YFla$+%8?hF7l$tog<EeXl<7
zjmP)S2=>pJzN-GHJ}sE|>U~$cr``0qyH^`bi467yiZ3ZHDJpG#<GF)jf<-FQ_}!;Y
zJo|4e<MG%~j8Un~t}5EH{m|75lxTm`yvl$_OWuFy!aE;$>b*S;ZG08*=($>r-biL-
z)RaPMDz4qxt*RI#P$qU9?A)-kQ&&k|u7e=dAIaEv9C$A>t;kV6&HK=Q?2X1u1VE<O
zd`bc;bw+Pnj2-iDk&(8>RGF$Ono2&5mqQ~aSIS*So_?cu{+x1bwC4Nyj(WPJ8dro<
z$4(^N9)E!^-7$zN3V35X9c<g)Z<MvvZ{D%5bui_tE+syv+_G)IVHlsjdFj4gTiTE9
zkK-C$fxB<I2$}sGH@#g at Q1H&acdLq6e_!9at;arl$1VHob{^`^7o*31`tx5Y?$Xgj
z1i33U1<sXui^=2d at s^InvG%yzsoEDY!Z%-CrVw0F>aU&=NT!)#a!n-;UHR(gYjz(P
zc=olHfBm~fU45xknxU0<{Vr~xf2e-0koHS~93H;5_m+1 at DhU!Fo=E|~2-z+JBLLg3
z+Gf@^kqCj1fB+D}Qi`z~Y{Mx5V*~&~3IK!=1`tBXuicUJ$glfV-6=T71PdVnATQ|r
z?)?kz{^IunrB~Ue8zK3=XZWDDESD#}BOnA5T&2CIF#?1TT7JiG852|x3CNzRin%@Q
z|6de~_6Bka0i7DIAl%<^C|o=X6ZJ14tU`?~-9fJlp$jqbhfZmOD!Qh*-L4C1&YyvZ
zqG15}CuNN>K0_ZV<>U@%s{JCRB!ry((*DWkBHN&!<FIGROm_SaYD at _dXTR*-vs(x;
zG&EFy_>iV)nx-R!R8>tR5^ub|4r8opnyRYf$4bQGyLat8+SK&h=YOMVnx<(OV?|LA
zLT#<B{r!E4q7Xt<RmB*qs_OANzw_;HdcDr^a<o6}ulr+`S4B}&RgFfYwHwzHLbOw#
zi!nZa?3k32F;;*05XRW=b$;jD-*mg3s;Uw~6h%=rZTxztQptA at 9@zHwTL7S{Dndxt
zb+6a?oo{`^<8j(ovg0Qb at zK#yDP?a at PjmBeUDq{DBZL3|A!NKX2_X&j^{T2iHq<MM
zs;a8P;rQVXzVGuoHC>-_smOy5ea+?65kkM;wsrshKN3PV)o#>v{YO81qNZm4Pyg%3
zyLat~3=J(`aoJ;!JY2WGZsp34a6Xo^Mxqgy+r93!S4&GvhlU29dh%xlg at wQ0w$1DH
zzVgzG+qQ0vMk8HaU2m>?%@+u~_R33*4M#>t6Aq_)aA2UIpl}REP?SIJ+qY-;&SlG2
ztbg<MxpU_|v-astwYBf;-7`2ixMb<FM;`w7hKBm(%U5Kd+tb}8gowxEue|)?@)eh@
zdF0Wzwrsxgs%w7n^PeUXi311fUVG)0>C>nC{Qj(5f;l-mcmAPv!}@~<4^&oG{=?sY
z#pUw!_xHu)qpz=fwWzq*?+ at 6WqmgKTZ?D_q={V88{rB63qtR#9K20zQg+jY_?x;U}
zc<#J;LI?oRb^Vu5J$e1LSN-Ctr)E^lc=BgI>F at 6+glwwa^uqJMnSb%cUa#-eoI~KO
zisgnvilR`{(sg~$?p<@|*1Y(;7jC}w)_XpCZ#*7D2$fe<Y}&X%Ro~Yd!!UmL!t>R$
zswrb$ueW^0MZbID`TYF+r+ at L}ZMWa?PhbCLTU%=&7|aWY+ge&qw6}lpzRzo#w)L$o
zbLNh5Y|G;5r+$tQ+FZMlQkF<0jy5%Y^0wRWy!$h;SWF0U!;PyuJ325PV^s)IR6MPx
zr~A#<*IiUuC8b<``Q;ZcSkTzmkY7;H*4onE*7o4vJ(L(tysuM)cs!oA*4EGe&3&s@
zUH at M{{?VGppXlrBMF at Gl-u!UBs=gn$6ql6jKTy|v{MfXT(%8sIQ&ZEdS+kp(jy(I!
z+HG6knm>O&rS#;muz!Eu(`$dV at 14EfU0uPPoa4ui+6wg8_kZxhZ=O?CZEEcX07|VJ
zSAVp;qQW$cCCio_IdbIgyYJce&O6;bU1eqEm6cU{cI~XHs$P8Q(yW$YjOJgw at RCJ~
zIb*7(x3{)dR#oQahAz8&CBo?W=YD<t4L2H@%!$s91q&9ISInrZI}pkXUvu56f&Ttb
zC}a=P-rjcIs_Q>~%T0~%HHAWX2lm%3Ub6J~v7>!`y=7(7XU(4d_Lj{{m#rwCHZ8k1
zb8>PT>g%t)ZWSS<u&8Ly?wy*h-*W564(_j8x@<*N)y$3S-&nqUh3;@<U5l=3UZ4Na
z!Goitqo29wuby4|%Oy*fDXLmhT6(0hVc{i<bzRRI;KHJ!cMl%8@~SHg!<<)B)6(2>
z`yF>gqtP2~T<!7toKB~0C=gO|a)Ni>{wZHD_mahn4<9<TWa+X{D0K8_Q*-n2d+zxw
z+XRi*Zq(d45DNMzr5oOSV<<9YClP=9;Fm#yVHozZ+lErtbt$E3n&ZtPLddeLS6+JY
zuFu?~C<*}l<i|h!?7g2?RaMt@)3Pu^s;XL+Wowy~l5>s_vflxqr>A at 4`t<-n6!N79
z9-vfk&TK}dl$26k*BN8k{)CXXwruV=ae^^+?W$E}Wz#iXM*x;(**%32nx>hinPqZt
zaNy0?U$2^3b<MS_gb<cxIUEj)Qi8D%LRB@>G;GJ1^^mHnwY9eVe%sskeer$?U>b&^
zD7KzuSG~8VXY=M-Mkyi6HP>EOHFGAVRM*vK)~>zxbN42bnF%3-Nf~PH9LUS at +b(Df
z<3hj~8~c2A;XB4yaN9UYLKH6e*=KDC0mfrm!1&obS7J=;X$T?CDsn(TFqTr<sph#b
zhB at bOI+hTSlbj2|ZAK(WLWr1r7XrhgijXpq9OXh>h>JgL(o~0n5%PJw7t)+R1DTZJ
ztTCD(@hLA}ptHu{rv9qDpBW-#QEHl|!{JCJlm0+JN~sWXw0$s{k_Z402q8HKMH#dI
z7{kmNL8q=>5OMbKObCGxVvLOp59fu$g98Ia#l at 6T+u11D0K+iN+Kn5^%gZ}EI|~a7
z7cIUNA!Kpm%ir7Oaw_)eR8d%)KgYFYN6cO@&gK1|sje#bT at bWQs-hHyasi;Xx93P>
zV}5 at Az`#H%ohmP%af)^WKwDcYA*8FT69Hs%5Yu9z5KktleI#fyq2h3EAZ?2qW5^4-
zJWl5YLBD^Tnhk5D?CR>&HAh!xXIa^FJ577vn9QA5lTM|)K3^uCW}Mj<UApVnkA7mp
zu=jrAl+)4+G#S`(>JAC=vdccQckk}yD=yEb#A9iW-A_>zDWx5nGse&b6#RcGaf~q`
zgmX>^VT{>pU{a=x&kwWN`RNeU3v_n*5wi1e0I=V)!o(M(^XDXGyu~@QK8us6!Ug(Y
ziyI(15<f#K&!xx<1XP8LGfya$F)fQtzy=7$KDRTOF)5v@$>U0<GnDa(d=Tt$IpwJ<
z$~e!ALz=R|t<#}PDU)eq!tzTgy>6!vGL at Ow1QI-MheG~z#nPDOp_8>&QXquSHQhr9
zVM2t2$jGqUp*uAF6mbhKbWL?R9X8}P0s27*rHo9<$OJr|?3LJPS|KPm;F%Den3Q(*
z4}}8W+<<!mP?fQ)j=sTg(C70{Y)YACB9-#F-Q(fPjA;bDo(Vk>LOqcvMz|m+F!{u;
zClXbNk{|R>6c9o~v3S7a$p#5$kQC=UGT4`2IBlS}Gh9^G-`f!g<{<=v3*G5F-4?e!
zBql^6+|t&1^x!_d`EYe)p#9P-7k&IrJ4jTrF{6- at ajvTB%P&4(Sv9kI)?9>9cB=AJ
z#YYGYL}T--N=MViM0PPg($?|utClBHX+>4DC4P)jLP%rliBDd=Jdw&wxC>((O^gOS
z9&u7kjB|&kWlSqMIx3|EKtc+Hkk99{C<}Pp8A@%O?<8;v5 at g!2ibC#;WyRx(K)|0&
zr8HGzjJjMdE`$(rytK!kvSv)CtHiEgkwSRAzTU3(+`Rm*_T%A#qQU-dkbns;oHl(t
zPKyvm7*ocEM at D#hBsJJMc%%-R>t-Z}K0O)}11Ua2`xmavhUCh)hYQY`q9{%89q#Yz
z+__`hr|-Jg<MG%jkFaYF#|sD{N*Q2`5n_zlpth!IhG}4o8Dp4`C;szcqF at 9-DZBrH
zuL42 at V@eq&gma#qDj~$oWYDCfK?spCj7=LiYPu$bm|j-SC9j-WEu^$z>-zfos>;gF
z6Kxn{x5rytQYxhsLJUPBkF9y+%MX3!)mL80FDUeST&q^yAf+5X11TlOq`kf6NW;6=
z-}Ff?#9RBjuU|4<O30*Bk-@%DxS+4QD;Ub_>+Z at cC>kCbkWyNv;c&Vz#)K$_#Sa~-
zk96$!8^^0jhkvBAV6b<d0WivCLYgTA90O6Nu-yP4BrwJaVRp(dC4KUzPh5HR4YTLe
zAcTYz1Su2cfzVSw`*CDwVEN@&Y~8%^qaXX!YcD<j at MAv$04_M=JQC?IEG&{zCK4l*
zF<W;qA#1+(?U}RYba!^-=H+q5j~{#QTmSm#l+Kw_I+`5SOcfA91gjELYDoz~3L|aQ
z)^7B9K1t0KAVjGV3g=5HgpjFJiZipJp)r+8_V at RSP{^Wmf_Wi?96x?EnTR at _`bff9
zx3hWC%y7nFx<-6~pg))+gzyJLLhxX29!TjA<XEPaNF)-Y9lc#gM!NQSjDriqkz7v<
zj3|#0ks=Z>a3lnRY+>${uF_s^#yQ~x08G<NrBb at CtzY-jjEYK4*M$_5-3;d(K&I2F
zcXn?VQf%F_0T56--sGGzCb)=1A^>0*CS?p0Y&Ri{n~u~clgVT<o=T+=#+0)utf3H;
zvjqzlmQ63WEb|ZBx5q|CZZ0kqK!lK#Q6adH!k(Lyl5!@b6jCUfHkwMWxcsvHb^CgH
zdliB$Muij;#NFQ7eB<@kY}&H9YcPobd~V%h+ at UM>7O_o*Lvf@=(~XA at w+tU-juYNs
zv&U*JS0hWSs3XHfLh>{QsR)GOEW)<&+AX=@m~#LyO$%e38!EW%uGLskC}UIBt~0 at i
zss at 6&7gfz{I?}Lc$?|u0ZMRQOIp>s8##ts72LJ?;GD;)?0LGca>GXK=!-8iFqijZH
zTT3&eY)b8BjH#+-*CxbcG0qrcOb}!j4$hfd<8- at +qY;FW%jMym3n7INj8P#(?Z(<;
zN8h{rimNr1aLy;3<S at n-E?Tnf4?8JkGfRW*eItFtsgkf404&ooEhBBE>yIDY)3>Wl
zZ*WybgZU#lR-}yMkP4baf=eloUB`INfgqebkhGIdr_;G$@$y-7Y7|wm#Ya?S5+H*p
zWh<|`P72}idS}h8@%sEF)5}xolr8R5I(_pe?jRW3VFqQ)p08;d*R8(A<MF1`DW}tA
zndX8;OVgS3RK8wtAqEBqhT|hr$Z%l+00 at v$NFgL+EH5u40Tq{)+5B6SN-2aCn2?(J
z3l=ZAG?PhBD=9GzgE9u_l<g^m2!-+%EL<9o4Lfzbbap{9L!G+1ci%4IqY=+gBW-B8
zsHLIey_DHCor5A!2qS`oBBUZg6A~$i5CDvU02$M6d!HdG5C|j%0*<8MQ;8cS<6N5N
zvdgcYR$Ar at 1f>x4q|zab;S^X~B7`Vonx@&d-sy5P##}BpW0YV-Ikzmcq^x|rHrb&!
zW!&j>an5z!A%sv=RZ&&S7(x at Q6|xm_R?WN#VzRgpQb;K;s;ZjMBtZ%x6-BxI&bv70
zt8Tc#4j~w0SV5ChZI8#}cDq5!;yjO(00?(>wQ-##S<)rk6{4bm7YMMN5*&bZDMkR9
zQg#41C13%-5ikiHNe+MkJP4d10{|QW2jCznRL;3L8!L}NRE+WAL_C#F+OAAaI&#%@
z-Q{oxyq at e8%2*^GGc7tfqzig|$#lx3Q#9pxeTj6+n$$!v&d<rw#?^aBDPzfGJei!V
z^=_w=U>r}SCU0Yp%Y^_E>Gb3#pT`~ac+Z>|ODR=Vg|T0i*nLqJSe^Vn7BWmmV#g~1
zqk?lAqIw?@9E!!FiNxvn&=s|!xJZm!1G at _Q{}5F^Ly`6eT)+JRkx7{%0T`zMkmK{@
z`aEaoZ87Wr1^Q|0#5ut`Cx0b{0DS-q$kVo91p%@wIxsMFe!x$PLJA8C5JGmr+gYA4
z<`;xH7l}k-LebLyK-6xR)8+P at R=WW~EEd10VuqCGL#atJnP!Y*j65EXuIo;xp2?V5
z_agzQWoeowgrMX62L|8(LWpoUeCF}(`m8f7iKY_6q^IkE?R_VN5JH{@uWY6+rL-*T
zuRnJ$I*F@%@4Nr<_?kzfk;u2c at y{>(<~c<fD`FnM3FN6{H)X$KLVoc0<GRC<ZM8)=
zzW<rAL-OEPz9ty;dcEfdpiC*n1lvKLuIrq!s+rYx`B@|~6pch?R#&h5$Q4`Pemj{Q
zJy2KY_IUk%Kfzc?X&8pX;Q)YWG<xi4laa|}j7)b|muVQ$;b?n%n?jTm?QOwe5C9Gx
zdN)76VEvnKAb^~l+;<Ni$P0%t#tOlli}Bhmr6dGr42ID8ewxD=(=_!&d%F-~WF!_(
z#03|zSj at DH;o<1$=%~}_n0%Mt at 2{RUyLehjUS8Pca)ra;;^JwuX3ZW=#4laCES#V3
zcDv`ztI>5mKR<s)#YG6AS+i%8(}3xO;NF4c_tzdI7%S(otSPnJ9?!GS{BqUxH*(Gw
zE?jusb*u6V3Tij3f8fD~7-M;PdA&V7Q~6uPuI2>*-QiGF)ket?LOD4(_Rlk1E*Aj!
ze12Wmg%D1s3#O`{!WcE582S45_gpeN4**be*PxY2l}sxZ=S5X!DwQULV2tdtV}vju
zkV4vN at JXB+OFJ&Na|bCkg-|X=Mn(dGAWS;W$mWD&xYeok))VtVRWa#U5d%ih)}8qK
z|JcqMT`)WE>tDJIHFpmBJ^J8K^!zx6R1_sI6v7y*3O at S@Q6_|xno2$p8JH*k0fegH
z%{yA14h19%`W+S1gXl<0x29|7(~0lcPmBLD2%lVZDM1MN--L(77@?UJvj6}907*qo
IM6N<$g3TYVzyJUM

literal 0
HcmV?d00001

diff --git a/modules/gui/qt4/pixmaps/sample_complete.png b/modules/gui/qt4/pixmaps/sample_complete.png
new file mode 100644
index 0000000000000000000000000000000000000000..285e7f8107bde61aa9fc94e0dafe9c3d89fd78fd
GIT binary patch
literal 8063
zcmV-_AAsPAP)<h;3K|Lk000e1NJLTq004Rb003kN0ssI2#^<wG00001b5ch_0Itp)
z=>Px#32;bRa{vGjIsgC<5&_C&b!Y$p00(qQO+^RU1_lrcDfhLWtpET38FWQhbVF}#
zZDnqB07G(RVRU6=Aa`kWXdp*PO;A^X4i^9b9_&d(K~#9!?R|N8T*Z~|IaPI+?v`3=
zEv?pOYq4d^yRk7CV;eC0o{)r(<nc0JlF9dG0twk(mf?MwKteVq3vZZYCK*T^mXIMp
z2us+^YB09JHeRu{*jg-EQmfT__q|nh-XB+L%d*X20z8&JpFVxky|?Pt{oPZ)I_Ff~
zQ+V|^9xW at i0SJon&WkV&9`JD at B0vSEfc$&B#jezXGXh|E+zSkYy_@>uxVrGSAs9|H
zOex|V0YGU&0LD<HGkMY)0DPD}4Ih16U&X<F=UV2qChsV}EjY(SGRL^!3<W1d$mBIc
zMnr%JL;!$@1O$KxKtNK`RTs^E^x4-fgO4P&ccCX<DW&ws&!2VYgWLQ*KTWCu0f`6@
z5XS#~3ymkB!dt|N8 at p0ndEsnCL;%il-G-jw(JTNk221BfUfFrbb at kGDHN&xN&%uPq
zWZZn-C4l+0&XVP4JaB(Z5_^ZR)<ls?{}pR$e{sj|>;HasZ8&t^CvR$<cm9_ at z3A?{
z)>cGj at 9l~CgW)yHr{z<_mEi{M#y4z_Pp=C>uD5rrtSaOW*@^R4Hs5^nkHV2@;b|wg
z)~XG=^4XjQpif>hd!Vm-`+hv*l;-Qcdi at nwTv1<FW&6q=S+{-p(peifZ#i$(yxyVA
zXp+xq_C53L^U9tDpicm6q6M?7PF+-|iA=%od1OyCmP16xRR+h0p6N6VURiEuGEOX>
z at rq<~&X=w}Y2)_6*2dticWrfDCHjWav1FbBtV;j6D*a5p at 46l7rgx6Yx9l06*}yM7
zr~O}k@#}y7?hT#$4-Uidsf%hq_W9Au`ZSU0_D3%|t^B9IfA)nxUh|!wZ=O~*xVY`S
zy<H`(X6~BLt|^^<@&Ed}iyUo at jg6K>U{+hp!Tk^1wY7?){?u8o|730VZ8x4VHWnWm
zlT4UP=1*Jq!nPH2bSB<8zco->;eP7!)2{gZtsR?pb~tB)9y!s*AByD^X|2gJ`4cZ4
z6dXP7dV2GL`=9DI4HmBSF~q@<akyXJF<ez)%xx?C`|F=cWn2K@(-wSO6V}>^kFN~b
zOFog04(>|S7(y6=zY{-}$t9VmG!6gc_N}W|EE?{6tvY1w=+^U^#Ed$<uP5pAmo$al
zef_X_rnO~XCegnk<~Bb6)V(jh(n(frO$eInN*;RrrCcs|&EKtA_xOW at y*ox^yJ^7H
z7q>at=%x+p>+9>*Z+Nw-GLsmK-uu{|fBeixHoW-k?%{@9^tGSf@}Is?ODYjnc8kH`
zL>r&Ws~vmCc6Y|N?;Z8~4DTRAJa1(~-qDS<CCv at NY))l!$`IT%#TT!hx2J3DKknIc
z(^pR3)iIWLG_L&AJ at G7lt9@;g>ID$O=lrVw<6B1CII4F@!4VNjDq?~o0%;;mj57it
zsSptvf+pe&H34afOmHNr34n1%h#;i~0LBG^R!RXHTI=t8CUWC#`w0xg5Ux~$Ga at Jt
zT0i;fsw+S9t&)Z{oB@$0LLv<)-o_qm7>qnxLQsmlF~d9Vy4w3gD^i+p<)`j(rFIl2
zVBRQVFv;+JW)~vB&_G9Zqy_NEfd~14-Rl}=oXUmuUT7pf|4L^tV8hgr`h94IBLW?x
z<%mcCK=l8+b(qP!B2ryiT at fTIx;gKHd9D}$y)o8^Xqx65Tth_0Q5P`A5ZTdJ+P3{B
zU+tT at FXx<yPN>>9-xwkiLYz>wL}Xdk at rn>kGO<TSMu;e%&y9`6kTK7UN5s)+bnS0%
z=bR%VB2KQ$b={GX;bby-$J*ZsAqqtRVDH}7dwUN|K7xoopYQr_e=`v9je8{%O(dex
zXq1S&`n?++Iy89a9czzy-()i3mD=*^D~vIJ!1wKM{%^nESGZBZ2k}Ho8H>dZ9UAm1
z_pS*9eAj>bn?B!osY3m(>$<K>M2_RUxc&vhFecYFxh04=Ha3Qc at v$-QriNks>|bv7
z`KQ)d5dOt4f8Fo15b;;Pymd4>5{r%9`TMogo0=ZD|Gt?s+a7q}{%zZ~N+}mCT==K|
zx~IFVYwo=HT911NeSN*J at 7eRfefLeDKFx95#~ypMIvn1*<<-()@X5y?+qQL!<2XY@
zhc>;up`^6*r59i5>g*gG9H_5v9EpxpR#uL;fb))hdw=)a+gG1?=F2Z{XliO&_tcXc
zH*DCx{WT at ky!rG0aQ9uky*=%7=6LsIjK8 at 4h0@YsA`xHr<P#??S^8i1-1F3vkFPoB
z+(#dID4%yaI`%#P+_SZHb$)-qyG1UW?d>^m*PVBCb#`=jcQrLN{p!|ROG-;SJ34IJ
ze(A**D=I5WN=n8bs<-#hp}~^U(v2@~h{a;bMDmFz9y5edUS7U?_pZ*4eN8Pbo*!=8
z_RT;3;l&r6`{N(~c;TW&k39TPA`wp}lN}u$Pd@(m?Dlrs_D#lGY0U~MHh0e4T|0MX
zGnvw0 at ZLY(GjQ<WFaPadmz{FTg%@4Y(Xp3v?n?QqU*2k2{IGUA&O;CWIT#Eor6ZBZ
z;K1P8+i%la|NN&vS#!=gpSt?fn>TN)sHoh%d-wL&UfZ;B<3}&M*tYGv?)-gg>x{xX
zvu*SH- at Bo&w|DESTLupv1b}r<KCxou%Ja^@aPQvNl~Qx&%zb6^CLzQ`AVSV;Ya5G=
zK5+ki<>eu*b$vs_oVjy1y!6uE*I)n3gAZ(Z^_7b+y)+t)7TW0#1Qsk at l+9%?zVxyM
z3m4t|lOJ7s-F3Tm?i50d3=jA0-(Ox{UbuLAQ`4qR8%IZ at 4ULW4wr+X+u}Ay+`u_Up
z!w)|A=R1D)+eoBVt8o)q2zcT7=Wh7kP0u{NZtv at _@7lTJkAJw^G|j%=-s`^d)!Tma
zAEs#@Te|@u8jW6g)m62%b<vTLWy?+tg+gboIeY7tExkPlY|Ea%VBu at qw)%Yjv(}s|
zr7Sq*D^6c|-uV~CMx$L_ouP^f&UxdsX>GIGO~ZWtxo7L@>iYZprZ+WJRa7y~#uBMa
zCbM$&>RdJ(3WX-Lsc+tb`Cq;6iw{5iP<3^9=Z+nb+PcAkf&RW;+p<ntvh>CEFO-#+
zEm*Kf>+$ETt`0x5Zr!5Ai at 6Zfr#Efd^zwn81DAi~qlRIewqgZo=<e=nYHlelE%h{s
zF=pFlDwXQ)>W+<$u0G?;$Nu`)rj`~b?<`)jB$vwx!>FvRDo_MN_UyAyUv}9gJw3fA
zEjc+Ht~uk(vo^lG;hgg?sH(2=`vV at OaBdi;dEK>N5SDMz;>Db?(^sw5TKD!G=<DlU
zxoUMqMa5)3QCj1^o<mikpzFG8e|!7L$goFV- at ECDnM|g at Q<Is9F*bQ*@UH*&U;f*d
zzWfy_r4ZuA8@}_kuYc1U<q8F-{4qJi)7jba$3NW77*k4p_r{yD*(2_Yh+6B(bj&%w
z|4;Ys*s&cEFT4DsbLP(VI!b}}3pXkhIe4)D&fl+{-9G1%OE2?Id36?^VhY`Rckk}*
zy7!OwT>qW#=Cau-^zHp|;K2U7 at 4N#Ml~SL$@~YMuGXTKn^ZnraH-7ya-zq3&LGrG|
zeLaV&E6M=CG)*=U)68abCuC7tmX*tm7xDS*TrU6S2XxN4X&NVVU(+->X8_<hu2TQK
z_sbZwEK at 1%IL at 1YF0Wy4&?L^7X^qpx<d)dBT|i^9kCSsH?(I1gDlaM8-S2`ZN$}FE
zJ0}kmMS17siKky+h!`v at D`N332=^GUDDRpS;eJ;|yw9485VV1fM>D~7A?_66e#hh^
zGuW at M)IkPl0a&ne3og7Hlz!isRqr!0S=B&!fMgajS;*v}#80atMecrQ#1wdHJuz?E
zivR!&3oe<CMY!J?)vkf^ARqv!@!2O~L3>CCO)SFw_RE<kwTn=N5DXkZ1q{ISnStua
zjJm4gQ291Xpro|=if;_fZcSStq$4<`9i5dt7ELzi{_yJlyNhtYozmRW8V*O$Dg~b}
ztB5m(K2WKoS;|{x%q)`0+bpd!+bqjsi~}+RAktiLAxy1wd;8qN#7z<Iw?`H&UMx80
zoGGP{F(HKOxQsE*xjztCw*0gr+;5u%%Yrjzwwb00h^{LIXPk4T6p=Peiy<sMWqA?q
zw at nr-TH^Qn48ueM&Y99$O366~Aj1%dthuEnR8dic`|Xj_&%VI#vjGSYy=gY3lwk;l
zOe<}ghH02H=PW3~{WeIA3A5rGg}<z at cpfK~q9H>~T39|rIthE;``*s`z!02Yi7lP?
zR^R)SF=M5unJIZSTBXPtg6qqTl*IZ}*K6S&n{#<E7&y8J_un80Fs}lv5)ipqpz}dr
zKR^n&K(v5cK%BIM<S1k~G?hW6jRP4flF3^agTd?yFgPFrav<_P at E|18+WTq;I0w at J
z+kh3}_d1=t*Ws at AvzBt=3^)S>APs=y0l|p{E5JB#2AsngHB^NAZ<1AEu&r^d86LTM
zdm;>r91H=1L&T=~5?+M+t;?Aa5(XemG*lg47e9eEFb151!ND|OX{gBEZ&eygc-T)|
zfVWVN2uM$G2u=Dy;2Z=8!J$1!42y8TC7Hc=nPr2}zz`4t5kQT95JGfVy*=&b3``9*
z%`<#~k|NwEES&Sk_Qi>-?{sVDGH<CR15!saNda*VLYV30pUj{8wd(4cqTPMMV*7lx
zwGoL{^pe|h*}hPGS0LZbhX+iRVmiyXVz#BtKpF#iyFSXBhJ$lsY1bbcp1*L>{_f5q
z+$ScHNL_WfnlTRfB$n1E%cnU$TRIK`*tQJ-j^hx5QaYD&T-Vj9q%A<&_M#<A{_?<|
ziez$PGIzm(($Z4XG_bHRTx$YEE~F- at 2^lAihzt>dG-Hf2rnN3DDQ#+*QPl4L{@s6m
z84uZpcHL~o4J=&B5IJLv3#}DnrqW7lZ5W1D3W$VhDxD`q-ir`I<a0R$P)eSA+DRGe
zuxxHJ*g6U?4X7gAQ{~zf_AO^;Vlg+FfbFVfvp;}HS}9{<-KbU?X#Cp(@5 at v~CRHB5
z^M8nlEYtMacBHOx at pL0%yP*>B8L;djaVRN^WO77HzOd9COG73P$sEK6M*_i8)35+R
zDaAP_?JZ3ssU!k$#vIoLA|N7C$PkDOg9}3lA$%quOSvf*vMyvaoLTo?@qOMaaJSd+
zYTH!`w1$iWDxR3J>$ifDFiaxN01(L|aiuf>AY)odr4-|glxBcRDb57}U at jh6e`{8O
zt3eZJg5|Y{MKYNztD6B46afL`B`^WyUC;2$ezov&IrnlY{G4eeT|i(+M5L692wH0|
zOOHYUzH%7c8Gh~l at XmE(ZY~V~IG!G6Sp+zOq$1p27eiRt!U0_Z5GIUfz%qbyu;csv
z8-8xSdW)WUdbaJtbg-R#m0(&*x(LVwBT_n-vXZ^!{m+NGAJhH4u?)l&7zPl5VFF`7
z2rVVDEn at E)$Q9uR01ymLZ&qIPLl_WGL8t@}fuR>>)pqxDr3aqF43NdaSITW43Pvg?
z&|z+p6A(h)g`@$TfndM^Yz}D`>OuejiovzZ*gyQa$lU+{aPo{`W4VhQPypi)DFf2L
zaZ;#+0SS;CKr5abV~GKl=r^)a%qI~+anLy4O9TfFz!{X7P*V<p00c_F7lBWonFD4O
z;RXP>_H^X{pa8=J!w<7tpxg)20if~hb>74RP6SCN=5zow5CJJr5{Q5yFa*ZH7SIxg
zS+gNj50y<|mV;sG^XKy-nSd~Tmn}?d3ETo;01QHP;6sQfAe8}E1NQ?lAO%E#Fdhrk
z8c+jzK`R2%KnfTFXAlZNV>N`DfmuKrfB`dr1YEjU{&m}j9`1|hkzs-KJQc%RO9CYg
z;7@~0LoN;398ea>;}!-$fRj~Q12SL$D8TkZc at -E2pdZK_pW8$RXaEX0xea|5%jWfm
z8E(92ktP9*06BmLKtKirKw0qBf?oqD&{<FpxOvbLNKfc2115l*ApF2=;3fbEVj$x{
zc at Skl<0CDg05o7>t11sbHvb{kZodUfXA(1kIDnd%@nrxuPzH1!7zZ>!_`u-c^E6rk
zX#fHg01S`=FdzV(1DyvVKn at rH=FKq>00U$I2JoP~czNj8563>da90NTf;No+C;@0(
zyMX}^7`33H<MZx{0KJ$8j`KTA44Y6m&H?%OY=fu+;Nzx%XV`cJuepqV{qToayVuOM
zSRezEgEavk1K<D}umo5TAPpcVw0`nT`~*=PUIO7AF#*aa9t)5B&2hn^F~4DET<1dy
z_tt&sFZ{AZfj!karAY|V_`rC4{-1O)9zQ7`Lj$9zoDZ*dZ|#Sz{V9MHd^n`|O?(mV
z4=~(Bl+9#|K)eg0N#maV11gttU0H<V9Tg&~3`YcKtfs!92*<l1c~^?b at Ow$?CZ~QQ
zBE#Se;doh1rPRfwVMi-6A~MFb*4~#yg<N=t;YP%PfdL?5oM$tc=}k=lAOySXFFTSc
zFBS)!gCQ{QjIToF49;IQt+L!#gt&mA;2aUt>Gb~Y?v~cp&W?_`^X47H?(XjD+_h_$
zVHi@%s_JSF?qoK3!~fk}T4DfzRy4b{^y0H3|9ZzhZ(7`SbxULE()mUaXb<aXJkb!Y
z27qXEq^IXVUtbRq<Z{`QmMry{<1pN&X(=iFe!r8?7Zy=-G_U(y>%qaix8zrANN4>2
z at X3V}MObZ(F+3J8V(oEAb*Ov-dZv{!EnhyHo1B7kJSnM{tNLJnziFA$l}f2dZLP;a
zroktt<kVUp&SX!ZR59V>5r})BWipw8gZ&MS(|UUj%xs(GWyKs%N?H{P!jTDDkN&qP
zCpuIfeI)NnHko>+Fi{b>w at l*4J5qGw-&Hw0ROXMLEttIQ`L?Aeb(4ua%*VKTJbL<;
zPEF~6c%1eeyON0wM2>gr-DJo at p6UXjABI~gmCHLm%RJ83YnaLBR7REh{e`+XV}sFH
zB9)y|#5Bb8+VH^0XeynXa>_D|>5=OG;n8$v>M5UP)`u&nB>2we^CM$%IEn|up)#fD
z;PB{C6bbd=3Z?bnNNg&s1ohzxpKZNqm>7{pWJC&)6P?(EGGmMj;cD8xXJ>6?Rb{B+
z2<`U1?q{4KVkVQeZQl_I!T~u$rS)Vo8jQv&f`O*m>M2^8bDSL=`{y(_G}ncvG$NbN
zzt+(`uVtFAe(I at IHajvFuMU+LQd>)<v{r4?>H#L3LVyUJ{evbK3)`kov5F93U++M`
zvKF>A9UijA*GoXp(1>XooUx<9oswr=N;f)mC{$HFIy_hzu8R)!1WL;gku;SA%Z at n=
zBBGaTC7n)FE;-P>_u%IB=I(6^;_=<*exmY!e$MN6qJSs?NhK}I`rU263fDv~yyT;%
zX^tm;2b_}N8xiBFOk+)DJe at guSm+xXSvqG%Je>*n{S&<#Gnq6Z_8l5o+CC$3R4GlA
z%4Wl%^1^MD)`k#c$y9e&msZ+adCVAVoiRfxZQ3H9%6Lv0=iGa2t+nI2mBG?jBDs6d
zp1E`89O&sO3znrb>4y4xuTxJ!N(iBpVhjhPnNZL&1qT2j49l`&(cy5UzIT6DV^hn)
z-UCFWN!dQ1VOj;0g%FI3WIDHF=k{#>_R{2my4YUc+ch&fvLxlwn4$!ASk^JPn~0QB
zO6jq&QO4k>Kf2+nt3O*;-{2{iB4S7Oe*{!YrP3+VWSFLt&s(;g%jHT+N)S;>DGcLF
zU-+D5TL6&D<!=1J&yb;)IzN$28ix0roQRZ?w$DHHwE+<6OeXu%`WGzQ)>^l>&jp}l
zGO3A3>ufIfmxmuZb=k7+j=jiONolZk<}6L5wH_Qg^oyU}{G~5{?f(1jt%=lCR+NV?
zy<8vVArR5FZLe<M_R7bu`Yh-8$V=THSvi9M;<3?0e5|S_vcGe0ZR7O)oqHRaT1STt
zA!lACQYs}~C!gB++Q!kY^;NlDrvyh!(=i$xR%t`05nQHR1VT8nGaUi9D;49?L&x^{
z?!9O2w5HYzF8+wOnjM&!f(IeobJyBKg9CHs&fmIa(<#eWt$%*q_kVl~04S|oSDBVs
zRaFH5vDm09rRT^ZW54<LTf#Mw(UFlrNhtvI_w`)=-5(w+KuoTbN@*n(B67|K2L|dI
z8%cvAlCB#aiDt7IWPl8$8sG0mlh#_>wkefljP2jw2{hetoGJXvIe+z)jdhW#ns9aB
zP~xf02Ug6hP32s_CCWk-<rP&#x^?zE(t1Ywe9l<ejI!uR;`QD8QrX=$bX3S4fz0cx
z%!EIZhq0_oa+P9)1|Y)m_a2=LH)t)D5&)3T=QEj%Wm(;w`&`EX)6_smudq`}5l}9d
z-M4qQQhNKgSBSt>5&)Fau9R9UZ$lN=aio%r*mx;|f&RW^GUYhAR4T(5dZngnpC+l~
zX)9LDY at 3zK<?j6bS}En6g$p!tBFZ`W9ox4pU9!;onndPvj&z8KGyy^;o2#v>%jffk
zX)CRzR!8w6i^s<n&Yw*{sf>$=hQXCCkhu1ikpn<9I=pG~i at S!OvnmcWw;l}p4%N%C
zMvXojbqbY>K%9`lo3MF~&~B*|8wX1v;+%PlmM%XXId`SRV<c8bsZ at EWl5;VuectwM
zubzDBiVf?Z^|q6cO1jd`=bd~m4}eNb*LAtz0N_YBToVaLYLkhCVVb64_8jPTUH6#N
zAFh;{OePkKN!Ru0SxQNqX|1)^4UN+c%T6WYh-jFWluB#um2&dV%P+s&(XnsE%GE+}
zDW#?<TSd9cPFb<(l~>~N#EQmHI-Bq8k2lu_Ip;%%h7Ju4B=lHkZtsTlOI_@>il$U#
zMkeB>k}j(tn6y}cj<3tdICUi4QgSY|)`39jMVDV$6R8CNDJ2nc6i0Kbblv4E&+uZq
zO)agA^UFVWRVI at G0IgLjmAdw8-!9zRo!HpKaq?%KcM)T(U==J}vNW5`9 at 8e%L?ffo
z;n64nG&DDP27o5=nBk)z|CkUWSQhdgPAcUMn5Jo7aPg&HF1)Jh>P$NAN{L63ArS=v
zfn}$hu9Y$jj8ytt>&q?EeCUz;N}B!I*38!2ww><I-MKxkJ7f at 4NJ0>d5hG%nI3r}h
z82}P7KqT*NdfOO#`_Rz%N+miD+*;{;_UsETs|rVaKA)WE;6%Xq6fPmd5Lw6Zx}Me=
z5WU}0NxyAn9an43xtJW=a+UJiR?cw?JL61raCD^<!lWZD99JsF*u2Gyr!bgwl~kGl
zyse^Wa)b!LRf-F7_POV}Ql513$)vS6J|k*8%CTmQA)+Q~sV(<Rmq4IIjY>5{Z8W<{
zH?N^{0F*&s0GLDuLV{oqP!|CbfJWc|rAU6jDguq*En(CM+FN2r(@t4gh_H at _sH9Y*
ziFhiLg2JZNM{0s)+W}voyrg9E>lqpw%VeiIEQ0e$Ma5_$k;&z!oHDqmsR%{m at oe6i
z>Kq9XsjTEj?t$bP<5R9Ag37WW0*u5Hc+ at VNm1RL9iYAgrpQ<V^EAjc>*sC0$(wa&G
zcs$Sc&H0zQ5Te3;J%_48K>~;+Q}J}_IE?^Ph-o$9$)1j<AjfRGKED6`#;1<qo*|q1
zXo%hpZ^+nDn|`7ujmJK9?E2sBxk at 6)yLkXAv5gX6=nbyU<}>e$Fwn%FTqh8H^F{)E
zLmTddg5JkDWe7xc9634~gAaso&LcHpM2yGd`pwQ-Q%y}+Nj(-HlT!X|h*QAtvweYM
zl1<)~0uU03Wb^cC`U5d7lTN3lQVcN=2w0Zo_gm at o;mz0xz{xw7ZE8jN{NaW5NaLR$
zS5;NL at qT2-+|TTYFr2}2jy&E7!Mw3i(+5TlcWK9QKK(zg_97~b@&EHr-~Rp$Hw+IC
zUH`3b-u|DzDa0)%<9l>m#j}IQtpFi at c+>a2^d1vNt at CDhq;Qyj at he}~()G4>`~ZmS
zx?Wt<+xAy$)i%4GAtGWdHaZp`Yo9&m^i`{$f9_ewb^rRv!%fXCfk1#WripU7oNe3Q
z0+7v{Hl|alR4SFpWQK=_2L=xA*uGsDVt8nX3(gom`^?jI^$nXhZ5$XlSXWoS?x`mm
z8>cbG1ZPU=DbtXGvsBt;M>{VcFp*L+#Ey=AEiJ9F*jO@=P+E<SMja<VG&opRR<4gV
zqY{ZkYHDh{!Lz%otGT6xA-2z%+jHQ+$;(b at n>CAw&OPq}!!Q6~`DrVZQfHpE=6D3c
z8Fu$2ZvWHHfBMH|A7r>)*R8G&-+$k|tIs$~DRt_pr(STuMOD>RPp^CGnlFA?N?BQ1
zIXF0Y%*n<AcBR3f=L&gwe#=9l$<s8ENbTh7j}Gv1hC4e(|M`{;OXgMs0PgD at a<b{h
zhB~c3AVVb=f+2dY{A3ioq{uKHIhY*QAX9Kx=~ygQ9ts_8%NNXy$$QflUd$ATEkoqp
z at u89-bo9i(_Je1D<l^?~Z(Vab?&}#UE3t=1q92TzcOgVoWhG<G5GRmN(3M&fnFfDb
zFvz=V!pvq*uJ86)0szW`cJs7y+}Y7*nkIaZRyn+vELub?e6poA{XcwiESWDSncV;Y
N002ovPDHLkV1oRci}?Tm

literal 0
HcmV?d00001

diff --git a/modules/gui/qt4/pixmaps/sample_minimal.png b/modules/gui/qt4/pixmaps/sample_minimal.png
new file mode 100644
index 0000000000000000000000000000000000000000..ffbe44cf6e776fb7d93eee5ac2a9b34c1232f05d
GIT binary patch
literal 3440
zcmV-$4Uh7PP)<h;3K|Lk000e1NJLTq004Rb002Y?0ssI2!ArJo00001b5ch_0Itp)
z=>Px#32;bRa{vGjIsgC<5&_C&b!Y$p00(qQO+^RU1_lrd12q+9IsgCw8FWQhbVF}#
zZDnqB07G(RVRU6=Aa`kWXdp*PO;A^X4i^9b4BbgYK~#9!?VNjzUDb8QzqR&0ulw+f
z=jl71hwbr<JvM$~V=x#$5^%st5i~psRBF>EZIiS~QCpO%O%<wEsVHh1T15&;)hbm2
zLTX48Q8xrA82m`U#$aqGew)~3X6$+2$9e3%`p3OvoRm^I*v^c6J{^s&&g^^dzQ421
z+H0 at 1&!%60 at IUJE9#UNvY1dKNK#K at K3AtLrDcxV9I5t`_0HSwofH=0UqeSF#^@yU_
zoclIM^SO>0D~bsOYXk%)(#28;u_6elcpaX82KOq7FX81?M1&}@zN-||L at 8oc%%oXB
z2qR0x at A3A;*t>37`2B5%TvwePP0s(900bCg at 7Ub?#P|03zJDqDFObR0T7w!V_O4qN
zFcAof>G at qJ2Zzc4m}%wWmOc9i;>51#YZ)4?oc!-GT`I+47z1c4#8+Rp at jFiqCzdY}
zYb(;$oV$Hf>)-$DfzN-Uuh25{=6nCT`>M^qf8Wxl{_R^0t-U`yJd~Z$vVL_(SQ?z!
zG+W}aAMGD&FVs`z)K5oeG}Z at o-uSKS=RWecUu<seXzf}vr`5dj<FFE15#0Hqp8nG(
z_MN0n*LFYfM}L0%9Um>UHh95|XSVIXW<}4ddtTqPw(rznX=Fkz=n7tbc}L>Uhu8}M
zEx4+;VbzjZ){5h(Z$EQrXgDN76dT{=r(ZbgINVqll*-ZYXsLShSz|u=Ys-K1#@mZ~
z8ovCE-BD!pPX~)5V<8dNO?;=h_<Z=*AHG?dbLp)6wI2`lwDX5Qu;5FN{?ng*{x6Ok
zJAFn5pIp^`_wNog&Mpu+(do0dUSI#{*I#_`@lSu@%ey=C{VNyVeB?wv$b_H#jZO9Q
ze&y4 at b!#I2`1oixl&cnZ54`o%H(zVgZ13N6=u6)`_ShFTjEs)-kHn7au36Fb!uB_=
z?Tw>}<4flHU9I+GciwpW#~(emXaAwfM#$L<?fl?KMQO4ko}- at KdAjP;;@Cd-!{bkW
z|A^<R<_4dc`p=ZB?RUOD`0$_Tl~>jO=AS-SDklI`=h8c^MXO)@=!Vu{)jh?b!2=^r
zN-M4TQXH<MES!yf#fQGK{pL+;jvsopxgmG>wCQbk=Fg_XC&zt1+g&gR-;y<pa<3jN
z7T<nl)U<E??&CXm9}Vie>N0lWyvBduy1f#HfBZX}|MTf at pE-T7KkjuD?*B+{sW`H4
z at 2-ya*)Q+d-7#~#TpWFJ>%l+x#2wpTdj2OvUB$sY5C7d`xu*H!qh}Luo?={R=gXnl
zdvIvqq2av;hBCfWJxPQQuAN;hnYNZ}S6e;|O{rqEX4m0Q-M8rYsfn+A>%d<<uzK%-
zp*Xg*?!G5R%Xo0%H+t*|Vwc^@Kc2ehwc+`S?4=u9NGgeSJeL)j#Msz4o?}I97!$G5
zEQt}%L1NgNGONJRHjE5NyV??{5+wv^$7Qln6oNC>+Q0mG;i0b`jSL5YU#UdC=NM~e
zWZg#|+;q>!J{J@=d5##9SW#jVum at b6u~Y=vj5bDyK%g)-*492b6X;?o0g%n;IJR+O
z>Bjq?5O8d?5LMsoaH6O>@JuK5pFY at 9=pj-+du`RxeOo&htkc^6rT5U7gr54r-fjQ&
zT(MZ3_AxCH-Zl99zs_H7)@Ji9Td;G_{z9RUPCzb$o_%o#18`h7WpO!fKY&vTms2V3
z6nBa{Rf>E1Nl!EDAlyD5%UhrnMngP#07u7C+?PyC8|jf-q{)ZQ!YVAA$@gxx)5%<>
z7w&Z(<Y!?uYyu%%(`uVDoZ`Mz+R!fSKw^jm1YQOo?nsBqOQTsi)z>V{fUWgixwvWe
zbjqepC)`_FjGqBnzyJiYa2>Q|q$7~&@)M at hP}z6iXKeH98VBsi8BjuAj+$F4{^G8o
z!MC>WOmSaKwH6AkOE(NG{LFZeVFd*$RpL?@MMM4b-~N}EQrs6;bLMt8)Ys``!bwaV
z8W3l-N|JFcQBUuJ)OTNOPqJvSVpd9lh(JWJ0<9fbJ9pl^Lfh;V_r=t*6)PRbVWudG
zwN_f|IEsj%9am|!_Qv%o?u(}Oj*dcG!F62_S+PV!L;$R{j_VMxeC4VX_eIk+*WD0!
zp3;g0N~t7C;yBh?6OmF%Dc#)E+%;!ziu>Yd&DtA+z=s8h6p<AX5v7=kOp<t>tCX7G
z+neIP2<pk9XYW5``**5vfS6;Qfma8wF6IoJ3~U at s9B(@DgVm$E)RdoHPJ=*jX#=&C
z4m582Tt4giIY(@>_4DLv&q-|MG|I)Xf#mJ}XrV_A!<ZEJ`;a0mYJ}@U!ID%ctnk>l
z>wsO52j##Bw1QSB1TrVj2S;q`Onz}WgoTaJ3??uE76O1ERlgx1Kr^(0*4Q{J_1*7J
z^XgSwP88J^&x`$Ei=qgmpcNG3+D1FYvx8F|_Xi8mE|@^o#}%Z8xN6$fgBgy7R>-?p
zRG;F0AG)^5XbmQC6|#B9w5zm1Acj(KG#rgp4XHEvMYW{a&AU(vOf`!Z3p&rPVF3XV
zw1Q at 6jd?liOyPKNO5^Uh{x;P(QvpP^j*_Xl6Or1}I3gehDJTU`&~Wvp%#4|7Ab8<1
ziQ{y2w2y53=j^Gi&cLor<uKbZR6q=>j+_J%D24z at ZdSQ|(Ll?(vhHes<?QJ2P>TD)
z6l5~93at`H#lE{_*}W4A0TuP&PlB+Y!V#u~gIwY_o<(Dr=_*Au5hh`=l${t~wtVHA
zZ|qHRUzobO<~BAqYR3^{NCj4L;@6kk+s0Y>eg=f75{ekuBrcUmB7_sJ>$qAkUa~|f
zWv1l(a_ai-6<4pyX0z2Cx3!j-#TqfOvaty#Y-K_tCKHJm0<4HqiiwOdN~yjj%Tnw9
zf0Xmo!<#AZxJe}%DXYPr#SqIN#oCHtVq=Y1VOLpWP<;x(7#JZYF;**8Hbyf8vU$zY
zU$wh4feJKUAI8`An-urY>!F*1-(E5?Jd%u$VYkd5brdsOYnZ{rfQS_UB7)jeTS7#!
zi2;B~j3vPJylf^YH?%IQciV!fA&V`YczHk{IFqE#<ovm~zI$P5yn--BF+%0U;hA~g
zbzKmwwMr?mMgTyPBql&HM^PwZNnovEf(RT}E5$^dOU5Q9qH=;TL1?kAFjW?!OcmT~
zI@#COT8Kp{go%>w9e?AN`gNvGAP}k9^En%bSZl4ZN-?TutYPgM(z%n{XYKfEMGzZU
zKm==M5mV|+&eQriLIfiaMrffFvLi>DzWXV&=mVAOKWiwjiL6NgCWaLY14U%4SZf8a
z0`@X=bX)hX$I7Qq4if}mRhtv7E<iIyMpE1Wpa?f~b9Hj=dKef*;DQOPkUjEj^YLdf
zdtTDMs^WLr+$;ojq+Mc$7&0MB1FCq+J at aPf^zLY|I9x_Za5Nww4W(fTv%KWGPVa?d
zVTv07Tup1|nCgs?fiOaSww471Lmaq6NByy*`4UKxauh2jO+=QJ6&PlSMQjneP$3jU
z5dw|SAP4{;W<0RooeH?8gzvt2NxmUSNP#qzgU%+11p`c=Ds%!>*S(6sBuFA8A(>c=
zVL)sxg`x;rLjj6V=cB6?`8v#KK&}H at R!?Lzeu^6aKD$9e0y}U#I01UQF{>U)1lU?G
zkN}*Q3lyoX?}mj~h=EONl?MWtk#(`K4Rd=jqktK0aIz3BA6d?+GeLbmb7S{-7(sau
z1tR1<^bp2JF*=T<1m&Z)g at Og~WG>J`xK>LesX<o^&q3=<<nx%(31Nr at 80<h4wk(Yw
z-+sm8zHOO^Gg&=wfNHw61#TV<5uyo%WhADyu at 0R}a|2>fburcKtK&fjP(GA~jX~~Y
zWWrz#(pcF;IiDsfawX%Y4=qigp#-7;TdU4kz?9%Lz-vTafHG{1xB?r)Scm};$br&e
z4^9T`gERnGLOcvGbY`-AOdtg~STxr(*Qtq0a^>RA`&iLK<bgDhyi*J#A1Fg2SOzI@
z4q8=BA7UphookJ&SZxGr00DcTEGP$($z}{_AZza4Sog)pN3YzWvb8}kn3qrn6o7Kz
z3^)VIfPFZ#!5-j17)FpJwZm9gzzU3kF-T&V1W5v6kPCR=0M2Ys0Lp-Jpe!g0@&U&0
z-Nsk6 at 4l%|Bkxe+VlwKeS)u^|-2{|@>fJBr{RKeh)#GXMV88)#0N29DpJ}Y9vv0WG
z(Iatkh2kDKRvCCkQ6^yq(>wkFf^+)`z5{M@`NL#R5SUyFA(L%>elJI<Rqlmg4VfXB
z#9X=7{k;?De=Knnw5rt}?PSgOeA7Jl>b(<9 at 51_=aWmosBN2_u6&#s_MqWB|Ilu6i
zoTW;4d`NMpxKpLLQ{1WE8 at Gsrl}ZZYGRTV1{-dXc2K(bUPH|jX*4ECM+x<V{mW+#%
SaJHHN0000<MNUMnLSTZLXMK7A

literal 0
HcmV?d00001

diff --git a/modules/gui/qt4/qt4.cpp b/modules/gui/qt4/qt4.cpp
index 9f551c0..c3978e8 100644
--- a/modules/gui/qt4/qt4.cpp
+++ b/modules/gui/qt4/qt4.cpp
@@ -149,9 +149,9 @@ static void ShowDialog   ( intf_thread_t *, int, int, intf_dialog_args_t * );
                                   "as lyrics, album arts...\n" \
                              " - minimal mode with limited controls" )
 
-#define QT_NORMAL_MODE_TEXT N_( "Classic look" )
-#define QT_ALWAYS_VIDEO_MODE_TEXT N_( "Complete look with information area" )
-#define QT_MINIMAL_MODE_TEXT N_( "Minimal look with no menus" )
+#define QT_NORMAL_MODE_TEXT N_( "Classic" )
+#define QT_ALWAYS_VIDEO_MODE_TEXT N_( "Complete (with information area)" )
+#define QT_MINIMAL_MODE_TEXT N_( "Minimal (without menu)" )
 
 #define QT_FULLSCREEN_TEXT N_( "Show a controller in fullscreen mode" )
 #define QT_NATIVEOPEN_TEXT N_( "Embed the file browser in open dialog" )
diff --git a/modules/gui/qt4/ui/sprefs_interface.ui b/modules/gui/qt4/ui/sprefs_interface.ui
index 11e73b4..bff4665 100644
--- a/modules/gui/qt4/ui/sprefs_interface.ui
+++ b/modules/gui/qt4/ui/sprefs_interface.ui
@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>732</width>
-    <height>604</height>
+    <height>657</height>
    </rect>
   </property>
   <property name="sizePolicy">
@@ -20,16 +20,6 @@
    <string>Form</string>
   </property>
   <layout class="QGridLayout" name="gridLayout_3">
-   <item row="0" column="0">
-    <widget class="QLabel" name="languageLabel">
-     <property name="text">
-      <string>Language</string>
-     </property>
-    </widget>
-   </item>
-   <item row="0" column="1">
-    <widget class="QComboBox" name="language"/>
-   </item>
    <item row="2" column="0" colspan="2">
     <widget class="QGroupBox" name="OneInterfaceBox">
      <property name="title">
@@ -43,13 +33,6 @@
         </property>
        </widget>
       </item>
-      <item row="1" column="0">
-       <widget class="QLabel" name="assoName">
-        <property name="text">
-         <string>File associations:</string>
-        </property>
-       </widget>
-      </item>
       <item row="0" column="1" colspan="2">
        <widget class="QCheckBox" name="EnqueueOneInterfaceMode">
         <property name="text">
@@ -57,23 +40,10 @@
         </property>
        </widget>
       </item>
-      <item row="1" column="2">
-       <widget class="QPushButton" name="assoButton">
-        <property name="sizePolicy">
-         <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
-          <horstretch>0</horstretch>
-          <verstretch>0</verstretch>
-         </sizepolicy>
-        </property>
-        <property name="text">
-         <string>Association Setup</string>
-        </property>
-       </widget>
-      </item>
      </layout>
     </widget>
    </item>
-   <item row="3" column="0" colspan="2">
+   <item row="4" column="0" colspan="2">
     <widget class="QGroupBox" name="groupBox_2">
      <property name="title">
       <string>Privacy / Network Interaction</string>
@@ -82,7 +52,7 @@
       <item row="0" column="0">
        <widget class="QLabel" name="artFetchLabel">
         <property name="text">
-         <string>Album art download policy</string>
+         <string>Album art download policy:</string>
         </property>
        </widget>
       </item>
@@ -93,16 +63,6 @@
         </property>
        </widget>
       </item>
-      <item row="1" column="2">
-       <widget class="QSpinBox" name="updatesDays">
-        <property name="alignment">
-         <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-        </property>
-        <property name="suffix">
-         <string> days</string>
-        </property>
-       </widget>
-      </item>
       <item row="2" column="0">
        <widget class="QCheckBox" name="saveRecentlyPlayed">
         <property name="text">
@@ -118,7 +78,7 @@
         <item>
          <widget class="QLabel" name="filterLabel">
           <property name="text">
-           <string>Filter</string>
+           <string>Filter:</string>
           </property>
           <property name="alignment">
            <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
@@ -146,22 +106,51 @@
         </item>
        </layout>
       </item>
+      <item row="1" column="1" colspan="2">
+       <widget class="QWidget" name="updatenotifier_zone" native="true">
+        <layout class="QHBoxLayout" name="horizontalLayout_5">
+         <item>
+          <widget class="QLabel" name="label">
+           <property name="text">
+            <string>every</string>
+           </property>
+          </widget>
+         </item>
+         <item>
+          <widget class="QSpinBox" name="updatesDays">
+           <property name="alignment">
+            <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+           </property>
+           <property name="suffix">
+            <string> days</string>
+           </property>
+          </widget>
+         </item>
+         <item>
+          <spacer name="horizontalSpacer_2">
+           <property name="orientation">
+            <enum>Qt::Horizontal</enum>
+           </property>
+           <property name="sizeHint" stdset="0">
+            <size>
+             <width>40</width>
+             <height>20</height>
+            </size>
+           </property>
+          </spacer>
+         </item>
+        </layout>
+       </widget>
+      </item>
      </layout>
     </widget>
    </item>
    <item row="1" column="0" colspan="2">
-    <widget class="QGroupBox" name="groupBox">
+    <widget class="QGroupBox" name="LooknfeelBox">
      <property name="title">
-      <string>Interface Type</string>
+      <string>Look and feel</string>
      </property>
      <layout class="QGridLayout" name="gridLayout">
-      <item row="0" column="0" colspan="2">
-       <widget class="QRadioButton" name="qt4">
-        <property name="text">
-         <string>Native</string>
-        </property>
-       </widget>
-      </item>
       <item row="0" column="2" colspan="4">
        <widget class="QLabel" name="defaultLabel">
         <property name="sizePolicy">
@@ -187,51 +176,14 @@
         </property>
        </widget>
       </item>
-      <item row="1" column="2">
-       <widget class="QLabel" name="displayLabel">
-        <property name="sizePolicy">
-         <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
-          <horstretch>0</horstretch>
-          <verstretch>0</verstretch>
-         </sizepolicy>
-        </property>
-        <property name="text">
-         <string>Display mode</string>
-        </property>
-       </widget>
-      </item>
-      <item row="1" column="3" colspan="3">
-       <widget class="QComboBox" name="displayModeBox">
-        <property name="sizePolicy">
-         <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
-          <horstretch>0</horstretch>
-          <verstretch>0</verstretch>
-         </sizepolicy>
-        </property>
-       </widget>
-      </item>
-      <item row="2" column="2" colspan="2">
-       <widget class="QCheckBox" name="embedVideo">
-        <property name="text">
-         <string>Embed video in interface</string>
-        </property>
-       </widget>
-      </item>
-      <item row="3" column="2" colspan="2">
-       <widget class="QCheckBox" name="fsController">
-        <property name="text">
-         <string>Show a controller in fullscreen</string>
-        </property>
-       </widget>
-      </item>
-      <item row="5" column="0" colspan="2">
+      <item row="6" column="0" colspan="2">
        <widget class="QRadioButton" name="skins">
         <property name="text">
-         <string>Skins</string>
+         <string>Use custom skin</string>
         </property>
        </widget>
       </item>
-      <item row="5" column="2" colspan="4">
+      <item row="6" column="2" colspan="4">
        <widget class="QLabel" name="skinsLabel">
         <property name="sizePolicy">
          <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
@@ -265,31 +217,170 @@
         </property>
        </widget>
       </item>
-      <item row="6" column="0" colspan="2">
-       <widget class="QLabel" name="skinFileLabel">
-        <property name="text">
-         <string>Skin file</string>
-        </property>
-        <property name="alignment">
-         <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-        </property>
-        <property name="buddy">
-         <cstring>fileSkin</cstring>
+      <item row="5" column="0" colspan="6">
+       <widget class="Line" name="line">
+        <property name="orientation">
+         <enum>Qt::Horizontal</enum>
         </property>
        </widget>
       </item>
-      <item row="6" column="2" colspan="3">
-       <widget class="QLineEdit" name="fileSkin">
+      <item row="7" column="2" colspan="4">
+       <widget class="QWidget" name="skins_zone" native="true">
+        <property name="enabled">
+         <bool>true</bool>
+        </property>
         <property name="sizePolicy">
-         <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+         <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
           <horstretch>0</horstretch>
           <verstretch>0</verstretch>
          </sizepolicy>
         </property>
+        <layout class="QHBoxLayout" name="horizontalLayout_2">
+         <item>
+          <widget class="QLabel" name="skinFileLabel">
+           <property name="text">
+            <string>Skin resource file:</string>
+           </property>
+           <property name="alignment">
+            <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+           </property>
+           <property name="buddy">
+            <cstring>fileSkin</cstring>
+           </property>
+          </widget>
+         </item>
+         <item>
+          <widget class="QLineEdit" name="fileSkin">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+          </widget>
+         </item>
+         <item>
+          <widget class="QPushButton" name="skinBrowse">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <property name="text">
+            <string>Choose...</string>
+           </property>
+          </widget>
+         </item>
+        </layout>
+       </widget>
+      </item>
+      <item row="0" column="0" colspan="2">
+       <widget class="QRadioButton" name="qt4">
+        <property name="text">
+         <string>Use native style</string>
+        </property>
+        <property name="checked">
+         <bool>true</bool>
+        </property>
        </widget>
       </item>
-      <item row="6" column="5">
-       <widget class="QPushButton" name="skinBrowse">
+      <item row="1" column="2" colspan="4">
+       <widget class="QWidget" name="native_zone" native="true">
+        <layout class="QGridLayout" name="gridLayout_4">
+         <item row="0" column="1">
+          <widget class="QComboBox" name="displayModeBox">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+          </widget>
+         </item>
+         <item row="7" column="1">
+          <widget class="QCheckBox" name="fsController">
+           <property name="text">
+            <string>Show controls in full screen mode</string>
+           </property>
+          </widget>
+         </item>
+         <item row="0" column="0">
+          <widget class="QLabel" name="displayLabel">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <property name="layoutDirection">
+            <enum>Qt::LeftToRight</enum>
+           </property>
+           <property name="text">
+            <string>Display mode:</string>
+           </property>
+           <property name="alignment">
+            <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
+           </property>
+          </widget>
+         </item>
+         <item row="4" column="1">
+          <widget class="QCheckBox" name="systrayBox">
+           <property name="text">
+            <string>Show systray icon</string>
+           </property>
+          </widget>
+         </item>
+         <item row="4" column="0">
+          <widget class="QCheckBox" name="resizingBox">
+           <property name="text">
+            <string>Resize interface to video size</string>
+           </property>
+          </widget>
+         </item>
+         <item row="7" column="0">
+          <widget class="QCheckBox" name="embedVideo">
+           <property name="text">
+            <string>Embed video in interface</string>
+           </property>
+          </widget>
+         </item>
+        </layout>
+       </widget>
+      </item>
+     </layout>
+    </widget>
+   </item>
+   <item row="0" column="0" colspan="2">
+    <widget class="QGroupBox" name="languageBox">
+     <property name="title">
+      <string>Language</string>
+     </property>
+     <layout class="QHBoxLayout" name="horizontalLayout_3">
+      <item>
+       <widget class="QLabel" name="languageLabel">
+        <property name="text">
+         <string>Menus language:</string>
+        </property>
+        <property name="alignment">
+         <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+        </property>
+       </widget>
+      </item>
+      <item>
+       <widget class="QComboBox" name="language"/>
+      </item>
+     </layout>
+    </widget>
+   </item>
+   <item row="3" column="0" colspan="2">
+    <widget class="QGroupBox" name="assoBox">
+     <property name="title">
+      <string>File associations</string>
+     </property>
+     <layout class="QHBoxLayout" name="horizontalLayout_4">
+      <item>
+       <widget class="QPushButton" name="assoButton">
         <property name="sizePolicy">
          <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
           <horstretch>0</horstretch>
@@ -297,30 +388,22 @@
          </sizepolicy>
         </property>
         <property name="text">
-         <string>Browse...</string>
+         <string>Set up associations...</string>
         </property>
        </widget>
       </item>
-      <item row="4" column="0" colspan="6">
-       <widget class="Line" name="line">
+      <item>
+       <spacer name="horizontalSpacer">
         <property name="orientation">
          <enum>Qt::Horizontal</enum>
         </property>
-       </widget>
-      </item>
-      <item row="3" column="4" colspan="2">
-       <widget class="QCheckBox" name="systrayBox">
-        <property name="text">
-         <string>Systray icon</string>
-        </property>
-       </widget>
-      </item>
-      <item row="2" column="4" colspan="2">
-       <widget class="QCheckBox" name="resizingBox">
-        <property name="text">
-         <string>Resize interface to video size</string>
+        <property name="sizeHint" stdset="0">
+         <size>
+          <width>40</width>
+          <height>20</height>
+         </size>
         </property>
-       </widget>
+       </spacer>
       </item>
      </layout>
     </widget>
@@ -328,14 +411,10 @@
   </layout>
  </widget>
  <tabstops>
-  <tabstop>language</tabstop>
   <tabstop>qt4</tabstop>
-  <tabstop>displayModeBox</tabstop>
   <tabstop>OneInterfaceMode</tabstop>
-  <tabstop>assoButton</tabstop>
   <tabstop>artFetcher</tabstop>
   <tabstop>updatesBox</tabstop>
-  <tabstop>updatesDays</tabstop>
  </tabstops>
  <resources/>
  <connections/>
diff --git a/modules/gui/qt4/vlc.qrc b/modules/gui/qt4/vlc.qrc
index c97f3bd..86ea47e 100644
--- a/modules/gui/qt4/vlc.qrc
+++ b/modules/gui/qt4/vlc.qrc
@@ -93,6 +93,11 @@
         <file alias="enqueue" >pixmaps/menus/enqueue_16px.png</file>
         <file alias="playlist_remove" >pixmaps/playlist/remove.png</file>
     </qresource>
+    <qresource prefix="/prefsmenu" >
+        <file alias="sample_classic" >pixmaps/sample_classic.png</file>
+        <file alias="sample_complete" >pixmaps/sample_complete.png</file>
+        <file alias="sample_minimal" >pixmaps/sample_minimal.png</file>
+    </qresource>
     <qresource prefix="/menuicons/aspect-ratio" >
         <file alias="ratio_11" >pixmaps/menus/ratio_11.png</file>
         <file alias="ratio_43" >pixmaps/menus/ratio_43.png</file>
-- 
1.6.2.4




More information about the vlc-devel mailing list