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 )
44 ui.audioGroupBox->hide();
46 BUTTONACT( ui.extraAudioButton, toggleExtraAudio() );
47 BUTTONACT( ui.fileBrowseButton, browseFile() );
48 BUTTONACT( ui.subBrowseButton, browseFileSub() );
49 BUTTONACT( ui.audioBrowseButton, browseFileAudio() );
50 CONNECT( ui.fileInput, editTextChanged(QString ), this, updateMRL());
53 FileOpenPanel::~FileOpenPanel()
56 void FileOpenPanel::sendUpdate()
59 QStringList FileOpenPanel::browse()
61 return QFileDialog::getOpenFileNames( this, qtr("Open File"), "", "" );
64 void FileOpenPanel::browseFile()
66 //FIXME ! files with spaces
67 QString files = browse().join(" ");
68 ui.fileInput->setEditText( files );
69 ui.fileInput->addItem( files );
71 if ( ui.fileInput->count() > 8 ) ui.fileInput->removeItem(0);
76 void FileOpenPanel::browseFileSub()
78 ui.subInput->setEditText( browse().join(" ") );
83 void FileOpenPanel::browseFileAudio()
85 ui.audioFileInput->setEditText( browse().join(" ") );
88 void FileOpenPanel::updateSubsMRL()
90 QStringList* subsMRL = new QStringList("sub-file=");
91 subsMRL->append( ui.subInput->currentText() );
93 subsMRL->append( "subsdec-align=" + ui.alignSubComboBox->currentText() );
94 subsMRL->append( "sub-rel-fontsize=" + ui.sizeSubComboBox->currentText() );
99 void FileOpenPanel::updateMRL()
101 QString MRL = ui.fileInput->currentText();
103 emit(mrlUpdated(MRL));
106 QString FileOpenPanel::getUpdatedMRL()
108 return ui.fileInput->currentText();
111 void FileOpenPanel::toggleExtraAudio()
113 if (ui.audioGroupBox->isVisible())
115 ui.audioGroupBox->hide();
119 ui.audioGroupBox->show();
123 void FileOpenPanel::clear()
125 ui.fileInput->setEditText( "");
126 ui.subInput->setEditText( "");
127 ui.audioFileInput->setEditText( "");
132 /**************************************************************************
134 **************************************************************************/
135 DiskOpenPanel::DiskOpenPanel( QWidget *_parent, intf_thread_t *_p_intf ) :
136 OpenPanel( _parent, _p_intf )
141 DiskOpenPanel::~DiskOpenPanel()
144 void DiskOpenPanel::sendUpdate()
147 QString DiskOpenPanel::getUpdatedMRL()
150 //return ui.DiskInput->currentText();
156 /**************************************************************************
158 **************************************************************************/
159 NetOpenPanel::NetOpenPanel( QWidget *_parent, intf_thread_t *_p_intf ) :
160 OpenPanel( _parent, _p_intf )
165 NetOpenPanel::~NetOpenPanel()
168 void NetOpenPanel::sendUpdate()
171 void NetOpenPanel::sendUpdate()
173 QString *mrl = new QString();
174 QString *cache = new QString();
175 getUpdatedMRL( mrl, cache );,
176 emit dataUpdated( mrl, cache );
179 QString NetOpenPanel::getUpdatedMRL()
181 // return ui.NetInput->currentText();