Commit 9040f4ed authored by Clément Stenac's avatar Clément Stenac

Qt4 open:

* Implement MRL handling for file, disc and network
* Moved input slave option to the global dialog (not file specific and
  avoid cluttering the file subpanel)
* Initial implementation of the network panel based on ideas and work by
  Leo Spalteholz. Thanks !
* Improve layouting and handling of the advanced options subpanel

--This line, and those below, will beignored--

M    modules/gui/qt4/dialogs/open.cpp
M    modules/gui/qt4/dialogs/open.hpp
M    modules/gui/qt4/components/open.cpp
M    modules/gui/qt4/components/open.hpp
M    modules/gui/qt4/ui/open_net.ui
M    modules/gui/qt4/ui/open_disk.ui
M    modules/gui/qt4/ui/open_file.ui
M    modules/gui/qt4/ui/open.ui
parent c256165f
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
* $Id$ * $Id$
* *
* Authors: Clément Stenac <zorglub@videolan.org> * 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 * 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 * it under the terms of the GNU General Public License as published by
...@@ -27,12 +27,6 @@ ...@@ -27,12 +27,6 @@
#include "components/open.hpp" #include "components/open.hpp"
#include <QFileDialog> #include <QFileDialog>
/**************************************************************************
* Open panel
***************************************************************************/
OpenPanel::~OpenPanel()
{}
/************************************************************************** /**************************************************************************
* File open * File open
...@@ -42,30 +36,39 @@ FileOpenPanel::FileOpenPanel( QWidget *_parent, intf_thread_t *_p_intf ) : ...@@ -42,30 +36,39 @@ FileOpenPanel::FileOpenPanel( QWidget *_parent, intf_thread_t *_p_intf ) :
{ {
ui.setupUi( this ); ui.setupUi( this );
BUTTONACT( ui.fileBrowseButton, browseFile() ); BUTTONACT( ui.fileBrowseButton, browseFile() );
BUTTONACT( ui.subBrowseButton, browseFileSub() ); BUTTONACT( ui.subBrowseButton, browseFileSub() );
BUTTONACT( ui.audioBrowseButton, browseFileAudio() );
BUTTONACT( ui.subGroupBox, updateMRL());
CONNECT( ui.fileInput, editTextChanged(QString ), this, updateMRL()); CONNECT( ui.fileInput, editTextChanged(QString ), this, updateMRL());
CONNECT( ui.subInput, editTextChanged(QString ), this, updateMRL());
CONNECT( ui.alignSubComboBox, currentIndexChanged(int), this, updateMRL());
CONNECT( ui.sizeSubComboBox, currentIndexChanged(int), this, updateMRL());
} }
FileOpenPanel::~FileOpenPanel() FileOpenPanel::~FileOpenPanel()
{} {}
void FileOpenPanel::sendUpdate() QStringList FileOpenPanel::browse(QString help)
{}
QStringList FileOpenPanel::browse()
{ {
return QFileDialog::getOpenFileNames( this, qtr("Open File"), "", "" ); return QFileDialog::getOpenFileNames( this, help, "", "" );
} }
void FileOpenPanel::browseFile() void FileOpenPanel::browseFile()
{ {
//FIXME ! files with spaces QString fileString = "";
QString files = browse().join(" "); QStringList files = browse( qtr("Open File") );
ui.fileInput->setEditText( files ); foreach( QString file, files) {
ui.fileInput->addItem( files ); if( file.contains(" ") ) {
fileString += "\"" + file + "\"";
} else {
fileString += file;
}
}
ui.fileInput->setEditText( fileString );
ui.fileInput->addItem( fileString );
if ( ui.fileInput->count() > 8 ) ui.fileInput->removeItem(0); if ( ui.fileInput->count() > 8 ) ui.fileInput->removeItem(0);
updateMRL(); updateMRL();
...@@ -73,48 +76,30 @@ void FileOpenPanel::browseFile() ...@@ -73,48 +76,30 @@ void FileOpenPanel::browseFile()
void FileOpenPanel::browseFileSub() void FileOpenPanel::browseFileSub()
{ {
ui.subInput->setEditText( browse().join(" ") ); ui.subInput->setEditText( browse( qtr("Open subtitles file") ).join(" ") );
updateMRL();
updateSubsMRL();
}
void FileOpenPanel::browseFileAudio()
{
ui.audioFileInput->setEditText( browse().join(" ") );
}
void FileOpenPanel::updateSubsMRL()
{
QStringList* subsMRL = new QStringList("sub-file=");
subsMRL->append( ui.subInput->currentText() );
//FIXME !!
subsMRL->append( "subsdec-align=" + ui.alignSubComboBox->currentText() );
subsMRL->append( "sub-rel-fontsize=" + ui.sizeSubComboBox->currentText() );
subsMRL->join(" ");
} }
void FileOpenPanel::updateMRL() void FileOpenPanel::updateMRL()
{ {
QString MRL = ui.fileInput->currentText(); QString mrl = ui.fileInput->currentText();
emit(mrlUpdated(MRL)); if( ui.subGroupBox->isChecked() ) {
} mrl.append( " :sub-file=" + ui.subInput->currentText() );
mrl.append( " :subsdec-align=" + ui.alignSubComboBox->currentText() );
QString FileOpenPanel::getUpdatedMRL() mrl.append( " :sub-rel-fontsize=" + ui.sizeSubComboBox->currentText() );
{ }
return ui.fileInput->currentText(); emit mrlUpdated(mrl);
emit methodChanged( "file-caching" );
} }
void FileOpenPanel::clear() void FileOpenPanel::clear()
{ {
ui.fileInput->setEditText( ""); ui.fileInput->setEditText( "");
ui.subInput->setEditText( ""); ui.subInput->setEditText( "");
ui.audioFileInput->setEditText( "");
} }
/************************************************************************** /**************************************************************************
* Disk open * Disk open
**************************************************************************/ **************************************************************************/
...@@ -122,19 +107,55 @@ DiskOpenPanel::DiskOpenPanel( QWidget *_parent, intf_thread_t *_p_intf ) : ...@@ -122,19 +107,55 @@ DiskOpenPanel::DiskOpenPanel( QWidget *_parent, intf_thread_t *_p_intf ) :
OpenPanel( _parent, _p_intf ) OpenPanel( _parent, _p_intf )
{ {
ui.setupUi( this ); ui.setupUi( this );
CONNECT( ui.deviceCombo, editTextChanged(QString ), this, updateMRL());
BUTTONACT( ui.dvdRadioButton, updateMRL());
BUTTONACT( ui.vcdRadioButton, updateMRL());
BUTTONACT( ui.audioCDRadioButton, updateMRL());
CONNECT( ui.titleSpin, valueChanged(int), this, updateMRL());
CONNECT( ui.chapterSpin, valueChanged(int), this, updateMRL());
} }
DiskOpenPanel::~DiskOpenPanel() DiskOpenPanel::~DiskOpenPanel()
{} {}
void DiskOpenPanel::sendUpdate() void DiskOpenPanel::clear()
{}
QString DiskOpenPanel::getUpdatedMRL()
{ {
ui.titleSpin->setValue(0);
ui.chapterSpin->setValue(0);
}
//return ui.DiskInput->currentText(); void DiskOpenPanel::updateMRL()
return NULL; {
QString mrl = "";
/* DVD */
if( ui.dvdRadioButton->isChecked() ) {
mrl = "dvd://" + ui.deviceCombo->currentText();
emit methodChanged( "dvdnav-caching" );
if ( ui.titleSpin->value() > 0 ) {
mrl += QString("@%1").arg(ui.titleSpin->value());
if ( ui.chapterSpin->value() > 0 ) {
mrl+= QString(":%1").arg(ui.chapterSpin->value());
}
}
/* VCD */
} else if (ui.vcdRadioButton->isChecked() ) {
mrl = "vcd://" + ui.deviceCombo->currentText();
emit methodChanged( "vcd-caching" );
if( ui.titleSpin->value() > 0 ) {
mrl += QString("@%1").arg(ui.titleSpin->value());
}
/* CDDA */
} else {
mrl = "cdda://" + ui.deviceCombo->currentText();
}
emit mrlUpdated(mrl);
} }
...@@ -146,25 +167,96 @@ NetOpenPanel::NetOpenPanel( QWidget *_parent, intf_thread_t *_p_intf ) : ...@@ -146,25 +167,96 @@ NetOpenPanel::NetOpenPanel( QWidget *_parent, intf_thread_t *_p_intf ) :
OpenPanel( _parent, _p_intf ) OpenPanel( _parent, _p_intf )
{ {
ui.setupUi( this ); ui.setupUi( this );
CONNECT( ui.protocolCombo, currentIndexChanged(int),
this, updateProtocol(int) );
CONNECT( ui.portSpin, valueChanged(int), this, updateMRL());
CONNECT( ui.addressText, textChanged(QString), this, updateAddress());
CONNECT( ui.timeShift, clicked(), this, updateMRL());
CONNECT( ui.ipv6, clicked(), this, updateMRL());
ui.protocolCombo->addItem("HTTP", QVariant("http"));
ui.protocolCombo->addItem("FTP", QVariant("ftp"));
ui.protocolCombo->addItem("MMS", QVariant("mms"));
ui.protocolCombo->addItem("RTSP", QVariant("rtsp"));
ui.protocolCombo->addItem("UDP/RTP (unicast)", QVariant("udp"));
ui.protocolCombo->addItem("UDP/RTP (multicast)", QVariant("udp"));
} }
NetOpenPanel::~NetOpenPanel() NetOpenPanel::~NetOpenPanel()
{} {}
void NetOpenPanel::sendUpdate() void NetOpenPanel::clear()
{} {}
/*
void NetOpenPanel::sendUpdate()
{
QString *mrl = new QString();
QString *cache = new QString();
getUpdatedMRL( mrl, cache );,
emit dataUpdated( mrl, cache );
}*/
QString NetOpenPanel::getUpdatedMRL() void NetOpenPanel::updateProtocol(int idx) {
{ QString addr = ui.addressText->text();
// return ui.NetInput->currentText(); QString proto = ui.protocolCombo->itemData(idx).toString();
return NULL;
ui.timeShift->setEnabled( idx >= 4);
ui.ipv6->setEnabled( idx == 4 );
ui.addressText->setEnabled( idx != 4 );
ui.portSpin->setEnabled( idx >= 4 );
/* If we already have a protocol in the address, replace it */
if( addr.contains( "://")) {
msg_Err( p_intf, "replace");
addr.replace(QRegExp("^.*://"), proto + "://");
ui.addressText->setText(addr);
}
updateMRL();
} }
void NetOpenPanel::updateAddress() {
updateMRL();
}
void NetOpenPanel::updateMRL() {
QString mrl = "";
QString addr = ui.addressText->text();
int proto = ui.protocolCombo->currentIndex();
if( addr.contains( "://") && proto != 4 ) {
mrl = addr;
} else {
switch(proto) {
case 0:
mrl = "http://" + addr;
emit methodChanged("http-caching");
break;
case 2:
mrl = "mms://" + addr;
emit methodChanged("mms-caching");
break;
case 1:
mrl = "ftp://" + addr;
emit methodChanged("ftp-caching");
break;
case 3: /* RTSP */
mrl = "rtsp://" + addr;
emit methodChanged("rtsp-caching");
break;
case 4:
mrl = "udp://@";
if( ui.ipv6->isEnabled() && ui.ipv6->isChecked() ) {
mrl += "[::]";
}
mrl += QString(":%1").arg(ui.portSpin->value());
emit methodChanged("udp-caching");
break;
case 5: /* UDP multicast */
mrl = "udp://@";
/* Add [] to IPv6 */
if ( addr.contains(':') && !addr.contains('[') ) {
mrl += "[" + addr + "]";
} else mrl += addr;
mrl += QString(":%1").arg(ui.portSpin->value());
emit methodChanged("udp-caching");
}
}
if( ui.timeShift->isEnabled() && ui.timeShift->isChecked() ) {
mrl += " :access-filter=timeshift";
}
emit mrlUpdated(mrl);
}
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
* $Id$ * $Id$
* *
* Authors: Clément Stenac <zorglub@videolan.org> * 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 * 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 * it under the terms of the GNU General Public License as published by
...@@ -40,12 +40,15 @@ public: ...@@ -40,12 +40,15 @@ public:
{ {
p_intf = _p_intf; p_intf = _p_intf;
} }
virtual ~OpenPanel(); virtual ~OpenPanel() {};
virtual QString getUpdatedMRL() = 0; virtual void clear() = 0;
private: protected:
intf_thread_t *p_intf; intf_thread_t *p_intf;
public slots: public slots:
virtual void sendUpdate() = 0; virtual void updateMRL() = 0;
signals:
void mrlUpdated(QString);
void methodChanged( QString method );
}; };
class FileOpenPanel: public OpenPanel class FileOpenPanel: public OpenPanel
...@@ -54,20 +57,15 @@ class FileOpenPanel: public OpenPanel ...@@ -54,20 +57,15 @@ class FileOpenPanel: public OpenPanel
public: public:
FileOpenPanel( QWidget *, intf_thread_t * ); FileOpenPanel( QWidget *, intf_thread_t * );
virtual ~FileOpenPanel(); virtual ~FileOpenPanel();
virtual QString getUpdatedMRL(); virtual void clear() ;
void clear();
private: private:
Ui::OpenFile ui; Ui::OpenFile ui;
QStringList browse(); QStringList browse( QString );
void updateSubsMRL();
public slots: public slots:
virtual void sendUpdate() ; virtual void updateMRL();
void updateMRL(); private slots:
void browseFile(); void browseFile();
void browseFileSub(); void browseFileSub();
void browseFileAudio();
signals:
void mrlUpdated( QString ) ;
}; };
class NetOpenPanel: public OpenPanel class NetOpenPanel: public OpenPanel
...@@ -76,14 +74,14 @@ class NetOpenPanel: public OpenPanel ...@@ -76,14 +74,14 @@ class NetOpenPanel: public OpenPanel
public: public:
NetOpenPanel( QWidget *, intf_thread_t * ); NetOpenPanel( QWidget *, intf_thread_t * );
virtual ~NetOpenPanel(); virtual ~NetOpenPanel();
virtual QString getUpdatedMRL(); virtual void clear() ;
private: private:
Ui::OpenNetwork ui; Ui::OpenNetwork ui;
public slots: public slots:
virtual void sendUpdate() ; virtual void updateMRL();
signals: private slots:
void dataUpdated( QString, QString ) ; void updateProtocol(int);
void updateAddress();
}; };
class DiskOpenPanel: public OpenPanel class DiskOpenPanel: public OpenPanel
...@@ -92,14 +90,11 @@ class DiskOpenPanel: public OpenPanel ...@@ -92,14 +90,11 @@ class DiskOpenPanel: public OpenPanel
public: public:
DiskOpenPanel( QWidget *, intf_thread_t * ); DiskOpenPanel( QWidget *, intf_thread_t * );
virtual ~DiskOpenPanel(); virtual ~DiskOpenPanel();
virtual QString getUpdatedMRL(); virtual void clear() ;
private: private:
Ui::OpenDisk ui; Ui::OpenDisk ui;
public slots: public slots:
virtual void sendUpdate() ; virtual void updateMRL() ;
signals:
void dataUpdated( QString, QString ) ;
}; };
#endif #endif
...@@ -39,20 +39,41 @@ OpenDialog::OpenDialog( intf_thread_t *_p_intf ) : QVLCFrame( _p_intf ) ...@@ -39,20 +39,41 @@ OpenDialog::OpenDialog( intf_thread_t *_p_intf ) : QVLCFrame( _p_intf )
{ {
setWindowTitle( qtr("Open" ) ); setWindowTitle( qtr("Open" ) );
ui.setupUi( this ); ui.setupUi( this );
ui.vboxLayout->setSizeConstraint(QLayout::SetFixedSize); fileOpenPanel = new FileOpenPanel(this , p_intf );
fileOpenPanel = new FileOpenPanel(this , _p_intf ); diskOpenPanel = new DiskOpenPanel(this , p_intf );
diskOpenPanel = new DiskOpenPanel(this , _p_intf ); netOpenPanel = new NetOpenPanel(this , p_intf );
netOpenPanel = new NetOpenPanel(this , _p_intf ); ui.Tab->addTab(fileOpenPanel, qtr("File"));
ui.Tab->addTab(fileOpenPanel, "File"); ui.Tab->addTab(diskOpenPanel, qtr("Disk"));
ui.Tab->addTab(diskOpenPanel, "Disk"); ui.Tab->addTab(netOpenPanel, qtr("Network"));
ui.Tab->addTab(netOpenPanel, "Network");
ui.advancedFrame->hide(); ui.advancedFrame->hide();
connect( fileOpenPanel, SIGNAL(mrlUpdated( QString )), /* Force MRL update on tab change */
this, SLOT( updateMRL(QString))); CONNECT( ui.Tab, currentChanged(int), this, signalCurrent());
CONNECT( fileOpenPanel, mrlUpdated( QString ), this, updateMRL(QString) );
CONNECT( netOpenPanel, mrlUpdated( QString ), this, updateMRL(QString) );
CONNECT( diskOpenPanel, mrlUpdated( QString ), this, updateMRL(QString) );
CONNECT( fileOpenPanel, methodChanged( QString ),
this, newMethod(QString) );
CONNECT( netOpenPanel, methodChanged( QString ),
this, newMethod(QString) );
CONNECT( diskOpenPanel, methodChanged( QString ),
this, newMethod(QString) );
CONNECT( ui.slaveText, textChanged(QString), this, updateMRL());
CONNECT( ui.cacheSpinBox, valueChanged(int), this, updateMRL());
BUTTONACT( ui.closeButton, ok()); BUTTONACT( ui.closeButton, ok());
BUTTONACT( ui.cancelButton, cancel()); BUTTONACT( ui.cancelButton, cancel());
BUTTONACT( ui.advancedButton , toggleAdvancedPanel() ); BUTTONACT( ui.advancedCheckBox , toggleAdvancedPanel() );
/* Initialize caching */
storedMethod = "";
newMethod("file-caching");
mainHeight = advHeight = 0;
} }
OpenDialog::~OpenDialog() OpenDialog::~OpenDialog()
...@@ -65,6 +86,12 @@ void OpenDialog::showTab(int i_tab=0) ...@@ -65,6 +86,12 @@ void OpenDialog::showTab(int i_tab=0)
ui.Tab->setCurrentIndex(i_tab); ui.Tab->setCurrentIndex(i_tab);
} }
void OpenDialog::signalCurrent() {
if (ui.Tab->currentWidget() != NULL) {
(dynamic_cast<OpenPanel*>(ui.Tab->currentWidget()))->updateMRL();
}
}
void OpenDialog::cancel() void OpenDialog::cancel()
{ {
fileOpenPanel->clear(); fileOpenPanel->clear();
...@@ -73,7 +100,8 @@ void OpenDialog::cancel() ...@@ -73,7 +100,8 @@ void OpenDialog::cancel()
void OpenDialog::ok() void OpenDialog::ok()
{ {
QStringList tempMRL = MRL.split(" "); QString mrl = ui.advancedLineInput->text();
QStringList tempMRL = mrl.split(" ");
for( size_t i = 0 ; i< tempMRL.size(); i++ ) for( size_t i = 0 ; i< tempMRL.size(); i++ )
{ {
const char * psz_utf8 = qtu( tempMRL[i] ); const char * psz_utf8 = qtu( tempMRL[i] );
...@@ -93,19 +121,47 @@ void OpenDialog::changedTab() ...@@ -93,19 +121,47 @@ void OpenDialog::changedTab()
void OpenDialog::toggleAdvancedPanel() void OpenDialog::toggleAdvancedPanel()
{ {
if (ui.advancedFrame->isVisible()) if (ui.advancedFrame->isVisible()) {
{
ui.advancedFrame->hide(); ui.advancedFrame->hide();
} setMinimumHeight(1);
else resize( width(), mainHeight );
{
} else {
if( mainHeight == 0 )
mainHeight = height();
ui.advancedFrame->show(); ui.advancedFrame->show();
if( advHeight == 0 ) {
advHeight = height() - mainHeight;
}
resize( width(), mainHeight + advHeight );
} }
} }
void OpenDialog::updateMRL() {
QString mrl = mainMRL;
if( ui.slaveCheckbox->isChecked() ) {
mrl += " :input-slave=" + ui.slaveText->text();
}
int i_cache = config_GetInt( p_intf, qta(storedMethod) );
if( i_cache != ui.cacheSpinBox->value() ) {
mrl += QString(" :%1=%2").arg(storedMethod).
arg(ui.cacheSpinBox->value());
}
ui.advancedLineInput->setText(mrl);
}
void OpenDialog::updateMRL(QString tempMRL) void OpenDialog::updateMRL(QString tempMRL)
{ {
MRL = tempMRL; mainMRL = tempMRL;
ui.advancedLineInput->setText(MRL); updateMRL();
} }
void OpenDialog::newMethod(QString method)
{
if( method != storedMethod ) {
storedMethod = method;
int i_value = config_GetInt( p_intf, qta(storedMethod) );
ui.cacheSpinBox->setValue(i_value);
}
}
...@@ -34,8 +34,6 @@ ...@@ -34,8 +34,6 @@
#include <QBoxLayout> #include <QBoxLayout>
#include <QString> #include <QString>
class InfoTab;
class OpenDialog : public QVLCFrame class OpenDialog : public QVLCFrame
{ {
Q_OBJECT; Q_OBJECT;
...@@ -48,9 +46,9 @@ public: ...@@ -48,9 +46,9 @@ public:
} }
virtual ~OpenDialog(); virtual ~OpenDialog();
void showTab( int); void showTab( int );
QString MRL; QString mainMRL;
private: private:
OpenDialog( intf_thread_t * ); OpenDialog( intf_thread_t * );
static OpenDialog *instance; static OpenDialog *instance;
...@@ -61,12 +59,18 @@ private: ...@@ -61,12 +59,18 @@ private:
FileOpenPanel *fileOpenPanel; FileOpenPanel *fileOpenPanel;
NetOpenPanel *netOpenPanel; NetOpenPanel *netOpenPanel;
DiskOpenPanel *diskOpenPanel; DiskOpenPanel *diskOpenPanel;
public slots:
QString storedMethod;
int advHeight, mainHeight;
private slots:
void cancel(); void cancel();
void ok(); void ok();
void changedTab(); void changedTab();
void toggleAdvancedPanel(); void toggleAdvancedPanel();
void updateMRL(QString); void updateMRL(QString);
void updateMRL();
void newMethod(QString);
void signalCurrent();
}; };
#endif #endif
...@@ -9,8 +9,8 @@ ...@@ -9,8 +9,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>435</width> <width>525</width>
<height>441</height> <height>231</height>
</rect> </rect>
</property> </property>
<property name="windowTitle" > <property name="windowTitle" >
...@@ -25,54 +25,17 @@ ...@@ -25,54 +25,17 @@
</property> </property>
<item> <item>
<widget class="QTabWidget" name="Tab" > <widget class="QTabWidget" name="Tab" >
<property name="sizePolicy" >
<sizepolicy>
<hsizetype>0</hsizetype>
<vsizetype>0</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize" >
<size>
<width>417</width>
<height>290</height>
</size>
</property>
<property name="currentIndex" > <property name="currentIndex" >
<number>-1</number> <number>-1</number>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<layout class="QHBoxLayout" > <widget class="QCheckBox" name="advancedCheckBox" >
<property name="margin" > <property name="text" >
<number>0</number> <string>Show more options</string>
</property>
<property name="spacing" >
<number>6</number>
</property> </property>
<item> </widget>
<spacer>
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" >
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="advancedButton" >
<property name="text" >
<string>More...</string>
</property>
</widget>
</item>
</layout>
</item> </item>
<item> <item>
<widget class="QFrame" name="advancedFrame" > <widget class="QFrame" name="advancedFrame" >
...@@ -82,90 +45,93 @@ ...@@ -82,90 +45,93 @@
<property name="frameShadow" > <property name="frameShadow" >
<enum>QFrame::Raised</enum> <enum>QFrame::Raised</enum>
</property> </property>
<layout class="QGridLayout" > <layout class="QHBoxLayout" >
<property name="margin" > <property name="margin" >
<number>9</number> <number>9</number>
</property> </property>
<property name="spacing" > <property name="spacing" >
<number>6</number> <number>6</number>
</property> </property>
<item row="1" column="0" > <item>
<widget class="QLabel" name="advancedLabel" > <layout class="QGridLayout" >
<property name="text" > <property name="margin" >
<string>Personalize:</string> <number>0</number>
</property>
<property name="alignment" >
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="1" column="1" >
<spacer>
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType" >
<enum>QSizePolicy::Minimum</enum>
</property>
<property name="sizeHint" >
<size>
<width>10</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="2" >
<widget class="QSpinBox" name="cacheSpinBox" />
</item>
<item row="0" column="4" >
<spacer>
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" >
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="1" >
<spacer>
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType" >
<enum>QSizePolicy::Minimum</enum>
</property> </property>
<property name="sizeHint" > <property name="spacing" >
<size> <number>6</number>
<width>10</width>
<height>20</height>
</size>
</property> </property>
</spacer> <item row="0" column="2" >
</item> <widget class="QLabel" name="label" >
<item row="0" column="0" > <property name="text" >
<widget class="QLabel" name="cacheLabel" > <string>ms</string>
<property name="text" > </property>
<string>Caching:</string> </widget>
</property> </item>
<property name="alignment" > <item row="2" column="0" >
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> <widget class="QLabel" name="label_2" >
</property> <property name="enabled" >
</widget> <bool>false</bool>
</item> </property>
<item row="0" column="3" > <property name="text" >
<widget class="QLabel" name="label" > <string>Extra media</string>
<property name="text" > </property>
<string>ms</string> </widget>
</property> </item>
</widget> <item row="0" column="0" >
</item> <widget class="QLabel" name="cacheLabel" >
<item row="1" column="2" colspan="3" > <property name="sizePolicy" >
<widget class="QLineEdit" name="advancedLineInput" /> <sizepolicy>
<hsizetype>0</hsizetype>
<vsizetype>5</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text" >
<string>Caching</string>
</property>
</widget>
</item>
<item row="0" column="1" >
<widget class="QSpinBox" name="cacheSpinBox" >
<property name="sizePolicy" >
<sizepolicy>
<hsizetype>0</hsizetype>
<vsizetype>0</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximum" >
<number>999999</number>
</property>
</widget>
</item>
<item row="3" column="0" >
<widget class="QLabel" name="advancedLabel" >
<property name="text" >
<string>Customize</string>
</property>
</widget>
</item>
<item row="3" column="1" colspan="2" >
<widget class="QLineEdit" name="advancedLineInput" />
</item>
<item row="2" column="1" colspan="2" >
<widget class="QLineEdit" name="slaveText" >
<property name="enabled" >
<bool>false</bool>
</property>
</widget>
</item>
<item row="1" column="0" colspan="3" >
<widget class="QCheckBox" name="slaveCheckbox" >
<property name="text" >
<string>Play another media synchronously (extra audio file, ...)</string>
</property>
</widget>
</item>
</layout>
</item> </item>
</layout> </layout>
</widget> </widget>
...@@ -210,7 +176,6 @@ ...@@ -210,7 +176,6 @@
</layout> </layout>
</widget> </widget>
<tabstops> <tabstops>
<tabstop>advancedButton</tabstop>
<tabstop>cacheSpinBox</tabstop> <tabstop>cacheSpinBox</tabstop>
<tabstop>advancedLineInput</tabstop> <tabstop>advancedLineInput</tabstop>
<tabstop>Tab</tabstop> <tabstop>Tab</tabstop>
...@@ -218,5 +183,38 @@ ...@@ -218,5 +183,38 @@
<tabstop>cancelButton</tabstop> <tabstop>cancelButton</tabstop>
</tabstops> </tabstops>
<resources/> <resources/>
<connections/> <connections>
<connection>
<sender>slaveCheckbox</sender>
<signal>clicked(bool)</signal>
<receiver>label_2</receiver>
<slot>setEnabled(bool)</slot>
<hints>
<hint type="sourcelabel" >
<x>54</x>
<y>384</y>
</hint>
<hint type="destinationlabel" >
<x>63</x>
<y>410</y>
</hint>
</hints>
</connection>
<connection>
<sender>slaveCheckbox</sender>
<signal>clicked(bool)</signal>
<receiver>slaveText</receiver>
<slot>setEnabled(bool)</slot>
<hints>
<hint type="sourcelabel" >
<x>127</x>
<y>387</y>
</hint>
<hint type="destinationlabel" >
<x>136</x>
<y>406</y>
</hint>
</hints>
</connection>
</connections>
</ui> </ui>
...@@ -7,148 +7,162 @@ ...@@ -7,148 +7,162 @@
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>448</width> <width>448</width>
<height>232</height> <height>275</height>
</rect> </rect>
</property> </property>
<property name="windowTitle" > <property name="windowTitle" >
<string>Form</string> <string>Form</string>
</property> </property>
<widget class="QGroupBox" name="diskTypeGroupBox" > <layout class="QVBoxLayout" >
<property name="geometry" > <property name="margin" >
<rect> <number>9</number>
<x>10</x>
<y>10</y>
<width>391</width>
<height>121</height>
</rect>
</property> </property>
<property name="title" > <property name="spacing" >
<string>Disc Type</string> <number>6</number>
</property> </property>
<widget class="QWidget" name="layoutWidget" > <item>
<property name="geometry" > <widget class="QGroupBox" name="diskGroupBox" >
<rect> <property name="title" >
<x>10</x> <string>Disc selection</string>
<y>20</y>
<width>159</width>
<height>85</height>
</rect>
</property>
<layout class="QVBoxLayout" >
<property name="margin" >
<number>0</number>
</property> </property>
<property name="spacing" >
<number>6</number>
</property>
<item>
<layout class="QHBoxLayout" >
<property name="margin" >
<number>0</number>
</property>
<property name="spacing" >
<number>6</number>
</property>
<item>
<widget class="QRadioButton" name="dvdRadioButton" >
<property name="text" >
<string>DVD</string>
</property>
<property name="checked" >
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="menuDVDButton" >
<property name="text" >
<string>Show Menus</string>
</property>
<property name="checked" >
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QRadioButton" name="vcdRadioButton" >
<property name="text" >
<string>SVCD/VCD</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="audioCDRAdioButton" >
<property name="text" >
<string>Audio CD</string>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
<widget class="QGroupBox" name="diskOptionGroupBox" >
<property name="geometry" >
<rect>
<x>10</x>
<y>130</y>
<width>391</width>
<height>69</height>
</rect>
</property>
<property name="sizePolicy" >
<sizepolicy>
<hsizetype>5</hsizetype>
<vsizetype>5</vsizetype>
<horstretch>1</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="title" >
<string>Device</string>
</property>
<layout class="QVBoxLayout" >
<property name="margin" >
<number>9</number>
</property>
<property name="spacing" >
<number>6</number>
</property>
<item>
<layout class="QHBoxLayout" > <layout class="QHBoxLayout" >
<property name="margin" > <property name="margin" >
<number>0</number> <number>9</number>
</property> </property>
<property name="spacing" > <property name="spacing" >
<number>6</number> <number>6</number>
</property> </property>
<item> <item>
<widget class="QComboBox" name="diskBrowseLine" > <layout class="QGridLayout" >
<property name="sizePolicy" > <property name="margin" >
<sizepolicy> <number>0</number>
<hsizetype>5</hsizetype>
<vsizetype>0</vsizetype>
<horstretch>1</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property> </property>
<property name="editable" > <property name="spacing" >
<bool>true</bool> <number>6</number>
</property> </property>
</widget> <item row="0" column="1" >
<widget class="QRadioButton" name="vcdRadioButton" >
<property name="text" >
<string>SVCD/VCD</string>
</property>
</widget>
</item>
<item row="0" column="0" >
<widget class="QRadioButton" name="dvdRadioButton" >
<property name="text" >
<string>DVD</string>
</property>
<property name="checked" >
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="2" >
<widget class="QRadioButton" name="audioCDRadioButton" >
<property name="text" >
<string>Audio CD</string>
</property>
</widget>
</item>
<item row="1" column="0" >
<widget class="QLabel" name="label" >
<property name="text" >
<string>Disk device</string>
</property>
</widget>
</item>
<item row="1" column="1" colspan="2" >
<widget class="QComboBox" name="deviceCombo" >
<property name="editable" >
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</item> </item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="diskOptionGroupBox" >
<property name="sizePolicy" >
<sizepolicy>
<hsizetype>5</hsizetype>
<vsizetype>5</vsizetype>
<horstretch>1</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="title" >
<string>Starting position</string>
</property>
<layout class="QHBoxLayout" >
<property name="margin" >
<number>9</number>
</property>
<property name="spacing" >
<number>6</number>
</property>
<item> <item>
<widget class="QPushButton" name="browseDiskButton" > <layout class="QGridLayout" >
<property name="text" > <property name="margin" >
<string>Browse</string> <number>0</number>
</property>
<property name="spacing" >
<number>6</number>
</property> </property>
</widget> <item row="0" column="1" >
<widget class="QSpinBox" name="titleSpin" >
<property name="autoFillBackground" >
<bool>false</bool>
</property>
<property name="suffix" >
<string/>
</property>
<property name="minimum" >
<number>-1</number>
</property>
<property name="value" >
<number>-1</number>
</property>
</widget>
</item>
<item row="0" column="0" >
<widget class="QLabel" name="label_2" >
<property name="text" >
<string>Title</string>
</property>
</widget>
</item>
<item row="1" column="0" >
<widget class="QLabel" name="label_3" >
<property name="text" >
<string>Chapter</string>
</property>
</widget>
</item>
<item row="1" column="1" >
<widget class="QSpinBox" name="chapterSpin" >
<property name="suffix" >
<string/>
</property>
<property name="prefix" >
<string/>
</property>
<property name="minimum" >
<number>-1</number>
</property>
<property name="value" >
<number>-1</number>
</property>
</widget>
</item>
</layout>
</item> </item>
</layout> </layout>
</item> </widget>
</layout> </item>
</widget> </layout>
</widget> </widget>
<resources/> <resources/>
<connections/> <connections/>
......
...@@ -6,8 +6,8 @@ ...@@ -6,8 +6,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>415</width> <width>487</width>
<height>305</height> <height>151</height>
</rect> </rect>
</property> </property>
<property name="sizePolicy" > <property name="sizePolicy" >
...@@ -21,27 +21,14 @@ ...@@ -21,27 +21,14 @@
<property name="windowTitle" > <property name="windowTitle" >
<string>Form</string> <string>Form</string>
</property> </property>
<widget class="QGroupBox" name="fileGroupBox" > <layout class="QVBoxLayout" >
<property name="geometry" > <property name="margin" >
<rect> <number>9</number>
<x>9</x>
<y>9</y>
<width>397</width>
<height>67</height>
</rect>
</property> </property>
<property name="title" > <property name="spacing" >
<string>Media File</string> <number>6</number>
</property> </property>
<widget class="QWidget" name="" > <item>
<property name="geometry" >
<rect>
<x>11</x>
<y>28</y>
<width>371</width>
<height>29</height>
</rect>
</property>
<layout class="QHBoxLayout" > <layout class="QHBoxLayout" >
<property name="margin" > <property name="margin" >
<number>0</number> <number>0</number>
...@@ -49,6 +36,13 @@ ...@@ -49,6 +36,13 @@
<property name="spacing" > <property name="spacing" >
<number>6</number> <number>6</number>
</property> </property>
<item>
<widget class="QLabel" name="label" >
<property name="text" >
<string>File</string>
</property>
</widget>
</item>
<item> <item>
<widget class="QComboBox" name="fileInput" > <widget class="QComboBox" name="fileInput" >
<property name="sizePolicy" > <property name="sizePolicy" >
...@@ -75,243 +69,170 @@ ...@@ -75,243 +69,170 @@
</widget> </widget>
</item> </item>
</layout> </layout>
</widget> </item>
</widget> <item>
<widget class="QGroupBox" name="subGroupBox" > <widget class="QGroupBox" name="subGroupBox" >
<property name="geometry" > <property name="title" >
<rect> <string>Use a subtitles file</string>
<x>10</x>
<y>80</y>
<width>397</width>
<height>103</height>
</rect>
</property>
<property name="title" >
<string>Subtitles</string>
</property>
<property name="checkable" >
<bool>true</bool>
</property>
<property name="checked" >
<bool>false</bool>
</property>
<widget class="QWidget" name="layoutWidget" >
<property name="geometry" >
<rect>
<x>10</x>
<y>20</y>
<width>371</width>
<height>29</height>
</rect>
</property>
<layout class="QHBoxLayout" >
<property name="margin" >
<number>0</number>
</property>
<property name="spacing" >
<number>6</number>
</property> </property>
<item> <property name="checkable" >
<widget class="QComboBox" name="subInput" > <bool>true</bool>
<property name="sizePolicy" >
<sizepolicy>
<hsizetype>7</hsizetype>
<vsizetype>0</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="editable" >
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="subBrowseButton" >
<property name="text" >
<string>Browse</string>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="" >
<property name="geometry" >
<rect>
<x>10</x>
<y>60</y>
<width>371</width>
<height>28</height>
</rect>
</property>
<layout class="QHBoxLayout" >
<property name="margin" >
<number>0</number>
</property> </property>
<property name="spacing" > <property name="checked" >
<number>6</number> <bool>false</bool>
</property> </property>
<item> <layout class="QVBoxLayout" >
<widget class="QLabel" name="sizeSubLabel" > <property name="margin" >
<property name="text" > <number>9</number>
<string>Size:</string> </property>
</property> <property name="spacing" >
</widget> <number>6</number>
</item> </property>
<item> <item>
<widget class="QComboBox" name="sizeSubComboBox" > <layout class="QHBoxLayout" >
<property name="minimumSize" > <property name="margin" >
<size> <number>0</number>
<width>100</width>
<height>0</height>
</size>
</property>
<item>
<property name="text" >
<string>Very Small</string>
</property>
</item>
<item>
<property name="text" >
<string>Small</string>
</property>
</item>
<item>
<property name="text" >
<string>Normal</string>
</property>
</item>
<item>
<property name="text" >
<string>Big</string>
</property>
</item>
<item>
<property name="text" >
<string>Very Big</string>
</property> </property>
</item> <property name="spacing" >
</widget> <number>6</number>
</item>
<item>
<spacer>
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" >
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="alignSubLabel" >
<property name="text" >
<string>Alignment:</string>
</property>
<property name="buddy" >
<cstring>alignSubLabel</cstring>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="alignSubComboBox" >
<property name="minimumSize" >
<size>
<width>80</width>
<height>0</height>
</size>
</property>
<property name="currentIndex" >
<number>0</number>
</property>
<property name="insertPolicy" >
<enum>QComboBox::NoInsert</enum>
</property>
<property name="minimumContentsLength" >
<number>0</number>
</property>
<item>
<property name="text" >
<string>Left</string>
</property> </property>
</item> <item>
<item> <widget class="QComboBox" name="subInput" >
<property name="text" > <property name="sizePolicy" >
<string>Center</string> <sizepolicy>
<hsizetype>7</hsizetype>
<vsizetype>0</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="editable" >
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="subBrowseButton" >
<property name="text" >
<string>Browse</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" >
<property name="margin" >
<number>0</number>
</property> </property>
</item> <property name="spacing" >
<item> <number>6</number>
<property name="text" >
<string>Right</string>
</property> </property>
</item> <item>
</widget> <widget class="QLabel" name="sizeSubLabel" >
</item> <property name="text" >
</layout> <string>Size:</string>
</widget> </property>
</widget> </widget>
<widget class="QGroupBox" name="audioGroupBox" > </item>
<property name="geometry" > <item>
<rect> <widget class="QComboBox" name="sizeSubComboBox" >
<x>10</x> <property name="minimumSize" >
<y>190</y> <size>
<width>397</width> <width>100</width>
<height>61</height> <height>0</height>
</rect> </size>
</property> </property>
<property name="title" > <item>
<string>Extra Audio File</string> <property name="text" >
</property> <string>Very Small</string>
<property name="checkable" > </property>
<bool>true</bool> </item>
</property> <item>
<property name="checked" > <property name="text" >
<bool>false</bool> <string>Small</string>
</property> </property>
<widget class="QWidget" name="" > </item>
<property name="geometry" > <item>
<rect> <property name="text" >
<x>10</x> <string>Normal</string>
<y>20</y> </property>
<width>371</width> </item>
<height>29</height> <item>
</rect> <property name="text" >
</property> <string>Big</string>
<layout class="QHBoxLayout" > </property>
<property name="margin" > </item>
<number>0</number> <item>
</property> <property name="text" >
<property name="spacing" > <string>Very Big</string>
<number>6</number> </property>
</property> </item>
<item> </widget>
<widget class="QComboBox" name="audioFileInput" > </item>
<property name="sizePolicy" > <item>
<sizepolicy> <spacer>
<hsizetype>7</hsizetype> <property name="orientation" >
<vsizetype>0</vsizetype> <enum>Qt::Horizontal</enum>
<horstretch>0</horstretch> </property>
<verstretch>0</verstretch> <property name="sizeHint" >
</sizepolicy> <size>
</property> <width>40</width>
<property name="editable" > <height>20</height>
<bool>true</bool> </size>
</property> </property>
</widget> </spacer>
</item> </item>
<item> <item>
<widget class="QPushButton" name="audioBrowseButton" > <widget class="QLabel" name="alignSubLabel" >
<property name="text" > <property name="text" >
<string>Browse</string> <string>Alignment:</string>
</property> </property>
</widget> <property name="buddy" >
</item> <cstring>alignSubLabel</cstring>
</layout> </property>
</widget> </widget>
</widget> </item>
<item>
<widget class="QComboBox" name="alignSubComboBox" >
<property name="minimumSize" >
<size>
<width>80</width>
<height>0</height>
</size>
</property>
<property name="currentIndex" >
<number>0</number>
</property>
<property name="insertPolicy" >
<enum>QComboBox::NoInsert</enum>
</property>
<property name="minimumContentsLength" >
<number>0</number>
</property>
<item>
<property name="text" >
<string>Left</string>
</property>
</item>
<item>
<property name="text" >
<string>Center</string>
</property>
</item>
<item>
<property name="text" >
<string>Right</string>
</property>
</item>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item>
</layout>
</widget> </widget>
<resources/> <resources/>
<connections/> <connections/>
......
...@@ -6,196 +6,113 @@ ...@@ -6,196 +6,113 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>418</width> <width>445</width>
<height>350</height> <height>217</height>
</rect> </rect>
</property> </property>
<property name="windowTitle" > <property name="windowTitle" >
<string>Form</string> <string>Form</string>
</property> </property>
<widget class="QGroupBox" name="groupBox" > <layout class="QVBoxLayout" >
<property name="geometry" > <property name="margin" >
<rect> <number>9</number>
<x>10</x>
<y>90</y>
<width>391</width>
<height>61</height>
</rect>
</property> </property>
<property name="title" > <property name="spacing" >
<string>Options</string> <number>6</number>
</property> </property>
<widget class="QWidget" name="layoutWidget" > <item>
<property name="geometry" > <layout class="QGridLayout" >
<rect>
<x>10</x>
<y>20</y>
<width>361</width>
<height>33</height>
</rect>
</property>
<layout class="QHBoxLayout" >
<property name="margin" > <property name="margin" >
<number>0</number> <number>0</number>
</property> </property>
<property name="spacing" > <property name="spacing" >
<number>6</number> <number>6</number>
</property> </property>
<item> <item row="1" column="0" >
<layout class="QHBoxLayout" > <widget class="QComboBox" name="protocolCombo" />
<property name="margin" > </item>
<number>0</number> <item row="0" column="0" >
</property> <widget class="QLabel" name="label" >
<property name="spacing" > <property name="text" >
<number>6</number> <string>Protocol</string>
</property> </property>
<item> </widget>
<widget class="QLabel" name="label_3" >
<property name="sizePolicy" >
<sizepolicy>
<hsizetype>7</hsizetype>
<vsizetype>5</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text" >
<string>_("Port") :</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="spinBox" >
<property name="minimumSize" >
<size>
<width>80</width>
<height>0</height>
</size>
</property>
</widget>
</item>
<item>
<spacer>
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" >
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item> </item>
<item> <item row="0" column="1" >
<widget class="QCheckBox" name="checkBox_3" > <widget class="QLabel" name="label_2" >
<property name="sizePolicy" >
<sizepolicy>
<hsizetype>5</hsizetype>
<vsizetype>0</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text" > <property name="text" >
<string>force IPv6</string> <string>Address</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item row="0" column="2" >
<widget class="QCheckBox" name="checkBox_2" > <widget class="QLabel" name="label_4" >
<property name="text" > <property name="text" >
<string>localhost</string> <string>Port</string>
</property>
</widget>
</item>
<item row="1" column="2" >
<widget class="QSpinBox" name="portSpin" >
<property name="maximum" >
<number>65535</number>
</property>
<property name="value" >
<number>1234</number>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="1" >
<widget class="QLineEdit" name="addressText" />
</item>
</layout> </layout>
</widget> </item>
</widget> <item>
<widget class="QRadioButton" name="radioButton" > <widget class="QGroupBox" name="groupBox_3" >
<property name="geometry" > <property name="sizePolicy" >
<rect> <sizepolicy>
<x>10</x> <hsizetype>5</hsizetype>
<y>0</y> <vsizetype>0</vsizetype>
<width>101</width> <horstretch>0</horstretch>
<height>23</height> <verstretch>0</verstretch>
</rect> </sizepolicy>
</property> </property>
<property name="text" > <property name="title" >
<string>UDP/RTP</string> <string>Options</string>
</property> </property>
<property name="checked" > <layout class="QHBoxLayout" >
<bool>true</bool> <property name="margin" >
</property> <number>9</number>
</widget> </property>
<widget class="QRadioButton" name="radioButton_3" > <property name="spacing" >
<property name="geometry" > <number>6</number>
<rect> </property>
<x>60</x> <item>
<y>160</y> <widget class="QCheckBox" name="timeShift" >
<width>154</width> <property name="text" >
<height>23</height> <string>Allow timeshifting</string>
</rect> </property>
</property> </widget>
<property name="text" > </item>
<string>HTTP/HTTPS/FTP/MMS</string> <item>
</property> <widget class="QCheckBox" name="ipv6" >
</widget> <property name="text" >
<widget class="QRadioButton" name="radioButton_4" > <string>Force IPv6</string>
<property name="geometry" > </property>
<rect> </widget>
<x>10</x> </item>
<y>160</y> </layout>
<width>45</width> </widget>
<height>23</height> </item>
</rect> </layout>
</property>
<property name="text" >
<string>RTP</string>
</property>
</widget>
<widget class="QGroupBox" name="groupBox_2" >
<property name="geometry" >
<rect>
<x>10</x>
<y>180</y>
<width>391</width>
<height>69</height>
</rect>
</property>
<property name="title" >
<string>_("URL")</string>
</property>
<layout class="QHBoxLayout" >
<property name="margin" >
<number>9</number>
</property>
<property name="spacing" >
<number>6</number>
</property>
<item>
<widget class="QLineEdit" name="lineEdit_2" />
</item>
</layout>
</widget>
<widget class="QGroupBox" name="groupBox_3" >
<property name="geometry" >
<rect>
<x>10</x>
<y>20</y>
<width>391</width>
<height>69</height>
</rect>
</property>
<property name="title" >
<string>_("Address")</string>
</property>
<layout class="QHBoxLayout" >
<property name="margin" >
<number>9</number>
</property>
<property name="spacing" >
<number>6</number>
</property>
<item>
<widget class="QLineEdit" name="lineEdit" />
</item>
</layout>
</widget>
</widget> </widget>
<resources/> <resources/>
<connections/> <connections/>
......
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