vlc | branch: master | Francois Cartegnie <[email protected]> | Sat Sep 25 22:20:45 2010 +0200| [b3564a7d8180f0e72111a485aaf4d46ab0be868e] | committer: Francois Cartegnie
Qt: messages dialog: new verbosity spinbox > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=b3564a7d8180f0e72111a485aaf4d46ab0be868e --- modules/gui/qt4/ui/messages_panel.ui | 15 ++++++++++++++- modules/gui/qt4/util/customwidgets.cpp | 24 ++++++++++++++++++++++++ modules/gui/qt4/util/customwidgets.hpp | 11 +++++++++++ 3 files changed, 49 insertions(+), 1 deletions(-) diff --git a/modules/gui/qt4/ui/messages_panel.ui b/modules/gui/qt4/ui/messages_panel.ui index 5832847..9efc353 100644 --- a/modules/gui/qt4/ui/messages_panel.ui +++ b/modules/gui/qt4/ui/messages_panel.ui @@ -49,13 +49,19 @@ </widget> </item> <item row="1" column="1"> - <widget class="QSpinBox" name="verbosityBox"> + <widget class="DebugLevelSpinBox" name="verbosityBox"> <property name="wrapping"> <bool>true</bool> </property> + <property name="minimum"> + <number>0</number> + </property> <property name="maximum"> <number>2</number> </property> + <property name="value"> + <number>0</number> + </property> </widget> </item> <item row="1" column="2"> @@ -111,6 +117,13 @@ </item> </layout> </widget> + <customwidgets> + <customwidget> + <class>DebugLevelSpinBox</class> + <extends>QSpinBox</extends> + <header>util/customwidgets.hpp</header> + </customwidget> + </customwidgets> <resources/> <connections/> </ui> diff --git a/modules/gui/qt4/util/customwidgets.cpp b/modules/gui/qt4/util/customwidgets.cpp index a83d94d..3a661a2 100644 --- a/modules/gui/qt4/util/customwidgets.cpp +++ b/modules/gui/qt4/util/customwidgets.cpp @@ -227,6 +227,30 @@ void QVLCElidingLabel::paintEvent( QPaintEvent * event ) p.drawText( r, fontMetrics().elidedText( text(), elideMode, r.width() ), alignment() ); } +QString DebugLevelSpinBox::textFromValue( int v ) const +{ + QString const texts[] = { + /* Note that min level 0 is 'errors' in Qt Ui + FIXME: fix debug levels accordingly to documentation */ + /* qtr("infos"),*/ + qtr("errors"), + qtr("warnings"), + qtr("debug") + }; + if ( v < 0 ) v = 0; + if ( v >= 2 ) v = 2; + + return QString( "%1 (%2)" ).arg( v ).arg( texts[v] ); +} + +int DebugLevelSpinBox::mapTextToValue ( bool *ok ) +{ + int parsedvalue = cleanText().toInt(); + /* fix range */ + *ok = ( parsedvalue < 0 || parsedvalue > 2 )? FALSE : TRUE; + return parsedvalue; +} + /*************************************************************************** * Hotkeys converters ***************************************************************************/ diff --git a/modules/gui/qt4/util/customwidgets.hpp b/modules/gui/qt4/util/customwidgets.hpp index 64d08dd..e2338c6 100644 --- a/modules/gui/qt4/util/customwidgets.hpp +++ b/modules/gui/qt4/util/customwidgets.hpp @@ -31,6 +31,7 @@ #include <QPushButton> #include <QLabel> #include <QStackedWidget> +#include <QSpinBox> /** This class provides a QLineEdit which contains a greyed-out hinting @@ -112,6 +113,16 @@ public: } }; +class DebugLevelSpinBox : public QSpinBox +{ + Q_OBJECT +public: + DebugLevelSpinBox( QWidget *parent ) : QSpinBox( parent ) { }; +protected: + QString textFromValue( int ) const; + int mapTextToValue ( bool * ); +}; + /* VLC Key/Wheel hotkeys interactions */ class QKeyEvent; _______________________________________________ vlc-commits mailing list [email protected] http://mailman.videolan.org/listinfo/vlc-commits
