]> git.sesse.net Git - vlc/blobdiff - modules/gui/qt4/dialogs/bookmarks.cpp
qt4-correct several problems related to p_input (main input manager class)
[vlc] / modules / gui / qt4 / dialogs / bookmarks.cpp
index e84cb4fd62b8a4fc4a5ebf4935e649a163ad7064..d114b97d351643339b18e812ce27288892dc8f84 100644 (file)
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
  *****************************************************************************/
+
 #ifdef HAVE_CONFIG_H
 # include "config.h"
 #endif
 
 #include "dialogs/bookmarks.hpp"
-#include "dialogs_provider.hpp"
 #include "input_manager.hpp"
 
 #include <QGridLayout>
@@ -80,6 +80,9 @@ BookmarksDialog::BookmarksDialog( intf_thread_t *_p_intf ):QVLCFrame( _p_intf )
     layout->setColumnStretch( 1, 1 );
     layout->addWidget( closeButton, 7, 2 );
 
+    CONNECT( THEMIM->getIM(), bookmarksChanged(),
+             this, update() );
+
     CONNECT( bookmarksList, activated( QModelIndex ), this,
              activateItem( QModelIndex ) );
     CONNECT( bookmarksList, itemChanged( QTreeWidgetItem*, int ),
@@ -93,7 +96,7 @@ BookmarksDialog::BookmarksDialog( intf_thread_t *_p_intf ):QVLCFrame( _p_intf )
 #endif
     BUTTONACT( closeButton, close() );
 
-    readSettings( "Bookmarks", QSize( 435, 206 ) );
+    readSettings( "Bookmarks", QSize( 435, 280 ) );
     updateGeometry();
 }
 
@@ -149,12 +152,11 @@ void BookmarksDialog::add()
 
     if( !input_Control( p_input, INPUT_GET_BOOKMARK, &bookmark ) )
     {
-        bookmark.psz_name = qtu( THEMIM->getIM()->getName() +
-                                 QString("_%1" ).arg( bookmarksList->topLevelItemCount() ) );
+        bookmark.psz_name = const_cast<char *>qtu( THEMIM->getIM()->getName() +
+                   QString("_%1" ).arg( bookmarksList->topLevelItemCount() ) );
 
         input_Control( p_input, INPUT_ADD_BOOKMARK, &bookmark );
     }
-    update();
 }
 
 void BookmarksDialog::del()
@@ -168,8 +170,6 @@ void BookmarksDialog::del()
     {
         input_Control( p_input, INPUT_DEL_BOOKMARK, i_focused );
     }
-
-    update();
 }
 
 void BookmarksDialog::clear()
@@ -178,8 +178,6 @@ void BookmarksDialog::clear()
     if( !p_input ) return;
 
     input_Control( p_input, INPUT_CLEAR_BOOKMARKS );
-
-    update();
 }
 
 void BookmarksDialog::edit( QTreeWidgetItem *item, int column )
@@ -199,7 +197,7 @@ void BookmarksDialog::edit( QTreeWidgetItem *item, int column )
 
     // We get the bookmarks list
     seekpoint_t** pp_bookmarks;
-    seekpoint_t*  p_seekpoint;
+    seekpoint_t*  p_seekpoint = NULL;
     int i_bookmarks;
 
     if( input_Control( p_input, INPUT_GET_BOOKMARKS, &pp_bookmarks,
@@ -239,9 +237,6 @@ void BookmarksDialog::edit( QTreeWidgetItem *item, int column )
         VLC_SUCCESS )
         goto clear;
 
-    // Everything goes fine : update
-    update();
-
 // Clear the bookmark list
 clear:
     for( int i = 0; i < i_bookmarks; i++)