From 7cf4df92859268243193d530041bba0296cd8bb9 Mon Sep 17 00:00:00 2001 From: Antoine Cellerier Date: Sun, 27 Aug 2006 21:06:28 +0000 Subject: [PATCH] preferences_widgets.*: Bool prefs widget simple_preferences.cpp: Audio simple preferences category --- .../qt4/components/preferences_widgets.cpp | 56 +++++++++++++++++++ .../qt4/components/preferences_widgets.hpp | 20 +++---- .../gui/qt4/components/simple_preferences.cpp | 23 +++++++- 3 files changed, 88 insertions(+), 11 deletions(-) diff --git a/modules/gui/qt4/components/preferences_widgets.cpp b/modules/gui/qt4/components/preferences_widgets.cpp index 2417856432..56150501fb 100644 --- a/modules/gui/qt4/components/preferences_widgets.cpp +++ b/modules/gui/qt4/components/preferences_widgets.cpp @@ -84,6 +84,18 @@ ConfigControl *ConfigControl::createControl( vlc_object_t *p_this, p_control = new IntegerConfigControl( p_this, p_item, parent, l, line ); break; + case CONFIG_ITEM_FILE: + fprintf( stderr, "Todo\n" ); + break; + case CONFIG_ITEM_BOOL: + p_control = new BoolConfigControl( p_this, p_item, parent, l, line ); + break; + case CONFIG_ITEM_FLOAT: + if( p_item->f_min || p_item->f_max ) + fprintf( stderr, "Todo\n" ); + else + fprintf( stderr, "Todo\n" ); + break; default: break; } @@ -372,3 +384,47 @@ int IntegerListConfigControl::getValue() { return combo->itemData( combo->currentIndex() ).toInt(); } + +/*********** Boolean **************/ +BoolConfigControl::BoolConfigControl( vlc_object_t *_p_this, + module_config_t *_p_item, + QWidget *_parent, QGridLayout *l, + int line ) : + VIntConfigControl( _p_this, _p_item, _parent ) +{ + checkbox = new QCheckBox( qfu(p_item->psz_text) ); + finish(); + + if( !l ) + { + QHBoxLayout *layout = new QHBoxLayout(); + layout->addWidget( checkbox, 0 ); + widget->setLayout( layout ); + } + else + { + l->addWidget( checkbox, line, 0 ); + } +} +BoolConfigControl::BoolConfigControl( vlc_object_t *_p_this, + module_config_t *_p_item, + QLabel *_label, + QCheckBox *_checkbox, + bool bycat ) : + VIntConfigControl( _p_this, _p_item ) +{ + checkbox = _checkbox; + finish(); +} + +void BoolConfigControl::finish() +{ + checkbox->setCheckState( p_item->i_value == VLC_TRUE ? Qt::Checked + : Qt::Unchecked ); + checkbox->setToolTip( qfu(p_item->psz_longtext) ); +} + +int BoolConfigControl::getValue() +{ + return checkbox->checkState() == Qt::Checked ? VLC_TRUE : VLC_FALSE; +} diff --git a/modules/gui/qt4/components/preferences_widgets.hpp b/modules/gui/qt4/components/preferences_widgets.hpp index 5e0c59fb90..047da15a5e 100644 --- a/modules/gui/qt4/components/preferences_widgets.hpp +++ b/modules/gui/qt4/components/preferences_widgets.hpp @@ -29,15 +29,11 @@ #include #include #include +#include #include "ui/input_stats.h" #include "qt4.hpp" #include -class QSpinBox; -class QString; -class QComboBox; -class QCheckBox; - class ConfigControl : public QObject { Q_OBJECT; @@ -122,17 +118,21 @@ private: QComboBox *combo; }; -#if 0 class BoolConfigControl : public VIntConfigControl { public: - IntConfigControl( vlc_object_t *, module_config_t *, QWidget * ); - virtual ~IntConfigControl(); + BoolConfigControl( vlc_object_t *, module_config_t *, QWidget *, + QGridLayout *, int ); + BoolConfigControl( vlc_object_t *, module_config_t *, + QLabel *, QCheckBox*, bool ); + virtual ~BoolConfigControl() {}; virtual int getValue(); + virtual void show() { checkbox->show(); } + virtual void hide() { checkbox->hide(); } private: - wxCheckBox *checkbox; + QCheckBox *checkbox; + void finish(); }; -#endif /******************************************************* * Float-based controls diff --git a/modules/gui/qt4/components/simple_preferences.cpp b/modules/gui/qt4/components/simple_preferences.cpp index a857e53a63..6dc21c0c71 100644 --- a/modules/gui/qt4/components/simple_preferences.cpp +++ b/modules/gui/qt4/components/simple_preferences.cpp @@ -133,9 +133,30 @@ SPrefsPanel::SPrefsPanel( intf_thread_t *_p_intf, QWidget *_parent, switch( number ) { START_SPREFS_CAT( Video ); + + CONFIG_GENERIC( "video", Bool, NULL, enableVideo ); + + CONFIG_GENERIC( "fullscreen", Bool, NULL, fullscreen ); + CONFIG_GENERIC( "overlay", Bool, NULL, overlay ); + CONFIG_GENERIC( "video-on-top", Bool, NULL, alwaysOnTop ); + CONFIG_GENERIC( "video-deco", Bool, NULL, windowDecorations ); + + CONFIG_GENERIC( "vout", Module, NULL, outputModule ); + + CONFIG_GENERIC( "snapshot-path", String, NULL, + snapshotsDirectory ); /* FIXME -> use file instead of string */ + CONFIG_GENERIC( "snapshot-prefix", String, NULL, snapshotsPrefix ); + CONFIG_GENERIC( "snapshot-sequential", Bool, NULL, + snapshotsSequentialNumbering ); + CONFIG_GENERIC( "snapshot-format", StringList, NULL, + snapshotsFormat ); + END_SPREFS_CAT; START_SPREFS_CAT( Audio ); + + CONFIG_GENERIC( "audio", Bool, NULL, enableAudio ); + END_SPREFS_CAT; case SPrefsInputAndCodecs: break; @@ -149,7 +170,7 @@ SPrefsPanel::SPrefsPanel( intf_thread_t *_p_intf, QWidget *_parent, CONFIG_GENERIC( "subsdec-encoding", StringList, NULL, encoding ); CONFIG_GENERIC( "sub-language", String, NULL, preferedLanguage ); - CONFIG_GENERIC( "freetype-font", String, NULL, font ); + CONFIG_GENERIC( "freetype-font", String, NULL, font ); /* FIXME -> use file instead of string */ CONFIG_GENERIC( "freetype-color", IntegerList, NULL, fontColor ); CONFIG_GENERIC( "freetype-rel-fontsize", IntegerList, NULL, fontSize ); -- 2.39.2