1
1
mirror of https://github.com/profanity-im/profanity.git synced 2025-02-02 15:08:15 -05:00

Merge branch 'master' into pgp

This commit is contained in:
James Booth 2015-04-30 23:38:28 +01:00
commit 0bd642edf8
7 changed files with 30 additions and 90 deletions

View File

@ -738,9 +738,7 @@ cmd_win(gchar **args, struct cmd_help_t help)
if (!window) { if (!window) {
cons_show("Window %d does not exist.", num); cons_show("Window %d does not exist.", num);
} else { } else {
if (!wins_is_current(window)) { ui_ev_focus_win(window);
ui_ev_focus_win(window);
}
} }
return TRUE; return TRUE;
@ -1348,9 +1346,7 @@ cmd_msg(gchar **args, struct cmd_help_t help)
if (!chatwin) { if (!chatwin) {
chatwin = ui_ev_new_chat_win(barejid); chatwin = ui_ev_new_chat_win(barejid);
} }
if (!wins_is_current((ProfWin*)chatwin)) { ui_ev_focus_win((ProfWin*)chatwin);
ui_ev_focus_win((ProfWin*)chatwin);
}
if (msg) { if (msg) {
cl_ev_send_msg(chatwin, msg); cl_ev_send_msg(chatwin, msg);
@ -4241,9 +4237,7 @@ cmd_otr(gchar **args, struct cmd_help_t help)
if (!chatwin) { if (!chatwin) {
chatwin = ui_ev_new_chat_win(barejid); chatwin = ui_ev_new_chat_win(barejid);
} }
if (!wins_is_current((ProfWin*)chatwin)) { ui_ev_focus_win((ProfWin*)chatwin);
ui_ev_focus_win((ProfWin*)chatwin);
}
if (ui_current_win_is_otr()) { if (ui_current_win_is_otr()) {
ui_current_print_formatted_line('!', 0, "You are already in an OTR session."); ui_current_print_formatted_line('!', 0, "You are already in an OTR session.");

View File

@ -33,11 +33,14 @@
*/ */
#include "ui/ui.h" #include "ui/ui.h"
#include "ui/windows.h"
void void
ui_ev_focus_win(ProfWin *win) ui_ev_focus_win(ProfWin *win)
{ {
ui_switch_win(win); if (!wins_is_current(win)) {
ui_switch_win(win);
}
} }
ProfChatWin* ProfChatWin*

View File

@ -74,6 +74,7 @@
#include "ui/window.h" #include "ui/window.h"
#include "ui/windows.h" #include "ui/windows.h"
#include "xmpp/xmpp.h" #include "xmpp/xmpp.h"
#include "event/ui_events.h"
static char *win_title; static char *win_title;
@ -893,64 +894,6 @@ ui_switch_win(ProfWin *window)
status_bar_active(i); status_bar_active(i);
} }
void
ui_previous_win(void)
{
ProfWin *old_current = wins_get_current();
if (old_current->type == WIN_MUC_CONFIG) {
ProfMucConfWin *confwin = (ProfMucConfWin*)old_current;
cmd_autocomplete_remove_form_fields(confwin->form);
}
ProfWin *new_current = wins_get_previous();
if (new_current->type == WIN_MUC_CONFIG) {
ProfMucConfWin *confwin = (ProfMucConfWin*)new_current;
cmd_autocomplete_add_form_fields(confwin->form);
}
int i = wins_get_num(new_current);
wins_set_current_by_num(i);
if (i == 1) {
title_bar_console();
status_bar_current(1);
status_bar_active(1);
} else {
title_bar_switch();
status_bar_current(i);
status_bar_active(i);
}
}
void
ui_next_win(void)
{
ProfWin *old_current = wins_get_current();
if (old_current->type == WIN_MUC_CONFIG) {
ProfMucConfWin *confwin = (ProfMucConfWin*)old_current;
cmd_autocomplete_remove_form_fields(confwin->form);
}
ProfWin *new_current = wins_get_next();
if (new_current->type == WIN_MUC_CONFIG) {
ProfMucConfWin *confwin = (ProfMucConfWin*)new_current;
cmd_autocomplete_add_form_fields(confwin->form);
}
int i = wins_get_num(new_current);
wins_set_current_by_num(i);
if (i == 1) {
title_bar_console();
status_bar_current(1);
status_bar_active(1);
} else {
title_bar_switch();
status_bar_current(i);
status_bar_active(i);
}
}
void void
ui_gone_secure(const char * const barejid, gboolean trusted) ui_gone_secure(const char * const barejid, gboolean trusted)
{ {
@ -1348,14 +1291,14 @@ ui_new_private_win(const char * const fulljid)
if (!window) { if (!window) {
window = wins_new_private(fulljid); window = wins_new_private(fulljid);
} }
ui_switch_win(window); ui_ev_focus_win(window);
} }
void void
ui_create_xmlconsole_win(void) ui_create_xmlconsole_win(void)
{ {
ProfWin *window = wins_new_xmlconsole(); ProfWin *window = wins_new_xmlconsole();
ui_switch_win(window); ui_ev_focus_win(window);
} }
void void
@ -1363,7 +1306,7 @@ ui_open_xmlconsole_win(void)
{ {
ProfXMLWin *xmlwin = wins_get_xmlconsole(); ProfXMLWin *xmlwin = wins_get_xmlconsole();
if (xmlwin) { if (xmlwin) {
ui_switch_win((ProfWin*)xmlwin); ui_ev_focus_win((ProfWin*)xmlwin);
} }
} }
@ -1435,7 +1378,7 @@ ui_outgoing_private_msg(const char * const fulljid, const char * const message)
} }
win_print(window, '-', NULL, 0, THEME_TEXT_ME, "me", message); win_print(window, '-', NULL, 0, THEME_TEXT_ME, "me", message);
ui_switch_win(window); ui_ev_focus_win(window);
} }
void void
@ -1462,7 +1405,7 @@ ui_room_join(const char * const roomjid, gboolean focus)
if (focus) { if (focus) {
ui_switch_win(window); ui_ev_focus_win(window);
} else { } else {
int num = wins_get_num(window); int num = wins_get_num(window);
status_bar_active(num); status_bar_active(num);
@ -1476,7 +1419,7 @@ void
ui_switch_to_room(const char * const roomjid) ui_switch_to_room(const char * const roomjid)
{ {
ProfWin *window = (ProfWin*)wins_get_muc(roomjid); ProfWin *window = (ProfWin*)wins_get_muc(roomjid);
ui_switch_win(window); ui_ev_focus_win(window);
} }
void void
@ -2648,7 +2591,7 @@ ui_handle_room_configuration(const char * const roomjid, DataForm *form)
ProfMucConfWin *confwin = (ProfMucConfWin*)window; ProfMucConfWin *confwin = (ProfMucConfWin*)window;
assert(confwin->memcheck == PROFCONFWIN_MEMCHECK); assert(confwin->memcheck == PROFCONFWIN_MEMCHECK);
ui_switch_win(window); ui_ev_focus_win(window);
ui_show_form(confwin); ui_show_form(confwin);
win_print(window, '-', NULL, 0, 0, "", ""); win_print(window, '-', NULL, 0, 0, "", "");
@ -2703,11 +2646,11 @@ ui_handle_room_config_submit_result(const char * const roomjid)
} }
if (muc_window) { if (muc_window) {
ui_switch_win((ProfWin*)muc_window); ui_ev_focus_win((ProfWin*)muc_window);
win_print(muc_window, '!', NULL, 0, THEME_ROOMINFO, "", "Room configuration successful"); win_print(muc_window, '!', NULL, 0, THEME_ROOMINFO, "", "Room configuration successful");
} else { } else {
ProfWin *console = wins_get_console(); ProfWin *console = wins_get_console();
ui_switch_win(console); ui_ev_focus_win(console);
cons_show("Room configuration successful: %s", roomjid); cons_show("Room configuration successful: %s", roomjid);
} }
} else { } else {

View File

@ -455,9 +455,7 @@ _go_to_win(int i)
{ {
ProfWin *window = wins_get_by_num(i); ProfWin *window = wins_get_by_num(i);
if (window) { if (window) {
if (!wins_is_current(window)) { ui_ev_focus_win(window);
ui_ev_focus_win(window);
}
} }
} }
@ -534,14 +532,20 @@ _inp_rl_win0_handler(int count, int key)
static int static int
_inp_rl_altleft_handler(int count, int key) _inp_rl_altleft_handler(int count, int key)
{ {
ui_previous_win(); ProfWin *window = wins_get_previous();
if (window) {
ui_ev_focus_win(window);
}
return 0; return 0;
} }
static int static int
_inp_rl_altright_handler(int count, int key) _inp_rl_altright_handler(int count, int key)
{ {
ui_next_win(); ProfWin *window = wins_get_next();
if (window) {
ui_ev_focus_win(window);
}
return 0; return 0;
} }

View File

@ -60,8 +60,6 @@ void ui_redraw(void);
void ui_resize(void); void ui_resize(void);
GSList* ui_get_chat_recipients(void); GSList* ui_get_chat_recipients(void);
void ui_switch_win(ProfWin *window); void ui_switch_win(ProfWin *window);
void ui_next_win(void);
void ui_previous_win(void);
void ui_sigwinch_handler(int sig); void ui_sigwinch_handler(int sig);
void ui_gone_secure(const char * const barejid, gboolean trusted); void ui_gone_secure(const char * const barejid, gboolean trusted);

View File

@ -53,6 +53,7 @@
#include "ui/statusbar.h" #include "ui/statusbar.h"
#include "ui/window.h" #include "ui/window.h"
#include "ui/windows.h" #include "ui/windows.h"
#include "event/ui_events.h"
static GHashTable *windows; static GHashTable *windows;
static int current; static int current;
@ -661,7 +662,7 @@ wins_swap(int source_win, int target_win)
} }
if (wins_get_current_num() == source_win) { if (wins_get_current_num() == source_win) {
wins_set_current_by_num(target_win); wins_set_current_by_num(target_win);
ui_switch_win(console); ui_ev_focus_win(console);
} }
return TRUE; return TRUE;
@ -682,7 +683,7 @@ wins_swap(int source_win, int target_win)
status_bar_active(source_win); status_bar_active(source_win);
} }
if ((wins_get_current_num() == source_win) || (wins_get_current_num() == target_win)) { if ((wins_get_current_num() == source_win) || (wins_get_current_num() == target_win)) {
ui_switch_win(console); ui_ev_focus_win(console);
} }
return TRUE; return TRUE;
} }
@ -742,7 +743,7 @@ wins_tidy(void)
windows = new_windows; windows = new_windows;
current = 1; current = 1;
ProfWin *console = wins_get_console(); ProfWin *console = wins_get_console();
ui_switch_win(console); ui_ev_focus_win(console);
g_list_free(keys); g_list_free(keys);
return TRUE; return TRUE;
} else { } else {

View File

@ -66,9 +66,6 @@ GSList* ui_get_chat_recipients(void)
void ui_switch_win(ProfWin *win) {} void ui_switch_win(ProfWin *win) {}
void ui_next_win(void) {}
void ui_previous_win(void) {}
void ui_gone_secure(const char * const barejid, gboolean trusted) {} void ui_gone_secure(const char * const barejid, gboolean trusted) {}
void ui_gone_insecure(const char * const barejid) {} void ui_gone_insecure(const char * const barejid) {}
void ui_trust(const char * const barejid) {} void ui_trust(const char * const barejid) {}