[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    kdemultimedia/noatun/modules/splitplaylist
From:       Charles Samuels <charles () kde ! org>
Date:       2004-06-15 3:48:23
Message-ID: 20040615034823.47E009980 () office ! kde ! org
[Download RAW message or body]

CVS commit by charles: 

fix bug #71416, deleting items in SPL should be fast now.

I do this by not playing files unless necessary.


  M +18 -3     view.cpp   1.139


--- kdemultimedia/noatun/modules/splitplaylist/view.cpp  #1.138:1.139
@@ -317,5 +317,4 @@ void SafeListViewItem::remove()
                 napp->player()->stop();
                 SPL->setCurrent(0);
-                napp->player()->playCurrent();
         }
         else if (napp->player()->current()==this)
@@ -323,6 +322,9 @@ void SafeListViewItem::remove()
 //              SPL->setCurrent(0);
 //              napp->player()->playCurrent();
-                if (!SPL->exiting())
+                
+                if (napp->player()->isPlaying() && !SPL->exiting())
                         napp->player()->forward();
+                else
+                        SPL->setCurrent(0);
         }
 
@@ -871,6 +873,19 @@ void View::deleteSelected()
 {
         QPtrList<QListViewItem> items(list->selectedItems());
+
+        // noatun shouldn't play files for now
+        napp->player()->stop();
+        SPL->setCurrent(0);
+        QListViewItem *afterLast=0;
+        
         for (QPtrListIterator<QListViewItem> it(items); it.current(); ++it)
-                static_cast<SafeListViewItem*>(*it)->remove();
+        {
+                SafeListViewItem *i = static_cast<SafeListViewItem*>(*it);
+                i->remove();
+
+                afterLast = i->itemBelow();
+        }
+
+        SPL->setCurrent(static_cast<SafeListViewItem*>(afterLast));
 
         setModified(true);


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic