1
0
mirror of https://github.com/profanity-im/profanity.git synced 2024-09-29 19:56:07 -04: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) {
cons_show("Window %d does not exist.", num);
} else {
if (!wins_is_current(window)) {
ui_ev_focus_win(window);
}
ui_ev_focus_win(window);
}
return TRUE;
@ -1348,9 +1346,7 @@ cmd_msg(gchar **args, struct cmd_help_t help)
if (!chatwin) {
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) {
cl_ev_send_msg(chatwin, msg);
@ -4241,9 +4237,7 @@ cmd_otr(gchar **args, struct cmd_help_t help)
if (!chatwin) {
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()) {
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/windows.h"
void
ui_ev_focus_win(ProfWin *win)
{
ui_switch_win(win);
if (!wins_is_current(win)) {
ui_switch_win(win);
}
}
ProfChatWin*

View File

@ -74,6 +74,7 @@
#include "ui/window.h"
#include "ui/windows.h"
#include "xmpp/xmpp.h"
#include "event/ui_events.h"
static char *win_title;
@ -893,64 +894,6 @@ ui_switch_win(ProfWin *window)
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
ui_gone_secure(const char * const barejid, gboolean trusted)
{
@ -1348,14 +1291,14 @@ ui_new_private_win(const char * const fulljid)
if (!window) {
window = wins_new_private(fulljid);
}
ui_switch_win(window);
ui_ev_focus_win(window);
}
void
ui_create_xmlconsole_win(void)
{
ProfWin *window = wins_new_xmlconsole();
ui_switch_win(window);
ui_ev_focus_win(window);
}
void
@ -1363,7 +1306,7 @@ ui_open_xmlconsole_win(void)
{
ProfXMLWin *xmlwin = wins_get_xmlconsole();
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);
ui_switch_win(window);
ui_ev_focus_win(window);
}
void
@ -1462,7 +1405,7 @@ ui_room_join(const char * const roomjid, gboolean focus)
if (focus) {
ui_switch_win(window);
ui_ev_focus_win(window);
} else {
int num = wins_get_num(window);
status_bar_active(num);
@ -1476,7 +1419,7 @@ void
ui_switch_to_room(const char * const roomjid)
{
ProfWin *window = (ProfWin*)wins_get_muc(roomjid);
ui_switch_win(window);
ui_ev_focus_win(window);
}
void
@ -2648,7 +2591,7 @@ ui_handle_room_configuration(const char * const roomjid, DataForm *form)
ProfMucConfWin *confwin = (ProfMucConfWin*)window;
assert(confwin->memcheck == PROFCONFWIN_MEMCHECK);
ui_switch_win(window);
ui_ev_focus_win(window);
ui_show_form(confwin);
win_print(window, '-', NULL, 0, 0, "", "");
@ -2703,11 +2646,11 @@ ui_handle_room_config_submit_result(const char * const roomjid)
}
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");
} else {
ProfWin *console = wins_get_console();
ui_switch_win(console);
ui_ev_focus_win(console);
cons_show("Room configuration successful: %s", roomjid);
}
} else {

View File

@ -455,9 +455,7 @@ _go_to_win(int i)
{
ProfWin *window = wins_get_by_num(i);
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
_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;
}
static int
_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;
}

View File

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

View File

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

View File

@ -66,9 +66,6 @@ GSList* ui_get_chat_recipients(void)
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_insecure(const char * const barejid) {}
void ui_trust(const char * const barejid) {}