mirror of
https://github.com/profanity-im/profanity.git
synced 2024-11-03 19:37:16 -05:00
Implemented /occupants hide
This commit is contained in:
parent
778a495fbd
commit
73262221f5
@ -2797,7 +2797,7 @@ _ui_room_hide_occupants(const char * const room)
|
|||||||
{
|
{
|
||||||
ProfWin *window = wins_get_by_recipient(room);
|
ProfWin *window = wins_get_by_recipient(room);
|
||||||
if (window && window->subwin) {
|
if (window && window->subwin) {
|
||||||
cons_debug("Hiding occupants");
|
wins_hide_subwin(window);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3097,7 +3097,7 @@ ui_init_module(void)
|
|||||||
ui_handle_room_role_list_error = _ui_handle_room_role_list_error;
|
ui_handle_room_role_list_error = _ui_handle_room_role_list_error;
|
||||||
ui_handle_room_role_list = _ui_handle_room_role_list;
|
ui_handle_room_role_list = _ui_handle_room_role_list;
|
||||||
ui_muc_roster = _ui_muc_roster;
|
ui_muc_roster = _ui_muc_roster;
|
||||||
ui_room_show_occupants = _ui_room_show_occupants;
|
ui_room_show_occupants = _ui_room_show_occupants;
|
||||||
ui_room_hide_occupants = _ui_room_hide_occupants;
|
ui_room_hide_occupants = _ui_room_hide_occupants;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -88,6 +88,20 @@ win_create(const char * const title, int cols, win_type_t type)
|
|||||||
return new_win;
|
return new_win;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
win_hide_subwin(ProfWin *window)
|
||||||
|
{
|
||||||
|
if (window->subwin) {
|
||||||
|
delwin(window->subwin);
|
||||||
|
}
|
||||||
|
window->subwin = NULL;
|
||||||
|
window->sub_y_pos = 0;
|
||||||
|
|
||||||
|
int cols = getmaxx(stdscr);
|
||||||
|
wresize(window->win, PAD_SIZE, cols);
|
||||||
|
win_redraw(window);
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
win_free(ProfWin* window)
|
win_free(ProfWin* window)
|
||||||
{
|
{
|
||||||
@ -107,7 +121,7 @@ win_update_virtual(ProfWin *window)
|
|||||||
int rows, cols;
|
int rows, cols;
|
||||||
getmaxyx(stdscr, rows, cols);
|
getmaxyx(stdscr, rows, cols);
|
||||||
|
|
||||||
if (window->type == WIN_MUC) {
|
if ((window->type == WIN_MUC) && (window->subwin)) {
|
||||||
pnoutrefresh(window->win, window->y_pos, 0, 1, 0, rows-3, ((cols/OCCUPANT_WIN_RATIO) * (OCCUPANT_WIN_RATIO-1)) -1);
|
pnoutrefresh(window->win, window->y_pos, 0, 1, 0, rows-3, ((cols/OCCUPANT_WIN_RATIO) * (OCCUPANT_WIN_RATIO-1)) -1);
|
||||||
pnoutrefresh(window->subwin, window->sub_y_pos, 0, 1, (cols/OCCUPANT_WIN_RATIO) * (OCCUPANT_WIN_RATIO-1), rows-3, cols-1);
|
pnoutrefresh(window->subwin, window->sub_y_pos, 0, 1, (cols/OCCUPANT_WIN_RATIO) * (OCCUPANT_WIN_RATIO-1), rows-3, cols-1);
|
||||||
} else {
|
} else {
|
||||||
|
@ -102,5 +102,6 @@ void win_save_print(ProfWin *window, const char show_char, GTimeVal *tstamp, int
|
|||||||
void win_save_println(ProfWin *window, const char * const message);
|
void win_save_println(ProfWin *window, const char * const message);
|
||||||
void win_save_newline(ProfWin *window);
|
void win_save_newline(ProfWin *window);
|
||||||
void win_redraw(ProfWin *window);
|
void win_redraw(ProfWin *window);
|
||||||
|
void win_hide_subwin(ProfWin *window);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -305,7 +305,7 @@ wins_resize_all(void)
|
|||||||
g_list_free(values);
|
g_list_free(values);
|
||||||
|
|
||||||
ProfWin *current_win = wins_get_current();
|
ProfWin *current_win = wins_get_current();
|
||||||
if (current_win->type == WIN_MUC) {
|
if ((current_win->type == WIN_MUC) && (current_win->subwin)) {
|
||||||
pnoutrefresh(current_win->win, current_win->y_pos, 0, 1, 0, rows-3, ((cols/OCCUPANT_WIN_RATIO) * (OCCUPANT_WIN_RATIO-1)) -1);
|
pnoutrefresh(current_win->win, current_win->y_pos, 0, 1, 0, rows-3, ((cols/OCCUPANT_WIN_RATIO) * (OCCUPANT_WIN_RATIO-1)) -1);
|
||||||
pnoutrefresh(current_win->subwin, current_win->sub_y_pos, 0, 1, (cols/OCCUPANT_WIN_RATIO) * (OCCUPANT_WIN_RATIO-1), rows-3, cols-1);
|
pnoutrefresh(current_win->subwin, current_win->sub_y_pos, 0, 1, (cols/OCCUPANT_WIN_RATIO) * (OCCUPANT_WIN_RATIO-1), rows-3, cols-1);
|
||||||
} else {
|
} else {
|
||||||
@ -313,6 +313,19 @@ wins_resize_all(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
wins_hide_subwin(ProfWin *window)
|
||||||
|
{
|
||||||
|
int rows, cols;
|
||||||
|
getmaxyx(stdscr, rows, cols);
|
||||||
|
|
||||||
|
win_hide_subwin(window);
|
||||||
|
ProfWin *current_win = wins_get_current();
|
||||||
|
if (current_win->type == WIN_MUC) {
|
||||||
|
pnoutrefresh(current_win->win, current_win->y_pos, 0, 1, 0, rows-3, cols-1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
wins_duck_exists(void)
|
wins_duck_exists(void)
|
||||||
{
|
{
|
||||||
|
@ -63,5 +63,6 @@ GList * wins_get_nums(void);
|
|||||||
gboolean wins_xmlconsole_exists(void);
|
gboolean wins_xmlconsole_exists(void);
|
||||||
ProfWin * wins_get_xmlconsole(void);
|
ProfWin * wins_get_xmlconsole(void);
|
||||||
gboolean wins_swap(int source_win, int target_win);
|
gboolean wins_swap(int source_win, int target_win);
|
||||||
|
void wins_hide_subwin(ProfWin *window);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user