Commit 972e5e45 authored by Jean-Baptiste Kempf's avatar Jean-Baptiste Kempf

Qt: open dialog code simplification

parent 718ee0d6
/*****************************************************************************
* open.cpp : Advanced open dialog
*****************************************************************************
* Copyright © 2006-2009 the VideoLAN team
* $Id$
* Copyright © 2006-2011 the VideoLAN team
*
* Authors: Jean-Baptiste Kempf <jb@videolan.org>
*
......@@ -26,9 +25,7 @@
#endif
#include "dialogs/open.hpp"
#include "dialogs_provider.hpp"
#include "recents.hpp"
#include "util/qt_dirs.hpp"
......@@ -37,7 +34,9 @@
#include <QRegExp>
#include <QMenu>
#define DEBUG_QT 1
#ifndef NDEBUG
# define DEBUG_QT 1
#endif
OpenDialog *OpenDialog::instance = NULL;
......@@ -187,27 +186,6 @@ OpenDialog::OpenDialog( QWidget *parent,
resize( getSettings()->value( "opendialog-size", QSize( 500, 400 ) ).toSize() );
}
OpenDialog::~OpenDialog()
{
getSettings()->setValue( "opendialog-size", size() -
( ui.advancedFrame->isEnabled() ?
QSize(0, ui.advancedFrame->height()) : QSize(0, 0) ) );
getSettings()->setValue( "opendialog-advanced", ui.advancedFrame->isVisible() );
}
/* Used by VLM dialog and inputSlave selection */
QString OpenDialog::getMRL( bool b_all )
{
if( itemsMRL.count() == 0 ) return "";
return b_all ? itemsMRL[0] + ui.advancedLineInput->text()
: itemsMRL[0];
}
QString OpenDialog::getOptions()
{
return ui.advancedLineInput->text();
}
/* Finish the dialog and decide if you open another one after */
void OpenDialog::setMenuAction()
{
......@@ -239,29 +217,37 @@ void OpenDialog::setMenuAction()
}
}
void OpenDialog::showTab( int i_tab )
OpenDialog::~OpenDialog()
{
if( i_tab == OPEN_CAPTURE_TAB ) captureOpenPanel->initialize();
ui.Tab->setCurrentIndex( i_tab );
show();
if( ui.Tab->currentWidget() != NULL )
{
OpenPanel *panel = dynamic_cast<OpenPanel *>( ui.Tab->currentWidget() );
assert( panel );
panel->onFocus();
}
getSettings()->setValue( "opendialog-size", size() -
( ui.advancedFrame->isEnabled() ?
QSize(0, ui.advancedFrame->height()) : QSize(0, 0) ) );
getSettings()->setValue( "opendialog-advanced", ui.advancedFrame->isVisible() );
}
/* Function called on signal currentChanged triggered */
void OpenDialog::signalCurrent( int i_tab )
/* Used by VLM dialog and inputSlave selection */
QString OpenDialog::getMRL( bool b_all )
{
if( itemsMRL.count() == 0 ) return "";
return b_all ? itemsMRL[0] + ui.advancedLineInput->text()
: itemsMRL[0];
}
QString OpenDialog::getOptions()
{
return ui.advancedLineInput->text();
}
void OpenDialog::showTab( int i_tab )
{
if( i_tab == OPEN_CAPTURE_TAB ) captureOpenPanel->initialize();
ui.Tab->setCurrentIndex( i_tab );
show();
if( ui.Tab->currentWidget() != NULL )
{
OpenPanel *panel = dynamic_cast<OpenPanel *>( ui.Tab->currentWidget() );
assert( panel );
panel->onFocus();
panel->updateMRL();
}
}
......@@ -285,6 +271,27 @@ void OpenDialog::toggleAdvancedPanel()
}
}
void OpenDialog::browseInputSlave()
{
OpenDialog *od = new OpenDialog( this, p_intf, true, SELECT );
od->exec();
ui.slaveText->setText( od->getMRL( false ) );
delete od;
}
/* Function called on signal currentChanged triggered */
void OpenDialog::signalCurrent( int i_tab )
{
if( i_tab == OPEN_CAPTURE_TAB ) captureOpenPanel->initialize();
if( ui.Tab->currentWidget() != NULL )
{
OpenPanel *panel = dynamic_cast<OpenPanel *>( ui.Tab->currentWidget() );
assert( panel );
panel->onFocus();
panel->updateMRL();
}
}
/***********
* Actions *
***********/
......@@ -334,18 +341,14 @@ void OpenDialog::selectSlots()
}
}
/* Play Action, called from selectSlots or play Menu */
void OpenDialog::play()
{
finish( false );
}
void OpenDialog::enqueue()
{
finish( true );
enqueue( false );
}
void OpenDialog::finish( bool b_enqueue = false )
/* Enqueue Action, called from selectSlots or enqueue Menu */
void OpenDialog::enqueue( bool b_enqueue )
{
toggleVisible();
......@@ -355,6 +358,9 @@ void OpenDialog::finish( bool b_enqueue = false )
return;
}
/* for( int i = 0; i < OPEN_TAB_MAX; i++ )
dynamic_cast<OpenPanel*>( ui.Tab->widget( i ) )->onAccept(); */
/* Sort alphabetically */
itemsMRL.sort();
......@@ -417,7 +423,7 @@ void OpenDialog::stream( bool b_transcode_only )
ui.advancedLineInput->text().split( " :" ) );
}
/* Update the MRL */
/* Update the MRL items from the panels */
void OpenDialog::updateMRL( const QStringList& item, const QString& tempMRL )
{
optionsMRL = tempMRL;
......@@ -425,6 +431,7 @@ void OpenDialog::updateMRL( const QStringList& item, const QString& tempMRL )
updateMRL();
}
/* Update the complete MRL */
void OpenDialog::updateMRL() {
QString mrl = optionsMRL;
if( ui.slaveCheckbox->isChecked() ) {
......@@ -444,6 +451,7 @@ void OpenDialog::updateMRL() {
ui.mrlLine->setText( itemsMRL.join( " " ) );
}
/* Change the caching combobox */
void OpenDialog::newCachingMethod( const QString& method )
{
if( method != storedMethod ) {
......@@ -453,6 +461,8 @@ void OpenDialog::newCachingMethod( const QString& method )
}
}
/* Split the entries
* FIXME! */
QStringList OpenDialog::SeparateEntries( const QString& entries )
{
bool b_quotes_mode = false;
......@@ -501,10 +511,3 @@ QStringList OpenDialog::SeparateEntries( const QString& entries )
return entries_array;
}
void OpenDialog::browseInputSlave()
{
OpenDialog *od = new OpenDialog( this, p_intf, true, SELECT );
od->exec();
ui.slaveText->setText( od->getMRL( false ) );
delete od;
}
......@@ -77,7 +77,7 @@ public slots:
void selectSlots();
void play();
void stream( bool b_transode_only = false );
void enqueue();
void enqueue( bool b_enqueue = true );
void transcode();
private:
......@@ -105,8 +105,6 @@ private:
QPushButton *cancelButton, *selectButton;
QToolButton *playButton;
void finish( bool );
private slots:
void setMenuAction();
void cancel();
......
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