]> git.sesse.net Git - vlc/blobdiff - modules/gui/qt4/components/open_panels.hpp
Qt: Spatializer: add values multiplier.
[vlc] / modules / gui / qt4 / components / open_panels.hpp
index 6d8cbb48a49ba83a296fece611d5b99d00609650..5a8a46af5f1d5559ed2c9f75eaaf784bc3a0d475 100644 (file)
@@ -1,5 +1,5 @@
 /*****************************************************************************
- * open.hpp : Panels for the open dialogs
+ * open_panels.hpp : Panels for the open dialogs
  ****************************************************************************
  * Copyright (C) 2006-2009 the VideoLAN team
  * Copyright (C) 2007 Société des arts technologiques
 
 enum
 {
-    V4L_DEVICE,
     V4L2_DEVICE,
     PVR_DEVICE,
-    DVB_DEVICE,
-    BDA_DEVICE,
+    DTV_DEVICE,
     DSHOW_DEVICE,
     SCREEN_DEVICE,
     JACK_DEVICE
@@ -62,10 +60,11 @@ class QWidget;
 class QLineEdit;
 class QString;
 class QStringListModel;
+class QEvent;
 
 class OpenPanel: public QWidget
 {
-    Q_OBJECT;
+    Q_OBJECT
 public:
     OpenPanel( QWidget *p, intf_thread_t *_p_intf ) : QWidget( p )
     {
@@ -73,6 +72,8 @@ public:
     }
     virtual ~OpenPanel() {};
     virtual void clear() = 0;
+    virtual void onFocus() {}
+    virtual void onAccept() {}
 protected:
     intf_thread_t *p_intf;
 public slots:
@@ -84,7 +85,7 @@ signals:
 
 class FileOpenBox: public QFileDialog
 {
-    Q_OBJECT;
+    Q_OBJECT
 public:
     FileOpenBox( QWidget *parent, const QString &caption,
                  const QString &directory, const QString &filter ):
@@ -97,14 +98,14 @@ public slots:
 
 class FileOpenPanel: public OpenPanel
 {
-    Q_OBJECT;
+    Q_OBJECT
 public:
     FileOpenPanel( QWidget *, intf_thread_t * );
     virtual ~FileOpenPanel();
     virtual void clear() ;
     virtual void accept() ;
 protected:
-    bool eventFilter(QObject *obj, QEvent *event)
+    bool eventFilter(QObject *, QEvent *event)
     {
         if( event->type() == QEvent::Hide ||
             event->type() == QEvent::HideToParent )
@@ -114,6 +115,10 @@ protected:
         }
         return false;
     }
+    virtual void dropEvent( QDropEvent *);
+    virtual void dragEnterEvent( QDragEnterEvent * );
+    virtual void dragMoveEvent( QDragMoveEvent * );
+    virtual void dragLeaveEvent( QDragLeaveEvent * );
 private:
     Ui::OpenFile ui;
     FileOpenBox *dialogBox;
@@ -130,32 +135,52 @@ private slots:
 
 class NetOpenPanel: public OpenPanel
 {
-    Q_OBJECT;
+    Q_OBJECT
 public:
     NetOpenPanel( QWidget *, intf_thread_t * );
     virtual ~NetOpenPanel();
     virtual void clear() ;
+    virtual void onFocus();
+    virtual void onAccept();
 private:
     Ui::OpenNetwork ui;
-    QStringListModel *mrlList;
+    bool b_recentList;
 public slots:
     virtual void updateMRL();
-private slots:
-    void updateCompleter();
+};
+
+class UrlValidator : public QValidator
+{
+   Q_OBJECT
+public:
+   UrlValidator( QObject *parent ) : QValidator( parent ) { }
+   void fixup( QString& ) const;
+   QValidator::State validate( QString&, int& ) const;
 };
 
 class DiscOpenPanel: public OpenPanel
 {
-    Q_OBJECT;
+    Q_OBJECT
+    enum    DiscType
+    {
+        None,
+        Dvd,
+        Vcd,
+        Cdda,
+        BRD
+    };
 public:
     DiscOpenPanel( QWidget *, intf_thread_t * );
     virtual ~DiscOpenPanel();
     virtual void clear() ;
     virtual void accept() ;
+#if defined( WIN32 ) || defined( __OS2__ )
+    virtual void onFocus();
+#endif
 private:
     Ui::OpenDisk ui;
     char *psz_dvddiscpath, *psz_vcddiscpath, *psz_cddadiscpath;
-    bool b_firstdvd, b_firstvcd, b_firstcdda;
+    DiscType m_discType;
 public slots:
     virtual void updateMRL() ;
 private slots:
@@ -167,7 +192,7 @@ private slots:
 
 class CaptureOpenPanel: public OpenPanel
 {
-    Q_OBJECT;
+    Q_OBJECT
 public:
     CaptureOpenPanel( QWidget *, intf_thread_t * );
     virtual ~CaptureOpenPanel();
@@ -177,27 +202,24 @@ private:
     bool isInitialized;
 
     QString advMRL;
+    QStringList configList;
     QDialog *adv;
 #ifdef WIN32
-    QRadioButton *bdas, *bdat, *bdac, *bdaa;
-    QSpinBox *bdaCard, *bdaFreq, *bdaSrate;
-    QLabel *bdaSrateLabel, *bdaBandLabel;
-    QComboBox *bdaBandBox;
     StringListConfigControl *vdevDshowW, *adevDshowW;
     QLineEdit *dshowVSizeLine;
 #else
-    QRadioButton *dvbs, *dvbt, *dvbc;
-    QLabel *dvbBandLabel, *dvbSrateLabel;
-    QSpinBox  *v4lFreq, *pvrFreq, *pvrBitr;
-    QLineEdit *v4lVideoDevice, *v4lAudioDevice;
-    QLineEdit *v4l2VideoDevice, *v4l2AudioDevice;
-    QLineEdit *pvrDevice, *pvrRadioDevice;
-    QComboBox *v4lNormBox, *v4l2StdBox, *pvrNormBox, *dvbBandBox;
-    QSpinBox *dvbCard, *dvbFreq, *dvbSrate;
-    QSpinBox *jackChannels, *jackCaching;
+    QSpinBox  *pvrFreq;
+    QComboBox *v4l2VideoDevice, *v4l2AudioDevice;
+    QComboBox *pvrDevice, *pvrAudioDevice;
+    QComboBox *v4l2StdBox, *pvrNormBox;
+    QSpinBox *jackChannels;
     QCheckBox *jackPace, *jackConnect;
     QLineEdit *jackPortsSelected;
 #endif
+    QRadioButton *dvbc, *dvbs, *dvbs2, *dvbt, *dvbt2, *atsc, *cqam;
+    QLabel *dvbBandLabel, *dvbSrateLabel, *dvbModLabel;
+    QComboBox *dvbQamBox, *dvbPskBox, *dvbBandBox;
+    QSpinBox *dvbCard, *dvbFreq, *dvbSrate;
     QDoubleSpinBox *screenFPS;
 
 public slots: