#include "qt4.hpp"
#include "components/open.hpp"
+#include <QFileDialog>
/**************************************************************************
* Open panel
***************************************************************************/
{
ui.setupUi( this );
ui.audioGroupBox->hide();
+
BUTTONACT( ui.extraAudioButton, toggleExtraAudio() );
+ BUTTONACT( ui.fileBrowseButton, browseFile() );
+ BUTTONACT( ui.subBrowseButton, browseFileSub() );
+ BUTTONACT( ui.audioBrowseButton, browseFileAudio() );
+ CONNECT( ui.fileInput, editTextChanged(QString ), this, updateMRL());
}
FileOpenPanel::~FileOpenPanel()
void FileOpenPanel::sendUpdate()
{}
+QStringList FileOpenPanel::browse()
+{
+ return QFileDialog::getOpenFileNames( this, qtr("Open File"), "", "" );
+}
+
+void FileOpenPanel::browseFile()
+{
+ //FIXME ! files with spaces
+ QString files = browse().join(" ");
+ ui.fileInput->setEditText( files );
+ ui.fileInput->addItem( files );
+
+ if ( ui.fileInput->count() > 8 ) ui.fileInput->removeItem(0);
+
+ updateMRL();
+}
+
+void FileOpenPanel::browseFileSub()
+{
+ ui.subInput->setEditText( browse().join(" ") );
+
+ 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()
+{
+ QString MRL = ui.fileInput->currentText();
+
+ emit(mrlUpdated(MRL));
+}
+
QString FileOpenPanel::getUpdatedMRL()
{
return ui.fileInput->currentText();
}
}
+void FileOpenPanel::clear()
+{
+ ui.fileInput->setEditText( "");
+ ui.subInput->setEditText( "");
+ ui.audioFileInput->setEditText( "");
+}
+
+
/**************************************************************************
* Disk open
QString DiskOpenPanel::getUpdatedMRL()
{
+
//return ui.DiskInput->currentText();
return NULL;
}
FileOpenPanel( QWidget *, intf_thread_t * );
virtual ~FileOpenPanel();
virtual QString getUpdatedMRL();
+ void clear();
private:
Ui::OpenFile ui;
+ QStringList browse();
+ void updateSubsMRL();
public slots:
virtual void sendUpdate() ;
void toggleExtraAudio() ;
+ void updateMRL();
+ void browseFile();
+ void browseFileSub();
+ void browseFileAudio();
signals:
- void dataUpdated( QString, QString ) ;
+ void mrlUpdated( QString ) ;
};
class NetOpenPanel: public OpenPanel
#include "components/infopanels.hpp"
#include "qt4.hpp"
+
static int ItemChanged( vlc_object_t *p_this, const char *psz_var,
vlc_value_t oldval, vlc_value_t newval, void *param );
MediaInfoDialog *MediaInfoDialog::instance = NULL;
#include <QTabWidget>
#include <QGridLayout>
+#include <QFileDialog>
#include "dialogs/open.hpp"
#include "components/open.hpp"
OpenDialog::OpenDialog( intf_thread_t *_p_intf ) : QVLCFrame( _p_intf )
{
- setWindowTitle( _("Open" ) );
+ setWindowTitle( qtr("Open" ) );
ui.setupUi( this );
fileOpenPanel = new FileOpenPanel(this , _p_intf );
diskOpenPanel = new DiskOpenPanel(this , _p_intf );
ui.Tab->addTab(netOpenPanel, "Network");
ui.advancedFrame->hide();
+ connect( fileOpenPanel, SIGNAL(mrlUpdated( QString )),
+ this, SLOT( updateMRL(QString)));
BUTTONACT( ui.closeButton, ok());
BUTTONACT( ui.cancelButton, cancel());
BUTTONACT( ui.advancedButton , toggleAdvancedPanel() );
{
}
+void OpenDialog::showTab(int i_tab=0)
+{
+ this->show();
+ ui.Tab->setCurrentIndex(i_tab);
+}
+
+void OpenDialog::cancel()
+{
+ fileOpenPanel->clear();
+ this->toggleVisible();
+}
+
+void OpenDialog::ok()
+{
+ QStringList tempMRL = MRL.split(" ");
+ for( size_t i = 0 ; i< tempMRL.size(); i++ )
+ {
+ const char * psz_utf8 = qtu( tempMRL[i] );
+ /* Play the first one, parse and enqueue the other ones */
+ playlist_Add( THEPL, psz_utf8, NULL,
+ PLAYLIST_APPEND | (i ? 0 : PLAYLIST_GO) |
+ ( i ? PLAYLIST_PREPARSE : 0 ),
+ PLAYLIST_END, VLC_TRUE );
+ }
+
+ this->toggleVisible();
+}
+
+void OpenDialog::changedTab()
+{
+}
+
void OpenDialog::toggleAdvancedPanel()
{
if (ui.advancedFrame->isVisible())
}
}
-void OpenDialog::cancel()
-{
- this->toggleVisible();
-}
-
-void OpenDialog::ok()
+void OpenDialog::updateMRL(QString tempMRL)
{
- this->toggleVisible();
+ MRL = tempMRL;
+ ui.advancedLineInput->setText(MRL);
}
#include <QTabWidget>
#include <QBoxLayout>
+#include <QString>
class InfoTab;
return instance;
}
virtual ~OpenDialog();
+
+ void showTab( int);
+
+ QString MRL;
private:
OpenDialog( intf_thread_t * );
static OpenDialog *instance;
input_thread_t *p_input;
+ QString mrlSub;
+
Ui::Open ui;
FileOpenPanel *fileOpenPanel;
NetOpenPanel *netOpenPanel;
public slots:
void cancel();
void ok();
+ void changedTab();
void toggleAdvancedPanel();
+ void updateMRL(QString);
};
#endif
<item>
<widget class="QPushButton" name="closeButton" >
<property name="text" >
- <string>Close</string>
+ <string>Open</string>
</property>
</widget>
</item>
</widget>
</item>
<item>
- <widget class="QComboBox" name="sizeComboBox" >
+ <widget class="QComboBox" name="sizeSubComboBox" >
<item>
<property name="text" >
<string>Very Small</string>
</item>
<item>
<widget class="QComboBox" name="alignSubComboBox" >
+ <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>
</spacer>
</item>
<item>
- <widget class="QPushButton" name="audioBrowsButton" >
+ <widget class="QPushButton" name="audioBrowseButton" >
<property name="text" >
<string>Browse</string>
</property>