Commit fc37db06 authored by Jean-Baptiste Kempf's avatar Jean-Baptiste Kempf

Qt: rework of the Sout Dialog

You can now add any number of duplicate parts you want. You can add them to create a new Tab. You can have two HTTP output or two File output, for example.
Most of the widgets creation and MRL generation part has been splitted from the main class so that people why little knowledge of Qt can understand what is going on.

Expert in streaming can personnalize more easily 'their' part of the UI with derivation of VirtualDestBox and implementing constructor+getMRL()

The huge structure has been removed.
This is a huge change in this dialog, but I think the old one was beyond possible repair.
parent 8693ccb6
......@@ -198,6 +198,7 @@ void VLCProfileSelector::updateOptions( int i )
}
else
transcode = "";
emit optionsChanged();
}
......
......@@ -30,6 +30,7 @@
class QLineEdit;
class QLabel;
class QSpinBox;
class SoutInputBox : public QGroupBox
{
......@@ -43,4 +44,89 @@ class SoutInputBox : public QGroupBox
};
class VirtualDestBox : public QWidget
{
Q_OBJECT;
public:
VirtualDestBox( QWidget *_parent = NULL ) : QWidget( _parent ){}
virtual QString getMRL( QString ) = 0;
protected:
QString mrl;
signals:
void mrlUpdated();
};
class FileDestBox: public VirtualDestBox
{
Q_OBJECT;
public:
FileDestBox( QWidget *_parent = NULL );
virtual QString getMRL( QString );
private:
QLineEdit *fileEdit;
private slots:
void fileBrowse();
};
class HTTPDestBox: public VirtualDestBox
{
Q_OBJECT;
public:
HTTPDestBox( QWidget *_parent = NULL );
virtual QString getMRL( QString );
private:
QLineEdit *HTTPEdit;
QSpinBox *HTTPPort;
};
class MMSHDestBox: public VirtualDestBox
{
Q_OBJECT;
public:
MMSHDestBox( QWidget *_parent = NULL );
virtual QString getMRL( QString );
private:
QLineEdit *MMSHEdit;
QSpinBox *MMSHPort;
};
class UDPDestBox: public VirtualDestBox
{
Q_OBJECT;
public:
UDPDestBox( QWidget *_parent = NULL );
virtual QString getMRL( QString );
private:
QLineEdit *UDPEdit;
QSpinBox *UDPPort;
};
class RTPDestBox: public VirtualDestBox
{
Q_OBJECT;
public:
RTPDestBox( QWidget *_parent = NULL );
virtual QString getMRL( QString );
private:
QLineEdit *RTPEdit;
QSpinBox *RTPPort;
QSpinBox *RTPPortVideo;
QSpinBox *RTPPortAudio;
};
class ICEDestBox: public VirtualDestBox
{
Q_OBJECT;
public:
ICEDestBox( QWidget *_parent = NULL );
virtual QString getMRL( QString );
private:
QLineEdit *ICEEdit;
QLineEdit *ICEMountEdit;
QLineEdit *ICEPassEdit;
QSpinBox *ICEPort;
};
#endif
This diff is collapsed.
......@@ -34,6 +34,7 @@
#include "util/qvlcframe.hpp"
class QPushButton;
class QToolButton;
class QCheckBox;
class QGridLayout;
class QTextEdit;
......@@ -133,8 +134,10 @@ private:
Ui::Sout ui;
static SoutDialog *instance;
SoutDialog( QWidget* parent, intf_thread_t *, QString mrl );
QPushButton *okButton;
QString mrl;
QPushButton *okButton;
QToolButton *closeTabButton;
public slots:
void updateMRL();
......@@ -142,13 +145,11 @@ public slots:
private slots:
void ok();
void cancel();
void setOptions();
void fileBrowse();
void setRawOptions( bool );
void changeUDPandRTPmess( bool );
void RTPtoggled( bool );
void next();
void prev();
void closeTab();
void tabChanged( int );
void addDest();
};
#endif
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment