1 /*****************************************************************************
2 * open.cpp : Panels for the open dialogs
3 ****************************************************************************
4 * Copyright (C) 2006 the VideoLAN team
7 * Authors: Clément Stenac <zorglub@videolan.org>
8 * Jean-Baptiste Kempf <jb@videolan.org>
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; either version 2 of the License, or
13 * (at your option) any later version.
15 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
20 * You should have received a copy of the GNU General Public License
21 * along with this program; if not, write to the Free Software
22 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
23 *****************************************************************************/
27 #include "components/open.hpp"
29 #include <QFileDialog>
30 /**************************************************************************
32 ***************************************************************************/
34 OpenPanel::~OpenPanel()
37 /**************************************************************************
39 **************************************************************************/
40 FileOpenPanel::FileOpenPanel( QWidget *_parent, intf_thread_t *_p_intf ) :
41 OpenPanel( _parent, _p_intf )
45 BUTTONACT( ui.fileBrowseButton, browseFile() );
46 BUTTONACT( ui.subBrowseButton, browseFileSub() );
47 BUTTONACT( ui.audioBrowseButton, browseFileAudio() );
48 CONNECT( ui.fileInput, editTextChanged(QString ), this, updateMRL());
51 FileOpenPanel::~FileOpenPanel()
54 void FileOpenPanel::sendUpdate()
57 QStringList FileOpenPanel::browse()
59 return QFileDialog::getOpenFileNames( this, qtr("Open File"), "", "" );
62 void FileOpenPanel::browseFile()
64 //FIXME ! files with spaces
65 QString files = browse().join(" ");
66 ui.fileInput->setEditText( files );
67 ui.fileInput->addItem( files );
69 if ( ui.fileInput->count() > 8 ) ui.fileInput->removeItem(0);
74 void FileOpenPanel::browseFileSub()
76 ui.subInput->setEditText( browse().join(" ") );
81 void FileOpenPanel::browseFileAudio()
83 ui.audioFileInput->setEditText( browse().join(" ") );
86 void FileOpenPanel::updateSubsMRL()
88 QStringList* subsMRL = new QStringList("sub-file=");
89 subsMRL->append( ui.subInput->currentText() );
91 subsMRL->append( "subsdec-align=" + ui.alignSubComboBox->currentText() );
92 subsMRL->append( "sub-rel-fontsize=" + ui.sizeSubComboBox->currentText() );
97 void FileOpenPanel::updateMRL()
99 QString MRL = ui.fileInput->currentText();
101 emit(mrlUpdated(MRL));
104 QString FileOpenPanel::getUpdatedMRL()
106 return ui.fileInput->currentText();
109 void FileOpenPanel::clear()
111 ui.fileInput->setEditText( "");
112 ui.subInput->setEditText( "");
113 ui.audioFileInput->setEditText( "");
118 /**************************************************************************
120 **************************************************************************/
121 DiskOpenPanel::DiskOpenPanel( QWidget *_parent, intf_thread_t *_p_intf ) :
122 OpenPanel( _parent, _p_intf )
127 DiskOpenPanel::~DiskOpenPanel()
130 void DiskOpenPanel::sendUpdate()
133 QString DiskOpenPanel::getUpdatedMRL()
136 //return ui.DiskInput->currentText();
142 /**************************************************************************
144 **************************************************************************/
145 NetOpenPanel::NetOpenPanel( QWidget *_parent, intf_thread_t *_p_intf ) :
146 OpenPanel( _parent, _p_intf )
151 NetOpenPanel::~NetOpenPanel()
154 void NetOpenPanel::sendUpdate()
157 void NetOpenPanel::sendUpdate()
159 QString *mrl = new QString();
160 QString *cache = new QString();
161 getUpdatedMRL( mrl, cache );,
162 emit dataUpdated( mrl, cache );
165 QString NetOpenPanel::getUpdatedMRL()
167 // return ui.NetInput->currentText();