]> git.sesse.net Git - vlc/commitdiff
Revert "Qt4: don't do playlist_model recursive remove as core signals for those anyway"
authorIlkka Ollakka <ileoo@videolan.org>
Sun, 20 Jun 2010 10:32:45 +0000 (13:32 +0300)
committerIlkka Ollakka <ileoo@videolan.org>
Sun, 20 Jun 2010 10:33:46 +0000 (13:33 +0300)
This reverts commit 926bbf142f297f9715e3cc5ad746b98a448c3451.

modules/gui/qt4/components/playlist/playlist_model.cpp

index c86a70108617be20425f6af4a79fe1de9c36c26a..d1a7ac4187483f631432f655e45510f47f316ae3 100644 (file)
@@ -779,8 +779,10 @@ void PLModel::updateTreeItem( PLItem *item )
 /************************* Actions ******************************/
 
 /**
- * Lets not worry about nodes children, we do refersh anyway when
- * core tells that playlist has changed, should give some more speed
+ * Deletion, here we have to do a ugly slow hack as we retrieve the full
+ * list of indexes to delete at once: when we delete a node and all of
+ * its children, we need to update the list.
+ * Todo: investigate whethere we can use ranges to be sure to delete all items?
  */
 void PLModel::doDelete( QModelIndexList selected )
 {
@@ -794,6 +796,8 @@ void PLModel::doDelete( QModelIndexList selected )
         if( index.column() != 0 ) continue;
 
         PLItem *item = getItem( index );
+        if( item->children.size() )
+            recurseDelete( item->children, &selected );
 
         PL_LOCK;
         playlist_DeleteFromInput( p_playlist, item->p_input, pl_Locked );