From: Jean-Baptiste Kempf Date: Sun, 19 Apr 2009 15:53:44 +0000 (+0200) Subject: Qt: apply big and flat attributes to all QToolButton, even if they are sub-children... X-Git-Tag: 1.0.0-rc1~296 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=20b1d363ce6fef6483d546c95f686650d092493c;p=vlc Qt: apply big and flat attributes to all QToolButton, even if they are sub-children of a QFrame. This apply to teletext and DVD menus buttons. Close #2516. --- diff --git a/modules/gui/qt4/components/controller.cpp b/modules/gui/qt4/components/controller.cpp index f3e102ccbc..b078d94591 100644 --- a/modules/gui/qt4/components/controller.cpp +++ b/modules/gui/qt4/components/controller.cpp @@ -426,21 +426,37 @@ QWidget *AbstractController::createWidget( buttonType_e button, int options ) /* Customize Buttons */ if( b_flat || b_big ) { - QToolButton *tmpButton = qobject_cast(widget); - if( tmpButton ) + QFrame *frame = qobject_cast(widget); + if( frame ) { - if( b_flat ) - tmpButton->setAutoRaise( b_flat ); - if( b_big ) - { - tmpButton->setFixedSize( QSize( 32, 32 ) ); - tmpButton->setIconSize( QSize( 26, 26 ) ); - } + QList allTButtons = frame->findChildren(); + for( int i = 0; i < allTButtons.size(); i++ ) + applyAttributes( allTButtons[i], b_flat, b_big ); + } + else + { + QToolButton *tmpButton = qobject_cast(widget); + if( tmpButton ) + applyAttributes( tmpButton, b_flat, b_big ); } } return widget; } +void AbstractController::applyAttributes( QToolButton *tmpButton, bool b_flat, bool b_big ) +{ + if( tmpButton ) + { + if( b_flat ) + tmpButton->setAutoRaise( b_flat ); + if( b_big ) + { + tmpButton->setFixedSize( QSize( 32, 32 ) ); + tmpButton->setIconSize( QSize( 26, 26 ) ); + } + } +} + QFrame *AbstractController::discFrame() { /** Disc and Menus handling */ diff --git a/modules/gui/qt4/components/controller.hpp b/modules/gui/qt4/components/controller.hpp index 39c07ef240..bf3fe8c2d5 100644 --- a/modules/gui/qt4/components/controller.hpp +++ b/modules/gui/qt4/components/controller.hpp @@ -51,6 +51,7 @@ class QBoxLayout; class QAbstractSlider; class QAbstractButton; class InputSlider; +class QToolButton; class VolumeClickHandler; class WidgetListing; @@ -153,7 +154,7 @@ private: static void setupButton( QAbstractButton * ); QFrame *discFrame(); QFrame *telexFrame(); - + void applyAttributes( QToolButton *, bool b_flat, bool b_big ); protected slots: virtual void setStatus( int );