Commit dffbc38d authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

qt: VLM wrapper needs not be static

parent fc802f00
......@@ -56,14 +56,15 @@
VLMDialog::VLMDialog( intf_thread_t *_p_intf ) : QVLCFrame( _p_intf )
{
p_vlm = vlm_New( p_intf );
vlm_t *p_vlm = vlm_New( p_intf );
if( !p_vlm )
{
msg_Warn( p_intf, "Couldn't build VLM object ");
vlm = NULL;
return;
}
vlmWrapper = new VLMWrapper( p_vlm );
vlm = new VLMWrapper( p_vlm );
// UI stuff
ui.setupUi( this );
......@@ -164,15 +165,9 @@ VLMDialog::VLMDialog( intf_thread_t *_p_intf ) : QVLCFrame( _p_intf )
VLMDialog::~VLMDialog()
{
delete vlmWrapper;
delete vlm;
getSettings()->setValue("VLM/geometry", saveGeometry());
/* TODO :you have to destroy vlm here to close
* but we shouldn't destroy vlm here in case somebody else wants it */
if( p_vlm )
{
vlm_Delete( p_vlm );
}
}
void VLMDialog::showScheduleWidget( int i )
......@@ -228,24 +223,24 @@ void VLMDialog::addVLMItem()
{
case QVLM_Broadcast:
typeShortName = "Bcast";
vlmAwidget = new VLMBroadcast( name, inputText, inputOptions, outputText,
vlmAwidget = new VLMBroadcast( vlm, name, inputText, inputOptions, outputText,
b_checked, b_looped, this );
VLMWrapper::AddBroadcast( name, inputText, inputOptions, outputText, b_checked,
b_looped );
vlm->AddBroadcast( name, inputText, inputOptions, outputText,
b_checked, b_looped );
break;
case QVLM_VOD:
typeShortName = "VOD";
vlmAwidget = new VLMVod( name, inputText, inputOptions, outputText,
vlmAwidget = new VLMVod( vlm, name, inputText, inputOptions, outputText,
b_checked, ui.muxLedit->text(), this );
VLMWrapper::AddVod( name, inputText, inputOptions, outputText, b_checked );
vlm->AddVod( name, inputText, inputOptions, outputText, b_checked );
break;
case QVLM_Schedule:
typeShortName = "Sched";
vlmAwidget = new VLMSchedule( name, inputText, inputOptions, outputText,
vlmAwidget = new VLMSchedule( vlm, name, inputText, inputOptions, outputText,
schetime, schedate, repeatnum,
repeatdays, b_checked, this );
VLMWrapper::AddSchedule( name, inputText, inputOptions, outputText, schetime,
schedate, repeatnum, repeatdays, b_checked);
vlm->AddSchedule( name, inputText, inputOptions, outputText, schetime,
schedate, repeatnum, repeatdays, b_checked);
break;
default:
msg_Warn( p_intf, "Something bad happened" );
......@@ -273,7 +268,7 @@ bool VLMDialog::exportVLMConf()
if( !saveVLMConfFileName.isEmpty() )
{
VLMWrapper::SaveConfig( saveVLMConfFileName );
vlm->SaveConfig( saveVLMConfFileName );
return true;
}
......@@ -282,14 +277,14 @@ bool VLMDialog::exportVLMConf()
void VLMDialog::mediasPopulator()
{
if( p_vlm )
if( vlm != NULL )
{
QString typeShortName;
int vlmItemCount;
vlm_media_t **pp_dsc;
/* Get medias information and numbers */
int i_nMedias = VLMWrapper::GetMedias( pp_dsc );
int i_nMedias = vlm->GetMedias( pp_dsc );
/* Loop on all of them */
for( int i = 0; i < i_nMedias; i++ )
......@@ -309,14 +304,14 @@ void VLMDialog::mediasPopulator()
{
typeShortName = "VOD";
QString mux = qfu( pp_dsc[i]->vod.psz_mux );
vlmAwidget = new VLMVod( mediaName, inputText, inputOptions,
outputText, pp_dsc[i]->b_enabled,
mux, this );
vlmAwidget = new VLMVod( vlm, mediaName, inputText,
inputOptions, outputText,
pp_dsc[i]->b_enabled, mux, this );
}
else
{
typeShortName = "Bcast";
vlmAwidget = new VLMBroadcast( mediaName, inputText, inputOptions,
vlmAwidget = new VLMBroadcast( vlm, mediaName, inputText, inputOptions,
outputText, pp_dsc[i]->b_enabled,
pp_dsc[i]->broadcast.b_loop, this );
}
......@@ -342,7 +337,7 @@ bool VLMDialog::importVLMConf()
if( !openVLMConfFileName.isEmpty() )
{
if( VLMWrapper::LoadConfig( openVLMConfFileName ) )
if( vlm->LoadConfig( openVLMConfFileName ) )
{
mediasPopulator();
}
......@@ -466,12 +461,14 @@ void VLMDialog::saveModifications()
* VLMAWidget - Abstract class
********************************/
VLMAWidget::VLMAWidget( const QString& _name, const QString& _input,
const QString& _inputOptions, const QString& _output,
bool _enabled, VLMDialog *_parent, int _type )
VLMAWidget::VLMAWidget( VLMWrapper *_vlm, const QString& _name,
const QString& _input, const QString& _inputOptions,
const QString& _output, bool _enabled,
VLMDialog *_parent, int _type )
: QGroupBox( _name, _parent )
{
parent = _parent;
vlm = _vlm;
name = _name;
input = _input;
inputOptions = _inputOptions;
......@@ -518,18 +515,20 @@ void VLMAWidget::del()
void VLMAWidget::toggleEnabled( bool b_enable )
{
VLMWrapper::EnableItem( name, b_enable );
vlm->EnableItem( name, b_enable );
}
/****************
* VLMBroadcast
****************/
VLMBroadcast::VLMBroadcast( const QString& _name, const QString& _input,
VLMBroadcast::VLMBroadcast( VLMWrapper *vlm, const QString& _name,
const QString& _input,
const QString& _inputOptions,
const QString& _output, bool _enabled,
bool _looped, VLMDialog *_parent )
: VLMAWidget( _name, _input, _inputOptions, _output,
_enabled, _parent, QVLM_Broadcast )
: VLMAWidget( vlm, _name, _input, _inputOptions,
_output, _enabled, _parent,
QVLM_Broadcast )
{
nameLabel->setText( qtr("Broadcast: ") + name );
type = QVLM_Broadcast;
......@@ -559,7 +558,7 @@ VLMBroadcast::VLMBroadcast( const QString& _name, const QString& _input,
void VLMBroadcast::update()
{
VLMWrapper::EditBroadcast( name, input, inputOptions, output, b_enabled, b_looped );
vlm->EditBroadcast( name, input, inputOptions, output, b_enabled, b_looped );
if( b_looped )
loopButton->setIcon( QIcon( ":/buttons/playlist/repeat_all" ) );
else
......@@ -570,12 +569,12 @@ void VLMBroadcast::togglePlayPause()
{
if( b_playing )
{
VLMWrapper::ControlBroadcast( name, ControlBroadcastPause );
vlm->ControlBroadcast( name, ControlBroadcastPause );
playButton->setIcon( QIcon( ":/menu/pause" ) );
}
else
{
VLMWrapper::ControlBroadcast( name, ControlBroadcastPlay );
vlm->ControlBroadcast( name, ControlBroadcastPlay );
playButton->setIcon( QIcon( ":/menu/play" ) );
}
b_playing = !b_playing;
......@@ -589,20 +588,20 @@ void VLMBroadcast::toggleLoop()
void VLMBroadcast::stop()
{
VLMWrapper::ControlBroadcast( name, ControlBroadcastStop );
vlm->ControlBroadcast( name, ControlBroadcastStop );
playButton->setIcon( QIcon( ":/menu/play" ) );
}
/****************
* VLMSchedule
****************/
VLMSchedule::VLMSchedule( const QString& name_, const QString& input,
const QString& inputOptions,
VLMSchedule::VLMSchedule( VLMWrapper *vlm, const QString& name_,
const QString& input, const QString& inputOptions,
const QString& output, QDateTime _schetime,
QDateTime _schedate, int _scherepeatnumber,
int _repeatDays, bool enabled, VLMDialog *parent )
: VLMAWidget( name_, input, inputOptions, output, enabled, parent,
QVLM_Schedule )
: VLMAWidget( vlm, name_, input, inputOptions, output, enabled,
parent, QVLM_Schedule )
{
nameLabel->setText( qtr("Schedule: ") + name );
schetime = _schetime;
......@@ -615,17 +614,17 @@ VLMSchedule::VLMSchedule( const QString& name_, const QString& input,
void VLMSchedule::update()
{
VLMWrapper::EditSchedule( name, input, inputOptions, output, schetime, schedate,
rNumber, rDays, b_enabled);
vlm->EditSchedule( name, input, inputOptions, output, schetime, schedate,
rNumber, rDays, b_enabled);
}
/****************
* VLMVOD
****************/
VLMVod::VLMVod( const QString& name_, const QString& input,
VLMVod::VLMVod( VLMWrapper *vlm, const QString& name_, const QString& input,
const QString& inputOptions, const QString& output,
bool enabled, const QString& _mux, VLMDialog *parent)
: VLMAWidget( name_, input, inputOptions, output, enabled, parent,
: VLMAWidget( vlm, name_, input, inputOptions, output, enabled, parent,
QVLM_VOD )
{
nameLabel->setText( qtr("VOD: ") + name );
......@@ -640,14 +639,13 @@ VLMVod::VLMVod( const QString& name_, const QString& input,
void VLMVod::update()
{
muxLabel->setText( mux );
VLMWrapper::EditVod( name, input, inputOptions, output, b_enabled, mux );
vlm->EditVod( name, input, inputOptions, output, b_enabled, mux );
}
/*******************
* VLMWrapper
*******************/
vlm_t * VLMWrapper::p_vlm = NULL;
VLMWrapper::VLMWrapper( vlm_t *_p_vlm )
{
......@@ -656,7 +654,7 @@ VLMWrapper::VLMWrapper( vlm_t *_p_vlm )
VLMWrapper::~VLMWrapper()
{
p_vlm = NULL;
vlm_Delete( p_vlm );
}
int VLMWrapper::GetMedias( vlm_media_t **& array )
......
......@@ -70,9 +70,9 @@ class VLMDialog : public QVLCFrame, public Singleton<VLMDialog>
public:
void toggleVisible();
VLMWrapper *vlmWrapper;
vlm_t *p_vlm;
private:
VLMWrapper *vlm;
VLMDialog( intf_thread_t * );
virtual ~VLMDialog();
......@@ -114,39 +114,39 @@ public:
VLMWrapper( vlm_t * );
virtual ~VLMWrapper();
static int GetMedias( vlm_media_t **& );
static void AddBroadcast( const QString&, const QString&,
const QString&, const QString&,
bool b_enabled = true, bool b_loop = false );
static void EditBroadcast( const QString&, const QString&,
const QString&, const QString&,
bool b_enabled = true, bool b_loop = false );
static void EditSchedule( const QString&, const QString&,
const QString&, const QString&,
QDateTime _schetime, QDateTime _schedate,
int _scherepeatnumber, int _repeatDays,
bool b_enabled = true, const QString& mux = "" );
static void AddVod( const QString&, const QString&,
int GetMedias( vlm_media_t **& );
void AddBroadcast( const QString&, const QString&,
const QString&, const QString&,
bool b_enabled = true, bool b_loop = false );
void EditBroadcast( const QString&, const QString&,
const QString&, const QString&,
bool b_enabled = true, const QString& mux = "" );
static void EditVod( const QString&, const QString&,
const QString&, const QString&,
bool b_enabled = true, const QString& mux = "" );
static void AddSchedule( const QString&, const QString&,
const QString&, const QString&,
QDateTime _schetime, QDateTime _schedate,
int _scherepeatnumber, int _repeatDays,
bool b_enabled = true, const QString& mux = "" );
static void ControlBroadcast( const QString&, int, unsigned int seek = 0 );
static void EnableItem( const QString&, bool );
static void SaveConfig( const QString& );
static bool LoadConfig( const QString& );
bool b_enabled = true, bool b_loop = false );
void EditSchedule( const QString&, const QString&,
const QString&, const QString&,
QDateTime _schetime, QDateTime _schedate,
int _scherepeatnumber, int _repeatDays,
bool b_enabled = true, const QString& mux = "" );
void AddVod( const QString&, const QString&,
const QString&, const QString&,
bool b_enabled = true, const QString& mux = "" );
void EditVod( const QString&, const QString&,
const QString&, const QString&,
bool b_enabled = true, const QString& mux = "" );
void AddSchedule( const QString&, const QString&,
const QString&, const QString&,
QDateTime _schetime, QDateTime _schedate,
int _scherepeatnumber, int _repeatDays,
bool b_enabled = true, const QString& mux = "" );
void ControlBroadcast( const QString&, int, unsigned int seek = 0 );
void EnableItem( const QString&, bool );
void SaveConfig( const QString& );
bool LoadConfig( const QString& );
private:
static vlm_t *p_vlm;
vlm_t *p_vlm;
};
class VLMAWidget : public QGroupBox
......@@ -154,7 +154,7 @@ class VLMAWidget : public QGroupBox
Q_OBJECT
friend class VLMDialog;
public:
VLMAWidget( const QString& name, const QString& input,
VLMAWidget( VLMWrapper *, const QString& name, const QString& input,
const QString& inputOptions, const QString& output,
bool _enable, VLMDialog *parent, int _type = QVLM_Broadcast );
virtual void update() = 0;
......@@ -167,6 +167,7 @@ protected:
bool b_enabled;
int type;
VLMDialog *parent;
VLMWrapper *vlm;
QGridLayout *objLayout;
private slots:
virtual void modify();
......@@ -179,7 +180,7 @@ class VLMBroadcast : public VLMAWidget
Q_OBJECT
friend class VLMDialog;
public:
VLMBroadcast( const QString& name, const QString& input,
VLMBroadcast( VLMWrapper *, const QString& name, const QString& input,
const QString& inputOptions, const QString& output,
bool _enable, bool _loop, VLMDialog *parent );
void update() Q_DECL_OVERRIDE;
......@@ -198,7 +199,7 @@ class VLMVod : public VLMAWidget
Q_OBJECT
friend class VLMDialog;
public:
VLMVod( const QString& name, const QString& input,
VLMVod( VLMWrapper *, const QString& name, const QString& input,
const QString& inputOptions, const QString& output,
bool _enable, const QString& _mux, VLMDialog *parent );
void update();
......@@ -212,7 +213,7 @@ class VLMSchedule : public VLMAWidget
Q_OBJECT
friend class VLMDialog;
public:
VLMSchedule( const QString& name, const QString& input,
VLMSchedule( VLMWrapper *, const QString& name, const QString& input,
const QString& inputOptions, const QString& output,
QDateTime schetime, QDateTime schedate, int repeatnumber,
int repeatdays, bool enabled, VLMDialog *parent );
......@@ -227,4 +228,3 @@ private:
#endif
#endif
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