mirror of
https://github.com/profanity-im/profanity.git
synced 2024-11-03 19:37:16 -05:00
Refactor rosterwin_roster()
Use helper function for duplicate code.
This commit is contained in:
parent
ff57437155
commit
6567936406
@ -68,6 +68,7 @@ static void _rosterwin_rooms(ProfLayoutSplit *layout, char *title, GList *rooms)
|
|||||||
static void _rosterwin_rooms_by_service(ProfLayoutSplit *layout);
|
static void _rosterwin_rooms_by_service(ProfLayoutSplit *layout);
|
||||||
static void _rosterwin_rooms_header(ProfLayoutSplit *layout, GList *rooms, char *title);
|
static void _rosterwin_rooms_header(ProfLayoutSplit *layout, GList *rooms, char *title);
|
||||||
static void _rosterwin_room(ProfLayoutSplit *layout, ProfMucWin *mucwin);
|
static void _rosterwin_room(ProfLayoutSplit *layout, ProfMucWin *mucwin);
|
||||||
|
static void _rosterwin_print_rooms(ProfLayoutSplit *layout);
|
||||||
|
|
||||||
static void _rosterwin_private_chats(ProfLayoutSplit *layout, GList *orphaned_privchats);
|
static void _rosterwin_private_chats(ProfLayoutSplit *layout, GList *orphaned_privchats);
|
||||||
static void _rosterwin_private_header(ProfLayoutSplit *layout, GList *privs);
|
static void _rosterwin_private_header(ProfLayoutSplit *layout, GList *privs);
|
||||||
@ -97,15 +98,7 @@ rosterwin_roster(void)
|
|||||||
|
|
||||||
char *roomspos = prefs_get_string(PREF_ROSTER_ROOMS_POS);
|
char *roomspos = prefs_get_string(PREF_ROSTER_ROOMS_POS);
|
||||||
if (prefs_get_boolean(PREF_ROSTER_ROOMS) && (g_strcmp0(roomspos, "first") == 0)) {
|
if (prefs_get_boolean(PREF_ROSTER_ROOMS) && (g_strcmp0(roomspos, "first") == 0)) {
|
||||||
char *roomsbypref = prefs_get_string(PREF_ROSTER_ROOMS_BY);
|
_rosterwin_print_rooms(layout);
|
||||||
if (g_strcmp0(roomsbypref, "service") == 0) {
|
|
||||||
_rosterwin_rooms_by_service(layout);
|
|
||||||
} else {
|
|
||||||
GList *rooms = muc_rooms();
|
|
||||||
_rosterwin_rooms(layout, "Rooms", rooms);
|
|
||||||
g_list_free(rooms);
|
|
||||||
}
|
|
||||||
prefs_free_string(roomsbypref);
|
|
||||||
|
|
||||||
GList *orphaned_privchats = NULL;
|
GList *orphaned_privchats = NULL;
|
||||||
GList *privchats = wins_get_private_chats(NULL);
|
GList *privchats = wins_get_private_chats(NULL);
|
||||||
@ -158,15 +151,7 @@ rosterwin_roster(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (prefs_get_boolean(PREF_ROSTER_ROOMS) && (g_strcmp0(roomspos, "last") == 0)) {
|
if (prefs_get_boolean(PREF_ROSTER_ROOMS) && (g_strcmp0(roomspos, "last") == 0)) {
|
||||||
char *roomsbypref = prefs_get_string(PREF_ROSTER_ROOMS_BY);
|
_rosterwin_print_rooms(layout);
|
||||||
if (g_strcmp0(roomsbypref, "service") == 0) {
|
|
||||||
_rosterwin_rooms_by_service(layout);
|
|
||||||
} else {
|
|
||||||
GList *rooms = muc_rooms();
|
|
||||||
_rosterwin_rooms(layout, "Rooms", rooms);
|
|
||||||
g_list_free(rooms);
|
|
||||||
}
|
|
||||||
prefs_free_string(roomsbypref);
|
|
||||||
|
|
||||||
GList *orphaned_privchats = NULL;
|
GList *orphaned_privchats = NULL;
|
||||||
GList *privchats = wins_get_private_chats(NULL);
|
GList *privchats = wins_get_private_chats(NULL);
|
||||||
@ -901,6 +886,20 @@ _rosterwin_room(ProfLayoutSplit *layout, ProfMucWin *mucwin)
|
|||||||
prefs_free_string(privpref);
|
prefs_free_string(privpref);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_rosterwin_print_rooms(ProfLayoutSplit *layout)
|
||||||
|
{
|
||||||
|
char *roomsbypref = prefs_get_string(PREF_ROSTER_ROOMS_BY);
|
||||||
|
if (g_strcmp0(roomsbypref, "service") == 0) {
|
||||||
|
_rosterwin_rooms_by_service(layout);
|
||||||
|
} else {
|
||||||
|
GList *rooms = muc_rooms();
|
||||||
|
_rosterwin_rooms(layout, "Rooms", rooms);
|
||||||
|
g_list_free(rooms);
|
||||||
|
}
|
||||||
|
prefs_free_string(roomsbypref);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_rosterwin_private_chats(ProfLayoutSplit *layout, GList *orphaned_privchats)
|
_rosterwin_private_chats(ProfLayoutSplit *layout, GList *orphaned_privchats)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user