[polari] room: Consider HandleType in sort function



commit 793f3748b2a373b6edba81b32890af04469372ad
Author: Florian Müllner <florian muellner gmail com>
Date:   Mon Jul 22 22:48:48 2013 +0200

    room: Consider HandleType in sort function
    
    It's odd to mix private chats and rooms, so sort them differently.

 src/lib/polari-room.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)
---
diff --git a/src/lib/polari-room.c b/src/lib/polari-room.c
index a2d2189..44e04a9 100644
--- a/src/lib/polari-room.c
+++ b/src/lib/polari-room.c
@@ -128,6 +128,7 @@ polari_room_compare (PolariRoom *room,
                      PolariRoom *other)
 {
   TpAccount *account1, *account2;
+  TpHandleType type1, type2;
   TpConnection *conn;
 
   g_return_val_if_fail (POLARI_IS_ROOM (room) && POLARI_IS_ROOM (other), 0);
@@ -142,6 +143,13 @@ polari_room_compare (PolariRoom *room,
   if (account1 != account2)
     return strcmp (tp_account_get_display_name (account1),
                    tp_account_get_display_name (account2));
+
+  tp_channel_get_handle (room->priv->channel, &type1);
+  tp_channel_get_handle (other->priv->channel, &type2);
+
+  if (type1 != type2)
+    return type1 == TP_HANDLE_TYPE_ROOM ? -1 : 1;
+
   return strcmp (room->priv->display_name, other->priv->display_name);
 }
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]