vlc | branch: master | Francois Cartegnie <[email protected]> | Sat Sep 17 20:32:11 2011 +0200| [3a6c8349d8f165036d98aa915f9d07935cb88be6] | committer: Francois Cartegnie
Qt: Force custom toolbars not to follow RTL auto layout changes. Some widgets can't handle RTL (timebar, ...) and custom toolbars need special logic when reversed (next/prev...) > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=3a6c8349d8f165036d98aa915f9d07935cb88be6 --- modules/gui/qt4/components/controller.cpp | 5 ++++- modules/gui/qt4/dialogs/toolbar.cpp | 1 + modules/gui/qt4/qt4.hpp | 3 +++ 3 files changed, 8 insertions(+), 1 deletions(-) diff --git a/modules/gui/qt4/components/controller.cpp b/modules/gui/qt4/components/controller.cpp index fb956e2..c83af0f 100644 --- a/modules/gui/qt4/components/controller.cpp +++ b/modules/gui/qt4/components/controller.cpp @@ -623,12 +623,12 @@ ControlsWidget::ControlsWidget( intf_thread_t *_p_i, QWidget *_parent ) : AbstractController( _p_i, _parent ) { + RTL_UNAFFECTED_WIDGET /* advanced Controls handling */ b_advancedVisible = b_advControls; #ifdef DEBUG_LAYOUT setStyleSheet( "background: red "); #endif - setAttribute( Qt::WA_MacBrushedMetal); QVBoxLayout *controlLayout = new QVBoxLayout( this ); controlLayout->setContentsMargins( 4, 1, 0, 0 ); @@ -675,6 +675,7 @@ void ControlsWidget::toggleAdvanced() AdvControlsWidget::AdvControlsWidget( intf_thread_t *_p_i, QWidget *_parent ) : AbstractController( _p_i, _parent ) { + RTL_UNAFFECTED_WIDGET controlLayout = new QHBoxLayout( this ); controlLayout->setMargin( 0 ); controlLayout->setSpacing( 0 ); @@ -691,6 +692,7 @@ AdvControlsWidget::AdvControlsWidget( intf_thread_t *_p_i, QWidget *_parent ) : InputControlsWidget::InputControlsWidget( intf_thread_t *_p_i, QWidget *_parent ) : AbstractController( _p_i, _parent ) { + RTL_UNAFFECTED_WIDGET controlLayout = new QHBoxLayout( this ); controlLayout->setMargin( 0 ); controlLayout->setSpacing( 0 ); @@ -707,6 +709,7 @@ InputControlsWidget::InputControlsWidget( intf_thread_t *_p_i, QWidget *_parent FullscreenControllerWidget::FullscreenControllerWidget( intf_thread_t *_p_i, QWidget *_parent ) : AbstractController( _p_i, _parent ) { + RTL_UNAFFECTED_WIDGET i_mouse_last_x = -1; i_mouse_last_y = -1; b_mouse_over = false; diff --git a/modules/gui/qt4/dialogs/toolbar.cpp b/modules/gui/qt4/dialogs/toolbar.cpp index f1c8302..483f4e1 100644 --- a/modules/gui/qt4/dialogs/toolbar.cpp +++ b/modules/gui/qt4/dialogs/toolbar.cpp @@ -490,6 +490,7 @@ DroppingController::DroppingController( intf_thread_t *_p_intf, QWidget *_parent ) : AbstractController( _p_intf, _parent ) { + RTL_UNAFFECTED_WIDGET rubberband = NULL; b_draging = false; setAcceptDrops( true ); diff --git a/modules/gui/qt4/qt4.hpp b/modules/gui/qt4/qt4.hpp index d525f96..8ea99e0 100644 --- a/modules/gui/qt4/qt4.hpp +++ b/modules/gui/qt4/qt4.hpp @@ -117,6 +117,9 @@ struct intf_sys_t #define TOGGLEV( x ) { if( x->isVisible() ) x->hide(); \ else x->show(); } +/* for widgets which must not follow the RTL auto layout changes */ +#define RTL_UNAFFECTED_WIDGET setLayoutDirection( Qt::LeftToRight ); + #define getSettings() p_intf->p_sys->mainSettings #define QT_VOLUME_DEFAULT AOUT_VOLUME_DEFAULT _______________________________________________ vlc-commits mailing list [email protected] http://mailman.videolan.org/listinfo/vlc-commits
