From: Jean-Baptiste Kempf Date: Sun, 19 Apr 2009 16:06:05 +0000 (+0200) Subject: Qt: make the customize dialog a true Dialog. X-Git-Tag: 1.0.0-rc1~295 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=ee538255de348db7e6e3781081b368c35e029234;p=vlc Qt: make the customize dialog a true Dialog. --- diff --git a/modules/gui/qt4/dialogs/toolbar.cpp b/modules/gui/qt4/dialogs/toolbar.cpp index 1d2bb2f0b8..90838c4851 100644 --- a/modules/gui/qt4/dialogs/toolbar.cpp +++ b/modules/gui/qt4/dialogs/toolbar.cpp @@ -41,14 +41,13 @@ #include #include -ToolbarEditDialog *ToolbarEditDialog::instance = NULL; - -ToolbarEditDialog::ToolbarEditDialog( intf_thread_t *_p_intf) - : QVLCFrame( _p_intf ) +ToolbarEditDialog::ToolbarEditDialog( QWidget *_w, intf_thread_t *_p_intf) + : QVLCDialog( _w, _p_intf ) { setWindowTitle( qtr( "Toolbars Editor" ) ); QGridLayout *mainLayout = new QGridLayout( this ); setMinimumWidth( 600 ); + setAttribute( Qt::WA_DeleteOnClose ); /* main GroupBox */ QGroupBox *widgetBox = new QGroupBox( qtr( "Toolbar Elements") , this ); diff --git a/modules/gui/qt4/dialogs/toolbar.hpp b/modules/gui/qt4/dialogs/toolbar.hpp index 2d29b6f61d..84dbeb3d3a 100644 --- a/modules/gui/qt4/dialogs/toolbar.hpp +++ b/modules/gui/qt4/dialogs/toolbar.hpp @@ -58,26 +58,16 @@ private: ToolbarEditDialog *parent; }; -class ToolbarEditDialog : public QVLCFrame +class ToolbarEditDialog : public QVLCDialog { Q_OBJECT; public: - static ToolbarEditDialog * getInstance( intf_thread_t *p_intf ) - { - if( !instance) - instance = new ToolbarEditDialog( p_intf ); - return instance; - } - static void killInstance() - { delete instance; instance = NULL;} + ToolbarEditDialog( QWidget *, intf_thread_t * ); int getOptions() { return flatBox->isChecked() * WIDGET_FLAT + bigBox->isChecked() * WIDGET_BIG + !shinyBox->isChecked() * WIDGET_SHINY; } -private: - ToolbarEditDialog( intf_thread_t * ); virtual ~ToolbarEditDialog(); - - static ToolbarEditDialog *instance; +private: QCheckBox *flatBox, *bigBox, *shinyBox; QComboBox *positionCombo, *profileCombo; diff --git a/modules/gui/qt4/dialogs_provider.cpp b/modules/gui/qt4/dialogs_provider.cpp index ed1af0b8aa..746873e797 100644 --- a/modules/gui/qt4/dialogs_provider.cpp +++ b/modules/gui/qt4/dialogs_provider.cpp @@ -89,7 +89,6 @@ DialogsProvider::~DialogsProvider() #ifdef UPDATE_CHECK UpdateDialog::killInstance(); #endif - ToolbarEditDialog::killInstance(); delete menusMapper; delete menusUpdateMapper; @@ -242,7 +241,8 @@ void DialogsProvider::podcastConfigureDialog() void DialogsProvider::toolbarDialog() { - ToolbarEditDialog::getInstance( p_intf )->toggleVisible(); + ToolbarEditDialog *toolbarEditor = new ToolbarEditDialog( (QWidget *)p_intf->p_sys->p_mi, p_intf ); + toolbarEditor->exec(); } void DialogsProvider::pluginDialog()