1
0
mirror of https://github.com/profanity-im/profanity.git synced 2024-09-22 19:45:54 -04:00

Put occupants update into own function

This commit is contained in:
Michael Vetter 2019-04-23 14:10:18 +02:00
parent 566022786d
commit 028839e35a
3 changed files with 21 additions and 34 deletions

View File

@ -4382,17 +4382,7 @@ cmd_occupants(ProfWin *window, const char *const command, gchar **args)
prefs_set_occupants_indent(intval);
cons_show("Occupants indent set to: %d", intval);
// get the list of joined rooms
GList *rooms = muc_rooms();
GList *curr = rooms;
while (curr) {
char* roomjid = curr->data;
ProfMucWin *mw = wins_get_muc(roomjid);
if (mw != NULL)
mucwin_update_occupants(mw);
curr = g_list_next(curr);
}
occupantswin_occupants_all();
} else {
cons_show(err_msg);
free(err_msg);
@ -4434,34 +4424,13 @@ cmd_occupants(ProfWin *window, const char *const command, gchar **args)
} else if (g_strcmp0(args[2], "none") == 0) {
prefs_clear_occupants_header_char();
cons_show("Occupants header char removed.");
// get the list of joined rooms
GList *rooms = muc_rooms();
GList *curr = rooms;
while (curr) {
char* roomjid = curr->data;
ProfMucWin *mw = wins_get_muc(roomjid);
if (mw != NULL)
mucwin_update_occupants(mw);
curr = g_list_next(curr);
}
occupantswin_occupants_all();
} else {
prefs_set_occupants_header_char(args[2][0]);
cons_show("Occupants header char set to %c.", args[2][0]);
//TODO:func like rosterwin_roster();
// get the list of joined rooms
GList *rooms = muc_rooms();
GList *curr = rooms;
while (curr) {
char* roomjid = curr->data;
ProfMucWin *mw = wins_get_muc(roomjid);
if (mw != NULL)
mucwin_update_occupants(mw);
curr = g_list_next(curr);
}
occupantswin_occupants_all();
}
} else {
cons_bad_cmd_usage(command);

View File

@ -169,3 +169,20 @@ occupantswin_occupants(const char *const roomjid)
g_list_free(occupants);
}
}
void
occupantswin_occupants_all(void)
{
GList *rooms = muc_rooms();
GList *curr = rooms;
while (curr) {
char* roomjid = curr->data;
ProfMucWin *mw = wins_get_muc(roomjid);
if (mw != NULL) {
mucwin_update_occupants(mw);
}
curr = g_list_next(curr);
}
}

View File

@ -344,6 +344,7 @@ void rosterwin_roster(void);
// occupants window
void occupantswin_occupants(const char *const room);
void occupantswin_occupants_all(void);
// window interface
ProfWin* win_create_console(void);