]> git.sesse.net Git - vlc/blobdiff - modules/gui/qt4/dialogs_provider.cpp
* finish the vout menu (cloeses #302)
[vlc] / modules / gui / qt4 / dialogs_provider.cpp
index f8208014748162bbee7a1a232918a77a2255978d..fc7827bcc5979bcfcc40eb3c6f7de2961656e8aa 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************
  * main_inteface.cpp : Main interface
  ****************************************************************************
- * Copyright (C) 2000-2005 the VideoLAN team
- * $Id: wxwidgets.cpp 15731 2006-05-25 14:43:53Z zorglub $
+ * Copyright (C) 2006 the VideoLAN team
+ * $Id$
  *
  * Authors: ClĂ©ment Stenac <zorglub@videolan.org>
  *
@@ -45,6 +45,9 @@ DialogsProvider::DialogsProvider( intf_thread_t *_p_intf ) :
     connect( menusMapper, SIGNAL( mapped(QObject *) ), this,
             SLOT(menuAction( QObject *)) );
 
+    menusUpdateMapper = new QSignalMapper();
+    connect( menusUpdateMapper, SIGNAL( mapped(QObject *) ), this,
+            SLOT(menuUpdateAction( QObject *)) );
 }
 
 DialogsProvider::~DialogsProvider()
@@ -54,7 +57,7 @@ void DialogsProvider::customEvent( QEvent *event )
 {
     if( event->type() == DialogEvent_Type )
     {
-        DialogEvent *de = dynamic_cast<DialogEvent*>(event);
+        DialogEvent *de = static_cast<DialogEvent*>(event);
         switch( de->i_dialog )
         {
             case INTF_DIALOG_FILE:
@@ -79,6 +82,7 @@ void DialogsProvider::customEvent( QEvent *event )
                doInteraction( de->p_arg ); break;
             case INTF_DIALOG_VLM:
             case INTF_DIALOG_BOOKMARKS:
+               bookmarksDialog(); break;
             case INTF_DIALOG_WIZARD:
             default:
                msg_Warn( p_intf, "unimplemented dialog\n" );
@@ -129,6 +133,12 @@ void DialogsProvider::doInteraction( intf_dialog_args_t *p_arg )
     }
 }
 
+void DialogsProvider::quit()
+{
+    p_intf->b_die = VLC_TRUE;
+    QApplication::quit();
+}
+
 void DialogsProvider::streaminfoDialog()
 {
     StreamInfoDialog::getInstance( p_intf, true )->toggleVisible();
@@ -152,9 +162,20 @@ void DialogsProvider::menuAction( QObject *data )
     QVLCMenu::DoAction( p_intf, data );
 }
 
+void DialogsProvider::menuUpdateAction( QObject *data )
+{
+    MenuFunc * f = qobject_cast<MenuFunc *>(data);
+    f->doFunc( p_intf );
+}
+
 void DialogsProvider::simpleOpenDialog()
 {
 }
+void DialogsProvider::bookmarksDialog()
+{
+}
+
+
 
 void DialogsProvider::popupMenu( int i_dialog )
 {