autorotate for maemo
[tomamp] / playlistmanager.cpp
index 5ddfcf4..61681a2 100644 (file)
@@ -58,7 +58,8 @@ void PlaylistManager::parseAndAddFolder(const QString &dir, bool recursive)
             items.append(PlaylistItem (PlaylistItem (fname)));
         }
     }
-    if (!items.isEmpty())
+//    if (!items.isEmpty())
+    if (items.size () > index)
     {
         metaInformationResolver->setCurrentSource(items.at(index).source);
         lastMetaRead = index;
@@ -78,7 +79,8 @@ void PlaylistManager::addStringList(const QStringList& list)
             items.append(PlaylistItem (string));
         }
     }
-    if (!items.isEmpty())
+//    if (!items.isEmpty())
+    if (items.size () > index)
     {
         metaInformationResolver->setCurrentSource(items.at(index).source);
         lastMetaRead = index;
@@ -200,7 +202,8 @@ void PlaylistManager::addPlaylist(const QString& filename)
         appendPlaylist(filename);
     else if (filename.right(4).toLower() == ".pls")
         appendPlaylistPLS(filename);
-    if (!items.isEmpty())
+    if (items.size () > index)
+//    if (!items.isEmpty())
     {
         metaInformationResolver->setCurrentSource(items.at(index).source);
         lastMetaRead = index;
@@ -303,9 +306,10 @@ QStringList PlaylistManager::playlistStrings() const
 void PlaylistManager::removeItem(int i)
 {
     items.removeAt (i);
-    emit playlistChanged(i);
+    emit itemRemoved(i);
 }
 
+
 bool PlaylistManager::fileSupported (const QString& fname) const
 {
     QString ext = fname.right(3).toLower();
@@ -317,3 +321,29 @@ bool PlaylistManager::fileSupported (const QString& fname) const
 
     return false;
 }
+
+bool PlaylistManager::moveItemUp (int i)
+{
+    if (i)
+    {
+        PlaylistItem tmp = items[i - 1];
+        items[i - 1] = items[i];
+        items[i] = tmp;
+        return true;
+//        emit playlistChanged(i - 1);
+    }
+    return false;
+}
+
+bool PlaylistManager::moveItemDown (int i)
+{
+    if (i < items.size () - 1)
+    {
+        PlaylistItem tmp = items[i + 1];
+        items[i + 1] = items[i];
+        items[i] = tmp;
+        return true;
+//        emit playlistChanged(i - 1);
+    }
+    return false;
+}