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

Qt: open dialog code simplification

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