]> git.sesse.net Git - vlc/blobdiff - modules/gui/qt4/components/open_panels.hpp
Qt: replace playlist view title with interactive location bar
[vlc] / modules / gui / qt4 / components / open_panels.hpp
index 3c23a034df42d578de56633ebdd0234da55a745b..fee9feec06fead8c7f8832d52db51fbb7457aa9d 100644 (file)
@@ -1,7 +1,7 @@
 /*****************************************************************************
  * open.hpp : Panels for the open dialogs
  ****************************************************************************
- * Copyright (C) 2006-2007 the VideoLAN team
+ * Copyright (C) 2006-2009 the VideoLAN team
  * Copyright (C) 2007 Société des arts technologiques
  * Copyright (C) 2007 Savoir-faire Linux
  * $Id$
 #ifndef _OPENPANELS_H_
 #define _OPENPANELS_H_
 
-#include <vlc/vlc.h>
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
 
-#include <QFileDialog>
+#include "components/preferences_widgets.hpp"
 
 #include "ui/open_file.h"
 #include "ui/open_disk.h"
 #include "ui/open_net.h"
 #include "ui/open_capture.h"
 
-#ifdef HAVE_LIMITS_H
-#   include <limits.h>
-#endif
+#include <QFileDialog>
+
+#include <limits.h>
 
 #define setSpinBoxFreq( spinbox ){ spinbox->setRange ( 0, INT_MAX ); \
     spinbox->setAccelerated( true ); }
@@ -59,6 +61,7 @@ enum
 class QWidget;
 class QLineEdit;
 class QString;
+class QStringListModel;
 
 class OpenPanel: public QWidget
 {
@@ -75,8 +78,8 @@ protected:
 public slots:
     virtual void updateMRL() = 0;
 signals:
-    void mrlUpdated( QString );
-    void methodChanged( QString method );
+    void mrlUpdated( const QStringList&, const QString& );
+    void methodChanged( const QString& method );
 };
 
 class FileOpenBox: public QFileDialog
@@ -84,12 +87,14 @@ class FileOpenBox: public QFileDialog
     Q_OBJECT;
 public:
     FileOpenBox( QWidget *parent, const QString &caption,
-        const QString &directory, const QString &filter ):
-        QFileDialog( parent, caption, directory, filter ) {}
+                 const QString &directory, const QString &filter ):
+                QFileDialog( parent, caption, directory, filter ) {}
 public slots:
-    void accept();
+    void accept(){}
+    void reject(){}
 };
 
+
 class FileOpenPanel: public OpenPanel
 {
     Q_OBJECT;
@@ -98,17 +103,29 @@ public:
     virtual ~FileOpenPanel();
     virtual void clear() ;
     virtual void accept() ;
+protected:
+    bool eventFilter(QObject *obj, QEvent *event)
+    {
+        if( event->type() == QEvent::Hide ||
+            event->type() == QEvent::HideToParent )
+        {
+            event->accept();
+            return true;
+        }
+        return false;
+    }
 private:
     Ui::OpenFile ui;
-    QStringList browse( QString );
     FileOpenBox *dialogBox;
-    QLineEdit *lineFileEdit;
-    QStringList fileCompleteList ;
+    void BuildOldPanel();
 public slots:
     virtual void updateMRL();
 private slots:
     void browseFileSub();
-    void toggleSubtitleFrame();
+    void browseFile();
+    void removeFile();
+    void updateButtons();
+    void toggleSubtitleFrame( bool );
 };
 
 class NetOpenPanel: public OpenPanel
@@ -120,10 +137,11 @@ public:
     virtual void clear() ;
 private:
     Ui::OpenNetwork ui;
+    QStringListModel *mrlList;
 public slots:
     virtual void updateMRL();
 private slots:
-    void updateProtocol( int );
+    void updateCompleter();
 };
 
 class DiscOpenPanel: public OpenPanel
@@ -143,6 +161,7 @@ public slots:
 private slots:
     void browseDevice();
     void updateButtons() ;
+    void eject();
 };
 
 
@@ -155,28 +174,38 @@ public:
     virtual void clear() ;
 private:
     Ui::OpenCapture ui;
+    bool isInitialized;
+
+    QString advMRL;
+    QDialog *adv;
 #ifdef WIN32
-    QRadioButton *bdas, *bdat, *bdac;
+    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;
+    QComboBox *v4lNormBox, *v4l2StdBox, *pvrNormBox, *dvbBandBox;
     QSpinBox *dvbCard, *dvbFreq, *dvbSrate;
     QSpinBox *jackChannels, *jackCaching;
     QCheckBox *jackPace, *jackConnect;
     QLineEdit *jackPortsSelected;
 #endif
+    QSpinBox *screenFPS;
 
 public slots:
     virtual void updateMRL();
+    void initialize();
 private slots:
     void updateButtons();
+    void advancedDialog();
 };
 
 #endif