finch/gntroomlist.c

changeset 41349
15aeaa1e84ec
parent 41028
943b2cb45314
child 41720
bcfc2c9e5213
--- a/finch/gntroomlist.c	Sat Apr 30 02:31:54 2022 -0500
+++ b/finch/gntroomlist.c	Mon May 02 21:57:35 2022 -0500
@@ -117,74 +117,23 @@
 	if (!room)
 		return;
 
-	switch (purple_roomlist_room_get_room_type(room)) {
-		case PURPLE_ROOMLIST_ROOMTYPE_ROOM:
-			purple_roomlist_room_join(froomlist.roomlist, room);
-			break;
-		case PURPLE_ROOMLIST_ROOMTYPE_CATEGORY:
-			if (!purple_roomlist_room_get_expanded_once(room)) {
-				purple_roomlist_expand_category(froomlist.roomlist, room);
-				purple_roomlist_room_set_expanded_once(room, TRUE);
-			}
-			break;
-	}
-	gnt_tree_set_expanded(GNT_TREE(widget), room, TRUE);
+	purple_roomlist_join_room(froomlist.roomlist, room);
 }
 
 static void
 roomlist_selection_changed(GntWidget *widget, gpointer old, gpointer current, gpointer null)
 {
-	GList *iter, *field;
 	PurpleRoomlistRoom *room = current;
 	GntTextView *tv = GNT_TEXT_VIEW(froomlist.details);
-	gboolean first = TRUE;
 
 	gnt_text_view_clear(tv);
 
 	if (!room)
 		return;
 
-	for (iter = purple_roomlist_room_get_fields(room),
-			field = purple_roomlist_get_fields(froomlist.roomlist);
-			iter && field;
-			iter = iter->next, field = field->next) {
-		PurpleRoomlistField *f = field->data;
-		char *label = NULL;
-
-		if (purple_roomlist_field_get_hidden(f)) {
-			continue;
-		}
-
-		if (!first)
-			gnt_text_view_append_text_with_flags(tv, "\n", GNT_TEXT_FLAG_NORMAL);
-
-		gnt_text_view_append_text_with_flags(tv,
-				purple_roomlist_field_get_label(f), GNT_TEXT_FLAG_BOLD);
-		gnt_text_view_append_text_with_flags(tv, ": ", GNT_TEXT_FLAG_BOLD);
-
-		switch (purple_roomlist_field_get_field_type(f)) {
-			case PURPLE_ROOMLIST_FIELD_BOOL:
-				label = g_strdup(iter->data ? "True" : "False");
-				break;
-			case PURPLE_ROOMLIST_FIELD_INT:
-				label = g_strdup_printf("%d", GPOINTER_TO_INT(iter->data));
-				break;
-			case PURPLE_ROOMLIST_FIELD_STRING:
-				label = g_strdup(iter->data);
-				break;
-		}
-		gnt_text_view_append_text_with_flags(tv, label, GNT_TEXT_FLAG_NORMAL);
-		g_free(label);
-		first = FALSE;
-	}
-
-	if (purple_roomlist_room_get_room_type(room) == PURPLE_ROOMLIST_ROOMTYPE_CATEGORY) {
-		if (!first)
-			gnt_text_view_append_text_with_flags(tv, "\n", GNT_TEXT_FLAG_NORMAL);
-		gnt_text_view_append_text_with_flags(tv,
-				_("Hit 'Enter' to find more rooms of this category."),
-				GNT_TEXT_FLAG_NORMAL);
-	}
+	gnt_text_view_append_text_with_flags(tv,
+	                                     purple_roomlist_room_get_name(room),
+	                                     GNT_TEXT_FLAG_BOLD);
 }
 
 static void
@@ -347,18 +296,16 @@
 static void
 fl_add_room(PurpleRoomlist *roomlist, PurpleRoomlistRoom *room)
 {
-	gboolean category;
+	gchar *category = NULL;
 	if (froomlist.roomlist != roomlist)
 		return;
 
-	category = (purple_roomlist_room_get_room_type(room) == PURPLE_ROOMLIST_ROOMTYPE_CATEGORY);
 	gnt_tree_remove(GNT_TREE(froomlist.tree), room);
 	gnt_tree_add_row_after(GNT_TREE(froomlist.tree), room,
 			gnt_tree_create_row(GNT_TREE(froomlist.tree),
-				purple_roomlist_room_get_name(room),
-				category ? "<" : ""),
-			purple_roomlist_room_get_parent(room), NULL);
-	gnt_tree_set_expanded(GNT_TREE(froomlist.tree), room, !category);
+				purple_roomlist_room_get_name(room), ""),
+		NULL, NULL);
+	gnt_tree_set_expanded(GNT_TREE(froomlist.tree), room, category == NULL);
 }
 
 static PurpleRoomlistUiOps ui_ops =

mercurial