]> git.sesse.net Git - vlc/commitdiff
preferences_widgets.*: Bool prefs widget
authorAntoine Cellerier <dionoea@videolan.org>
Sun, 27 Aug 2006 21:06:28 +0000 (21:06 +0000)
committerAntoine Cellerier <dionoea@videolan.org>
Sun, 27 Aug 2006 21:06:28 +0000 (21:06 +0000)
simple_preferences.cpp: Audio simple preferences category

modules/gui/qt4/components/preferences_widgets.cpp
modules/gui/qt4/components/preferences_widgets.hpp
modules/gui/qt4/components/simple_preferences.cpp

index 24178564323f759ec825905c6eb7849ec9494154..56150501fbda5e63436dabc7d9834589811f8a84 100644 (file)
@@ -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;
+}
index 5e0c59fb90ee66dfce0fea171da699baa5ec129b..047da15a5ee4b7a5dcf4c69774a33169a883760b 100644 (file)
 #include <QLineEdit>
 #include <QSpinBox>
 #include <QComboBox>
+#include <QCheckBox>
 #include "ui/input_stats.h"
 #include "qt4.hpp"
 #include <assert.h>
 
-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
index a857e53a63a9dd9487e288570618de5be0237c5a..6dc21c0c7106c0d68bd0e4bf8ac2a982e7ac28c3 100644 (file)
@@ -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 );