]> git.sesse.net Git - vlc/blobdiff - modules/gui/qt4/components/simple_preferences.hpp
Fix memleaks: Fill in the destructor of simple preference.
[vlc] / modules / gui / qt4 / components / simple_preferences.hpp
index b9ff67286ff7f35fc1b25602a1e806c4ecf6d96c..afff9f4bee3ef54269f181c6b6ce21b1573227d5 100644 (file)
@@ -2,7 +2,7 @@
  * simple_preferences.hpp : Simple prefs
  ****************************************************************************
  * Copyright (C) 2006 the VideoLAN team
- * $Id: preferences.hpp 16348 2006-08-25 21:10:10Z zorglub $
+ * $Id$
  *
  * Authors: ClĂ©ment Stenac <zorglub@videolan.org>
  *
 #ifndef _SIMPLEPREFS_H_
 #define _SIMPLEPREFS_H_
 
-#include <QListWidget>
-#include <vlc/vlc.h>
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <vlc_common.h>
 #include <vlc_interface.h>
+#include <QWidget>
+
+#include "ui/sprefs_input.h"
+#include "ui/sprefs_audio.h"
+#include "ui/sprefs_video.h"
+#include "ui/sprefs_subtitles.h"
+#include "ui/sprefs_interface.h"
+#ifdef WIN32
+#include "util/registry.hpp"
+#endif
 
 enum {
-    SPrefsVideo = 0,
+    SPrefsInterface = 0,
     SPrefsAudio,
-    SPrefsInputAndCodecs,
-    SPrefsInterface,
+    SPrefsVideo,
     SPrefsSubtitles,
+    SPrefsInputAndCodecs,
     SPrefsHotkeys,
     SPrefsMax
 };
 #define SPrefsDefaultCat SPrefsInterface
 
+enum {
+    CachingCustom = 0,
+    CachingLowest = 100,
+    CachingLow = 200,
+    CachingNormal = 300,
+    CachingHigh = 400,
+    CachingHigher = 500
+};
+
+enum {
+#ifdef WIN32
+       directxW,
+#else
+       alsaW,
+       ossW,
+#endif
+       fileW,
+       audioOutCoB,
+       normalizerChB,
+       volLW };
+enum { recordChB, dumpChB, bandwidthChB, timeshiftChB, inputLE, cachingCoB };
+enum { skinRB, qtRB };
+
 class ConfigControl;
+class QComboBox;
+class QLineEdit;
+class QRadioButton;
+class QCheckBox;
+class QString;
 
-class SPrefsCatList : public QListWidget
+#ifdef WIN32
+class QTreeWidgetItem;
+#endif
+
+class SPrefsCatList : public QWidget
 {
     Q_OBJECT;
 public:
@@ -49,6 +94,10 @@ public:
     virtual ~SPrefsCatList() {};
 private:
     intf_thread_t *p_intf;
+signals:
+    void currentItemChanged( int );
+public slots:
+    void switchPanel( int );
 };
 
 class SPrefsPanel : public QWidget
@@ -56,12 +105,32 @@ class SPrefsPanel : public QWidget
     Q_OBJECT
 public:
     SPrefsPanel( intf_thread_t *, QWidget *, int );
-    virtual ~SPrefsPanel() {};
+    virtual ~SPrefsPanel();
     void apply();
     void clean();
 private:
     intf_thread_t *p_intf;
     QList<ConfigControl *> controls;
+
+    int number;
+
+    QList<QWidget *> optionWidgets;
+    QString qs_filter;
+
+#ifdef WIN32
+    QList<QTreeWidgetItem *> listAsso;
+    bool addType( const char * psz_ext, QTreeWidgetItem*, QTreeWidgetItem*, QVLCRegistry* );
+#endif
+
+/* Display only the options for the selected audio output */
+private slots:
+    void lastfm_Changed( int );
+    void updateAudioOptions( int );
+    void updateAudioVolume( int );
+#ifdef SYS_MINGW32
+    void assoDialog();
+    void saveAsso();
+#endif
 };
 
 #endif