Qt: don't attach the core dialogs to the Main Interface but to the Dialog Provider.
authorJean-Baptiste Kempf <jb@videolan.org>
Sat, 23 May 2009 23:31:52 +0000 (01:31 +0200)
committerJean-Baptiste Kempf <jb@videolan.org>
Sat, 23 May 2009 23:31:52 +0000 (01:31 +0200)
This fix all the dialogs (Fix AVI, HTTP login) that didn't show in skins interface.

modules/gui/qt4/dialogs/external.cpp
modules/gui/qt4/dialogs/external.hpp
modules/gui/qt4/dialogs_provider.cpp
modules/gui/qt4/main_interface.cpp
modules/gui/qt4/main_interface.hpp

index 37a5037..ee090b0 100644 (file)
@@ -59,8 +59,8 @@ int QVLCVariable::callback (vlc_object_t *object, const char *,
 }
 
 
-DialogHandler::DialogHandler (intf_thread_t *intf)
-    : intf (intf),
+DialogHandler::DialogHandler (intf_thread_t *intf, QObject *_parent)
+    : intf (intf), QObject( _parent ),
       message (VLC_OBJECT(intf), "dialog-fatal", VLC_VAR_ADDRESS),
       login (VLC_OBJECT(intf), "dialog-login", VLC_VAR_ADDRESS),
       question (VLC_OBJECT(intf), "dialog-question", VLC_VAR_ADDRESS),
index d2894ef..526a280 100644 (file)
@@ -51,7 +51,7 @@ class DialogHandler : public QObject
     friend class QVLCProgressDialog;
 
 public:
-    DialogHandler (intf_thread_t *);
+    DialogHandler (intf_thread_t *, QObject *parent);
     ~DialogHandler (void);
 
 private:
index bcd3bad..bda9130 100644 (file)
@@ -52,6 +52,7 @@
 #include "dialogs/podcast_configuration.hpp"
 #include "dialogs/toolbar.hpp"
 #include "dialogs/plugins.hpp"
+#include "dialogs/external.hpp"
 
 #include <QEvent>
 #include <QApplication>
@@ -76,6 +77,8 @@ DialogsProvider::DialogsProvider( intf_thread_t *_p_intf ) :
 
     SDMapper = new QSignalMapper();
     CONNECT( SDMapper, mapped (QString), this, SDMenuAction( QString ) );
+
+    DialogHandler *dialogHandler = new DialogHandler (p_intf, this );
 }
 
 DialogsProvider::~DialogsProvider()
index 0bde8ff..397ed44 100644 (file)
@@ -206,8 +206,6 @@ MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf )
 
     /* END CONNECTS ON IM */
 
-    dialogHandler = new DialogHandler (p_intf);
-
     /************
      * Callbacks
      ************/
@@ -284,8 +282,6 @@ MainInterface::~MainInterface()
 {
     msg_Dbg( p_intf, "Destroying the main interface" );
 
-    delete dialogHandler;
-
     /* Unsure we hide the videoWidget before destroying it */
     if( videoIsActive ) videoWidget->hide();
 
index d522a8b..292a18c 100644 (file)
@@ -49,7 +49,6 @@ class FullscreenControllerWidget;
 class SpeedControlWidget;
 class QMenu;
 class QSize;
-class DialogHandler;
 
 enum {
     CONTROLS_VISIBLE = 0x1,
@@ -110,7 +109,6 @@ private:
     ControlsWidget      *controls;
     InputControlsWidget *inputC;
     FullscreenControllerWidget *fullscreenControls;
-    DialogHandler       *dialogHandler;
 
     void createMainWidget( QSettings* );
     void createStatusBar();