]> git.sesse.net Git - vlc/commitdiff
Qt4: incomplete support for dialog_Fatal
authorRémi Denis-Courmont <remi@remlab.net>
Thu, 5 Mar 2009 19:17:39 +0000 (21:17 +0200)
committerRémi Denis-Courmont <remi@remlab.net>
Thu, 5 Mar 2009 20:02:09 +0000 (22:02 +0200)
modules/gui/qt4/main_interface.cpp

index 5c1c047d49491b8eb322a67bfa53b828b93a9492..e91d12afafe8762acdb2cf687ba801742765e78f 100644 (file)
@@ -61,6 +61,7 @@
 
 #include <vlc_keys.h> /* Wheel event */
 #include <vlc_vout.h>
+#include <vlc_dialog.h>
 
 /* Callback prototypes */
 static int PopupMenuCB( vlc_object_t *p_this, const char *psz_variable,
@@ -69,6 +70,8 @@ static int IntfShowCB( vlc_object_t *p_this, const char *psz_variable,
                        vlc_value_t old_val, vlc_value_t new_val, void *param );
 static int InteractCallback( vlc_object_t *, const char *, vlc_value_t,
                              vlc_value_t, void *);
+static int DialogCallback( vlc_object_t *, const char *,
+                            vlc_value_t, vlc_value_t, void *);
 
 MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf )
 {
@@ -203,6 +206,10 @@ MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf )
     var_AddCallback( p_intf, "interaction", InteractCallback, this );
     interaction_Register( p_intf );
 
+    var_Create( p_intf, "dialog-fatal", VLC_VAR_ADDRESS );
+    var_AddCallback( p_intf, "dialog-fatal", DialogCallback, this );
+    dialog_Register( p_intf );
+
     var_AddCallback( p_intf->p_libvlc, "intf-show", IntfShowCB, p_intf );
 
     /* Register callback for the intf-popupmenu variable */
@@ -317,6 +324,9 @@ MainInterface::~MainInterface()
     interaction_Unregister( p_intf );
     var_DelCallback( p_intf, "interaction", InteractCallback, this );
 
+    dialog_Unregister( p_intf );
+    var_DelCallback( p_intf, "dialog-fatal", DialogCallback, this );
+
     p_intf->p_sys->p_mi = NULL;
 }
 
@@ -1212,6 +1222,21 @@ static int InteractCallback( vlc_object_t *p_this,
     return VLC_SUCCESS;
 }
 
+static int DialogCallback( vlc_object_t *p_this,
+                           const char *type, vlc_value_t previous,
+                           vlc_value_t value, void *data )
+{
+    MainInterface *self = (MainInterface *)data;
+    const dialog_fatal_t *dialog = (const dialog_fatal_t *)value.p_address;
+
+    if (!strcmp (type, "dialog-fatal"))
+        printf ("ERROR: %s\n %s\n", dialog->title, dialog->message);
+
+    /* FIXME!!! */
+    (void) previous;
+    return VLC_SUCCESS;
+}
+
 /*****************************************************************************
  * PopupMenuCB: callback triggered by the intf-popupmenu playlist variable.
  *  We don't show the menu directly here because we don't want the