void ui_switch_win(const int i) { ui_current_page_off(); ProfWin *new_current = wins_get_by_num(i); if (new_current != NULL) { wins_set_current_by_num(i); ui_current_page_off(); new_current->unread = 0; if (i == 1) { title_bar_title(); status_bar_active(1); } else { PContact contact = roster_get_contact(new_current->from); if (contact != NULL) { if (p_contact_name(contact) != NULL) { title_bar_set_recipient(p_contact_name(contact)); } else { title_bar_set_recipient(new_current->from); } } else { title_bar_set_recipient(new_current->from); } title_bar_draw();; status_bar_active(i); } wins_refresh_current(); } }
void ui_focus_win(ProfWin *window) { assert(window != NULL); if (wins_is_current(window)) { return; } ProfWin *old_current = wins_get_current(); if (old_current->type == WIN_MUC_CONFIG) { ProfMucConfWin *confwin = (ProfMucConfWin*)old_current; cmd_ac_remove_form_fields(confwin->form); } if (window->type == WIN_MUC_CONFIG) { ProfMucConfWin *confwin = (ProfMucConfWin*)window; cmd_ac_add_form_fields(confwin->form); } int i = wins_get_num(window); wins_set_current_by_num(i); if (i == 1) { title_bar_console(); rosterwin_roster(); } else { title_bar_switch(); } status_bar_current(i); status_bar_active(i); }