]> git.sesse.net Git - vlc/blobdiff - modules/gui/qt4/components/open.hpp
Qt4 - Rename dialog/prefs_dialog to dialog/preferences: files in dialog/ are already...
[vlc] / modules / gui / qt4 / components / open.hpp
index 60dbe420ff7693e652e80337df97d63287a8ec30..83ed6e9035a0c89b87012a4c7a099878a8c39394 100644 (file)
@@ -5,7 +5,7 @@
  * $Id$
  *
  * Authors: ClĂ©ment Stenac <zorglub@videolan.org>
- *          Jean-Baptiste Kempf <jb@videolan.org> 
+ *          Jean-Baptiste Kempf <jb@videolan.org>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
 #include <vlc/vlc.h>
 #include <QWidget>
 #include <QString>
+#include <QFileDialog>
 #include "ui/open_file.h"
 #include "ui/open_disk.h"
 #include "ui/open_net.h"
+#include "ui/open_capture.h"
+
+class QLineEdit;
 
 class OpenPanel: public QWidget
 {
@@ -40,12 +44,26 @@ public:
     {
         p_intf = _p_intf;
     }
-    virtual ~OpenPanel();
-    virtual QString getUpdatedMRL() = 0;
-private:
+    virtual ~OpenPanel() {};
+    virtual void clear() = 0;
+protected:
     intf_thread_t *p_intf;
 public slots:
-    virtual void sendUpdate() = 0;
+    virtual void updateMRL() = 0;
+signals:
+    void mrlUpdated(QString);
+    void methodChanged( QString method );
+};
+
+class FileOpenBox: public QFileDialog
+{
+    Q_OBJECT;
+public:
+    FileOpenBox( QWidget *parent, const QString &caption,
+        const QString &directory, const QString &filter ):
+        QFileDialog( parent, caption, directory, filter ) {}
+public slots:
+    void accept();
 };
 
 class FileOpenPanel: public OpenPanel
@@ -54,20 +72,19 @@ class FileOpenPanel: public OpenPanel
 public:
     FileOpenPanel( QWidget *, intf_thread_t * );
     virtual ~FileOpenPanel();
-    virtual QString getUpdatedMRL();
-    void clear();
+    virtual void clear() ;
+    virtual void accept() ;
 private:
     Ui::OpenFile ui;
-    QStringList browse();
-    void updateSubsMRL();
+    QStringList browse( QString );
+    FileOpenBox *dialogBox;
+    QLineEdit *lineFileEdit;
 public slots:
-    virtual void sendUpdate() ;
-    void updateMRL();
+    virtual void updateMRL();
+private slots:
     void browseFile();
     void browseFileSub();
-    void browseFileAudio();
-signals:
-    void mrlUpdated( QString ) ;
+    void toggleSubtitleFrame();
 };
 
 class NetOpenPanel: public OpenPanel
@@ -76,14 +93,14 @@ class NetOpenPanel: public OpenPanel
 public:
     NetOpenPanel( QWidget *, intf_thread_t * );
     virtual ~NetOpenPanel();
-    virtual QString getUpdatedMRL();
+    virtual void clear() ;
 private:
     Ui::OpenNetwork ui;
 public slots:
-    virtual void sendUpdate() ;
-signals:
-    void dataUpdated( QString, QString ) ;
-
+    virtual void updateMRL();
+private slots:
+    void updateProtocol(int);
+    void updateAddress();
 };
 
 class DiskOpenPanel: public OpenPanel
@@ -92,14 +109,25 @@ class DiskOpenPanel: public OpenPanel
 public:
     DiskOpenPanel( QWidget *, intf_thread_t * );
     virtual ~DiskOpenPanel();
-    virtual QString getUpdatedMRL();
+    virtual void clear() ;
 private:
     Ui::OpenDisk ui;
 public slots:
-    virtual void sendUpdate() ;
-signals:
-    void dataUpdated( QString, QString ) ;
+    virtual void updateMRL() ;
+};
+
 
+class CaptureOpenPanel: public OpenPanel
+{
+    Q_OBJECT;
+public:
+    CaptureOpenPanel( QWidget *, intf_thread_t * );
+    virtual ~CaptureOpenPanel();
+    virtual void clear() ;
+private:
+    Ui::OpenCapture ui;
+public slots:
+    virtual void updateMRL();
 };
 
 #endif