- ui.setupUi( main );
-#define ADD_VCODEC( name, fcc) ui.vCodec->addItem( name, QVariant( fcc ) );
- ADD_VCODEC( "MPEG-1", "mp1v" );
- ADD_VCODEC( "MPEG-2", "mp2v" );
- ADD_VCODEC( "MPEG-4", "mp4v" );
- ADD_VCODEC( "DIVX 1" , "DIV1" );
- ADD_VCODEC( "DIVX 2" , "DIV1" );
- ADD_VCODEC( "DIVX 3" , "DIV1" );
- ADD_VCODEC( "H-263", "H263" );
- ADD_VCODEC( "H-264", "h264" );
- ADD_VCODEC( "WMV1", "WMV1" );
- ADD_VCODEC( "WMV2" , "WMV2" );
- ADD_VCODEC( "M-JPEG", "MJPG" );
- ADD_VCODEC( "Theora", "theo" );
-
-#define ADD_ACODEC( name, fcc) ui.aCodec->addItem( name, QVariant( fcc ) );
- ADD_ACODEC( "MPEG Audio", "mpga" );
- ADD_ACODEC( "MP3", "mp3" );
- ADD_ACODEC( "MPEG 4 Audio (AAC)", "mp4a");
- ADD_ACODEC( "A52/AC3", "a52");
- ADD_ACODEC( "Vorbis", "vorb" );
- ADD_ACODEC( "Flac", "flac" );
- ADD_ACODEC( "Speex", "spx" );
- ADD_ACODEC( "WAV", "s16l" );
-
- ui.vScale->addItem( "0.25" );
- ui.vScale->addItem( "0.5" );
- ui.vScale->addItem( "0.75" );
- ui.vScale->addItem( "1" );
- ui.vScale->addItem( "1.25" );
- ui.vScale->addItem( "1.5" );
- ui.vScale->addItem( "1.75" );
- ui.vScale->addItem( "2" );
-
- /* Connect everything to the updateMRL function */
-#define CB(x) CONNECT( ui.x, clicked(bool), this, updateMRL() );
-#define CT(x) CONNECT( ui.x, textChanged(const QString), this, updateMRL() );
-#define CS(x) CONNECT( ui.x, valueChanged(int), this, updateMRL() );
-#define CC(x) CONNECT( ui.x, currentIndexChanged(int), this, updateMRL() );
- /* Output */
- CB( fileOutput ); CB( HTTPOutput ); CB( localOutput );
- CB( UDPOutput ); CB( MMSHOutput ); CB( rawInput );
- CT( fileEdit ); CT( HTTPEdit ); CT( UDPEdit ); CT( MMSHEdit );
- CS( HTTPPort ); CS( UDPPort ); CS( MMSHPort );
- /* Transcode */
- CC( vCodec ); CC( sCodec ); CC( aCodec ) ;
- CB( transcodeVideo ); CB( transcodeAudio ); CB( transcodeSubs );
- CB( sOverlay );
- CS( vBitrate ); CS( aBitrate ); CS( aChannels ); CC( vScale );
- /* Mux */
- CB( PSMux ); CB( TSMux ); CB( MPEG1Mux ); CB( OggMux ); CB( ASFMux );
- CB( MP4Mux ); CB( MOVMux ); CB( WAVMux ); CB( RAWMux );
+ ui.setupUi( this );
+ ui.inputBox->setMRL( inputMRL );
+ ui.helpEdit->setPlainText( qtr("This dialog will allow you to stream or "
+ "convert your media for use locally, on your private network, "
+ "or on the Internet.\n"
+ "You should start by checking that source matches what you want "
+ "your input to be and then press the \"Next\" "
+ "button to continue.\n") );
+
+ ui.mrlEdit->setToolTip ( qtr( "Stream output string.\n"
+ "This is automatically generated "
+ "when you change the above settings,\n"
+ "but you can change it manually." ) ) ;
+
+#if 0
+ /* This needs Qt4.5 to be cool */
+ ui.destTab->setTabsClosable( true );
+#else
+ closeTabButton = new QToolButton( this );
+ ui.destTab->setCornerWidget( closeTabButton );
+ closeTabButton->hide();
+ closeTabButton->setAutoRaise( true );
+ closeTabButton->setIcon( QIcon( ":/toolbar/clear" ) );
+ BUTTONACT( closeTabButton, closeTab() );
+#endif
+ CONNECT( ui.destTab, currentChanged( int ), this, tabChanged( int ) );
+ ui.destTab->setTabIcon( 0, QIcon( ":/buttons/playlist/playlist_add" ) );
+
+ ui.destBox->addItem( qtr( "File" ) );
+ ui.destBox->addItem( "HTTP" );
+ ui.destBox->addItem( "MMS" );
+ ui.destBox->addItem( "UDP" );
+ ui.destBox->addItem( "RTP" );
+ ui.destBox->addItem( "IceCast" );
+
+ BUTTONACT( ui.addButton, addDest() );
+
+// /* Connect everything to the updateMRL function */
+#define CB( x ) CONNECT( ui.x, toggled( bool ), this, updateMRL() );
+#define CT( x ) CONNECT( ui.x, textChanged( const QString& ), this, updateMRL() );
+#define CS( x ) CONNECT( ui.x, valueChanged( int ), this, updateMRL() );
+#define CC( x ) CONNECT( ui.x, currentIndexChanged( int ), this, updateMRL() );
+