]> git.sesse.net Git - vlc/blobdiff - modules/gui/qt4/components/sout/sout_widgets.hpp
Qt4: add the RTSP protocol to the sout dialog
[vlc] / modules / gui / qt4 / components / sout / sout_widgets.hpp
index faeba1d2eebac6bc69ef4426f916d0c5d6b066c1..e46e36138fea1534d3d6f4c373bf37d557c51d3d 100644 (file)
 
 #include "qt4.hpp"
 
-#include <QWidget>
+#include <QGroupBox>
 
-#include "util/qvlcframe.hpp"
+class QLineEdit;
+class QLabel;
+class QSpinBox;
 
-class SoutInputBox : public QWidget
+class SoutInputBox : public QGroupBox
 {
     public:
-        SoutInputBox( QWidget *);
+        SoutInputBox( QWidget *_parent = NULL, const QString& mrl = "" );
 
+        void setMRL( const QString& );
+    private:
+        QLineEdit *sourceLine;
+        QLabel *sourceValueLabel;
+
+};
+
+class VirtualDestBox : public QWidget
+{
+    Q_OBJECT;
+    public:
+        VirtualDestBox( QWidget *_parent = NULL ) : QWidget( _parent ){}
+        virtual QString getMRL( const QString& ) = 0;
+    protected:
+        QString mrl;
+    signals:
+        void mrlUpdated();
+};
+
+class FileDestBox: public VirtualDestBox
+{
+    Q_OBJECT;
+    public:
+        FileDestBox( QWidget *_parent = NULL );
+        virtual QString getMRL( const QString& );
+    private:
+        QLineEdit *fileEdit;
+    private slots:
+        void fileBrowse();
 };
 
+class HTTPDestBox: public VirtualDestBox
+{
+    Q_OBJECT;
+    public:
+        HTTPDestBox( QWidget *_parent = NULL );
+        virtual QString getMRL( const QString& );
+    private:
+        QLineEdit *HTTPEdit;
+        QSpinBox *HTTPPort;
+};
+
+class MMSHDestBox: public VirtualDestBox
+{
+    Q_OBJECT;
+    public:
+        MMSHDestBox( QWidget *_parent = NULL );
+        virtual QString getMRL( const QString& );
+    private:
+        QLineEdit *MMSHEdit;
+        QSpinBox *MMSHPort;
+};
+
+class RTSPDestBox: public VirtualDestBox
+{
+    Q_OBJECT;
+    public:
+        RTSPDestBox( QWidget *_parent = NULL );
+        virtual QString getMRL( const QString& );
+    private:
+        QLineEdit *RTSPEdit;
+        QSpinBox *RTSPPort;
+};
+
+class UDPDestBox: public VirtualDestBox
+{
+    Q_OBJECT;
+    public:
+        UDPDestBox( QWidget *_parent = NULL );
+        virtual QString getMRL( const QString& );
+    private:
+        QLineEdit *UDPEdit;
+        QSpinBox *UDPPort;
+};
+
+class RTPDestBox: public VirtualDestBox
+{
+    Q_OBJECT;
+    public:
+        RTPDestBox( QWidget *_parent = NULL, const char *mux = NULL );
+        virtual QString getMRL( const QString& );
+    private:
+        QLineEdit *RTPEdit;
+        QSpinBox *RTPPort;
+        const char *mux;
+};
+
+class ICEDestBox: public VirtualDestBox
+{
+    Q_OBJECT;
+    public:
+        ICEDestBox( QWidget *_parent = NULL );
+        virtual QString getMRL( const QString& );
+    private:
+        QLineEdit *ICEEdit;
+        QLineEdit *ICEMountEdit;
+        QLineEdit *ICEPassEdit;
+        QSpinBox *ICEPort;
+};
+
+
+
 #endif