]> git.sesse.net Git - vlc/commitdiff
Qt: make the customize dialog a true Dialog.
authorJean-Baptiste Kempf <jb@videolan.org>
Sun, 19 Apr 2009 16:06:05 +0000 (18:06 +0200)
committerJean-Baptiste Kempf <jb@videolan.org>
Mon, 20 Apr 2009 09:04:06 +0000 (11:04 +0200)
modules/gui/qt4/dialogs/toolbar.cpp
modules/gui/qt4/dialogs/toolbar.hpp
modules/gui/qt4/dialogs_provider.cpp

index 1d2bb2f0b8e12145e0d7555fef1db456b1763dbd..90838c48515e9190984cc336504ef5ca94616695 100644 (file)
 #include <QDialogButtonBox>
 #include <QInputDialog>
 
-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 );
index 2d29b6f61dc92b5e10247bd714af3b3e7999dc31..84dbeb3d3abd2aa52c1fdf55775c4a91d09b1978 100644 (file)
@@ -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;
index ed1af0b8aa8b83455b890f997dc18bb3c22cf05e..746873e79707d4553b5f1cbf7764e38babd74acc 100644 (file)
@@ -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()