From d0e50a73f0d92dc4668ae8db7e50be53cb626eac Mon Sep 17 00:00:00 2001
From: Leo Franchi <lfranchi@kde.org>
Date: Thu, 19 May 2011 16:54:05 -0400
Subject: [PATCH] Sort playlists above stations and the + items last

---
 src/sourcetree/items/categoryitems.cpp | 10 ++++++++--
 src/sourcetree/items/categoryitems.h   |  1 +
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/src/sourcetree/items/categoryitems.cpp b/src/sourcetree/items/categoryitems.cpp
index 4079cc5e0..86084434b 100644
--- a/src/sourcetree/items/categoryitems.cpp
+++ b/src/sourcetree/items/categoryitems.cpp
@@ -132,6 +132,12 @@ CategoryAddItem::dropMimeData( const QMimeData* data, Qt::DropAction action )
     return false;
 }
 
+int
+CategoryAddItem::peerSortValue() const
+{
+    return INT_MAX; // after any siblings
+}
+
 
 /// CategoryItem
 
@@ -173,9 +179,9 @@ int
 CategoryItem::peerSortValue() const
 {
     if( m_category == SourcesModel::PlaylistsCategory )
-        return 100;
-    else if( m_category == SourcesModel::StationsCategory )
         return -100;
+    else if( m_category == SourcesModel::StationsCategory )
+        return 100;
     else
         return 0;
 }
diff --git a/src/sourcetree/items/categoryitems.h b/src/sourcetree/items/categoryitems.h
index 9f5480fcb..2ad4b2801 100644
--- a/src/sourcetree/items/categoryitems.h
+++ b/src/sourcetree/items/categoryitems.h
@@ -30,6 +30,7 @@ public:
     virtual QString text() const;
     virtual void activate();
     virtual QIcon icon() const;
+    virtual int peerSortValue() const;
 
     virtual bool willAcceptDrag(const QMimeData* data) const;
     virtual bool dropMimeData(const QMimeData* data, Qt::DropAction action);