mirror of
https://github.com/profanity-im/profanity.git
synced 2024-11-03 19:37:16 -05:00
Removed ui_win_switch_num
This commit is contained in:
parent
20555fcb36
commit
d68fb25dde
@ -80,7 +80,6 @@ tests_sources = \
|
||||
tests/test_cmd_roster.c tests/test_cmd_roster.h \
|
||||
tests/test_cmd_statuses.c tests/test_cmd_statuses.h \
|
||||
tests/test_cmd_sub.c tests/test_cmd_sub.h \
|
||||
tests/test_cmd_win.c tests/test_cmd_win.h \
|
||||
tests/test_cmd_disconnect.c tests/test_cmd_disconnect.h \
|
||||
tests/test_common.c tests/test_common.h \
|
||||
tests/test_contact.c tests/test_contact.h \
|
||||
|
@ -722,10 +722,16 @@ gboolean
|
||||
cmd_win(gchar **args, struct cmd_help_t help)
|
||||
{
|
||||
int num = atoi(args[0]);
|
||||
gboolean switched = ui_switch_win_num(num);
|
||||
if (switched == FALSE) {
|
||||
|
||||
ProfWin *window = wins_get_by_num(num);
|
||||
if (!window) {
|
||||
cons_show("Window %d does not exist.", num);
|
||||
} else {
|
||||
if (!wins_is_current(window)) {
|
||||
ui_ev_focus_win(window);
|
||||
}
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@ -2453,12 +2459,11 @@ cmd_form(gchar **args, struct cmd_help_t help)
|
||||
cmd_autocomplete_remove_form_fields(confwin->form);
|
||||
}
|
||||
wins_close_current();
|
||||
ProfWin *current = (ProfWin*)wins_get_muc(confwin->roomjid);
|
||||
if (current == NULL) {
|
||||
current = wins_get_console();
|
||||
ProfWin *new_current = (ProfWin*)wins_get_muc(confwin->roomjid);
|
||||
if (!new_current) {
|
||||
new_current = wins_get_console();
|
||||
}
|
||||
int num = wins_get_num(current);
|
||||
ui_switch_win_num(num);
|
||||
ui_ev_focus_win(new_current);
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
@ -2764,9 +2769,8 @@ cmd_room(gchar **args, struct cmd_help_t help)
|
||||
if (g_strcmp0(args[0], "config") == 0) {
|
||||
ProfMucConfWin *confwin = wins_get_muc_conf(mucwin->roomjid);
|
||||
|
||||
if (confwin != NULL) {
|
||||
num = wins_get_num(window);
|
||||
ui_switch_win_num(num);
|
||||
if (confwin) {
|
||||
ui_ev_focus_win((ProfWin*)confwin);
|
||||
} else {
|
||||
iq_request_room_config_form(mucwin->roomjid);
|
||||
}
|
||||
|
113
src/ui/core.c
113
src/ui/core.c
@ -865,46 +865,32 @@ ui_win_has_unsaved_form(int num)
|
||||
}
|
||||
}
|
||||
|
||||
gboolean
|
||||
ui_switch_win(ProfWin *win)
|
||||
void
|
||||
ui_switch_win(ProfWin *window)
|
||||
{
|
||||
assert(win != NULL);
|
||||
int num = wins_get_num(win);
|
||||
return ui_switch_win_num(num);
|
||||
}
|
||||
assert(window != NULL);
|
||||
|
||||
gboolean
|
||||
ui_switch_win_num(const int i)
|
||||
{
|
||||
ProfWin *window = wins_get_by_num(i);
|
||||
if (window) {
|
||||
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_by_num(i);
|
||||
if (new_current->type == WIN_MUC_CONFIG) {
|
||||
ProfMucConfWin *confwin = (ProfMucConfWin*)new_current;
|
||||
cmd_autocomplete_add_form_fields(confwin->form);
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
return TRUE;
|
||||
} else {
|
||||
return FALSE;
|
||||
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);
|
||||
}
|
||||
|
||||
if (window->type == WIN_MUC_CONFIG) {
|
||||
ProfMucConfWin *confwin = (ProfMucConfWin*)window;
|
||||
cmd_autocomplete_add_form_fields(confwin->form);
|
||||
}
|
||||
|
||||
int i = wins_get_num(window);
|
||||
wins_set_current_by_num(i);
|
||||
|
||||
if (i == 1) {
|
||||
title_bar_console();
|
||||
} else {
|
||||
title_bar_switch();
|
||||
}
|
||||
status_bar_current(i);
|
||||
status_bar_active(i);
|
||||
}
|
||||
|
||||
void
|
||||
@ -1359,34 +1345,25 @@ void
|
||||
ui_new_private_win(const char * const fulljid)
|
||||
{
|
||||
ProfWin *window = (ProfWin*)wins_get_private(fulljid);
|
||||
int num = 0;
|
||||
|
||||
// create new window
|
||||
if (window == NULL) {
|
||||
if (!window) {
|
||||
window = wins_new_private(fulljid);
|
||||
num = wins_get_num(window);
|
||||
} else {
|
||||
num = wins_get_num(window);
|
||||
}
|
||||
|
||||
ui_switch_win_num(num);
|
||||
ui_switch_win(window);
|
||||
}
|
||||
|
||||
void
|
||||
ui_create_xmlconsole_win(void)
|
||||
{
|
||||
ProfWin *window = wins_new_xmlconsole();
|
||||
int num = wins_get_num(window);
|
||||
ui_switch_win_num(num);
|
||||
ui_switch_win(window);
|
||||
}
|
||||
|
||||
void
|
||||
ui_open_xmlconsole_win(void)
|
||||
{
|
||||
ProfXMLWin *xmlwin = wins_get_xmlconsole();
|
||||
if (xmlwin != NULL) {
|
||||
int num = wins_get_num((ProfWin*)xmlwin);
|
||||
ui_switch_win_num(num);
|
||||
if (xmlwin) {
|
||||
ui_switch_win((ProfWin*)xmlwin);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1453,30 +1430,19 @@ void
|
||||
ui_outgoing_private_msg(const char * const fulljid, const char * const message)
|
||||
{
|
||||
ProfWin *window = (ProfWin*)wins_get_private(fulljid);
|
||||
int num = 0;
|
||||
|
||||
// create new window
|
||||
if (window == NULL) {
|
||||
if (!window) {
|
||||
window = wins_new_private(fulljid);
|
||||
num = wins_get_num(window);
|
||||
|
||||
// use existing window
|
||||
} else {
|
||||
num = wins_get_num(window);
|
||||
}
|
||||
|
||||
win_print(window, '-', NULL, 0, THEME_TEXT_ME, "me", message);
|
||||
ui_switch_win_num(num);
|
||||
ui_switch_win(window);
|
||||
}
|
||||
|
||||
void
|
||||
ui_room_join(const char * const roomjid, gboolean focus)
|
||||
{
|
||||
ProfWin *window = (ProfWin*)wins_get_muc(roomjid);
|
||||
int num = 0;
|
||||
|
||||
// create new window
|
||||
if (window == NULL) {
|
||||
if (!window) {
|
||||
window = wins_new_muc(roomjid);
|
||||
}
|
||||
|
||||
@ -1494,11 +1460,11 @@ ui_room_join(const char * const roomjid, gboolean focus)
|
||||
}
|
||||
win_print(window, '!', NULL, NO_DATE, THEME_ROOMINFO, "", "");
|
||||
|
||||
num = wins_get_num(window);
|
||||
|
||||
if (focus) {
|
||||
ui_switch_win_num(num);
|
||||
ui_switch_win(window);
|
||||
} else {
|
||||
int num = wins_get_num(window);
|
||||
status_bar_active(num);
|
||||
ProfWin *console = wins_get_console();
|
||||
char *nick = muc_nick(roomjid);
|
||||
@ -1510,8 +1476,7 @@ void
|
||||
ui_switch_to_room(const char * const roomjid)
|
||||
{
|
||||
ProfWin *window = (ProfWin*)wins_get_muc(roomjid);
|
||||
int num = wins_get_num(window);
|
||||
ui_switch_win_num(num);
|
||||
ui_switch_win(window);
|
||||
}
|
||||
|
||||
void
|
||||
@ -2683,9 +2648,7 @@ ui_handle_room_configuration(const char * const roomjid, DataForm *form)
|
||||
ProfMucConfWin *confwin = (ProfMucConfWin*)window;
|
||||
assert(confwin->memcheck == PROFCONFWIN_MEMCHECK);
|
||||
|
||||
int num = wins_get_num(window);
|
||||
ui_switch_win_num(num);
|
||||
|
||||
ui_switch_win(window);
|
||||
ui_show_form(confwin);
|
||||
|
||||
win_print(window, '-', NULL, 0, 0, "", "");
|
||||
@ -2740,11 +2703,11 @@ ui_handle_room_config_submit_result(const char * const roomjid)
|
||||
}
|
||||
|
||||
if (muc_window) {
|
||||
int num = wins_get_num(muc_window);
|
||||
ui_switch_win_num(num);
|
||||
ui_switch_win((ProfWin*)muc_window);
|
||||
win_print(muc_window, '!', NULL, 0, THEME_ROOMINFO, "", "Room configuration successful");
|
||||
} else {
|
||||
ui_switch_win_num(1);
|
||||
ProfWin *console = wins_get_console();
|
||||
ui_switch_win(console);
|
||||
cons_show("Room configuration successful: %s", roomjid);
|
||||
}
|
||||
} else {
|
||||
|
@ -63,6 +63,7 @@
|
||||
#include "ui/statusbar.h"
|
||||
#include "ui/inputwin.h"
|
||||
#include "ui/windows.h"
|
||||
#include "event/ui_events.h"
|
||||
#include "xmpp/xmpp.h"
|
||||
|
||||
static WINDOW *inp_win;
|
||||
@ -449,73 +450,84 @@ _inp_rl_tab_handler(int count, int key)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void
|
||||
_go_to_win(int i)
|
||||
{
|
||||
ProfWin *window = wins_get_by_num(i);
|
||||
if (window) {
|
||||
if (!wins_is_current(window)) {
|
||||
ui_ev_focus_win(window);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static int
|
||||
_inp_rl_win1_handler(int count, int key)
|
||||
{
|
||||
ui_switch_win_num(1);
|
||||
_go_to_win(1);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
_inp_rl_win2_handler(int count, int key)
|
||||
{
|
||||
ui_switch_win_num(2);
|
||||
_go_to_win(2);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
_inp_rl_win3_handler(int count, int key)
|
||||
{
|
||||
ui_switch_win_num(3);
|
||||
_go_to_win(3);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
_inp_rl_win4_handler(int count, int key)
|
||||
{
|
||||
ui_switch_win_num(4);
|
||||
_go_to_win(4);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
_inp_rl_win5_handler(int count, int key)
|
||||
{
|
||||
ui_switch_win_num(5);
|
||||
_go_to_win(5);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
_inp_rl_win6_handler(int count, int key)
|
||||
{
|
||||
ui_switch_win_num(6);
|
||||
_go_to_win(6);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
_inp_rl_win7_handler(int count, int key)
|
||||
{
|
||||
ui_switch_win_num(7);
|
||||
_go_to_win(7);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
_inp_rl_win8_handler(int count, int key)
|
||||
{
|
||||
ui_switch_win_num(8);
|
||||
_go_to_win(8);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
_inp_rl_win9_handler(int count, int key)
|
||||
{
|
||||
ui_switch_win_num(9);
|
||||
_go_to_win(9);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
_inp_rl_win0_handler(int count, int key)
|
||||
{
|
||||
ui_switch_win_num(0);
|
||||
_go_to_win(0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -59,8 +59,7 @@ void ui_close(void);
|
||||
void ui_redraw(void);
|
||||
void ui_resize(void);
|
||||
GSList* ui_get_chat_recipients(void);
|
||||
gboolean ui_switch_win_num(const int i);
|
||||
gboolean ui_switch_win(ProfWin *win);
|
||||
void ui_switch_win(ProfWin *window);
|
||||
void ui_next_win(void);
|
||||
void ui_previous_win(void);
|
||||
void ui_sigwinch_handler(int sig);
|
||||
|
@ -644,6 +644,7 @@ gboolean
|
||||
wins_swap(int source_win, int target_win)
|
||||
{
|
||||
ProfWin *source = g_hash_table_lookup(windows, GINT_TO_POINTER(source_win));
|
||||
ProfWin *console = wins_get_console();
|
||||
|
||||
if (source) {
|
||||
ProfWin *target = g_hash_table_lookup(windows, GINT_TO_POINTER(target_win));
|
||||
@ -660,7 +661,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_num(1);
|
||||
ui_switch_win(console);
|
||||
}
|
||||
return TRUE;
|
||||
|
||||
@ -681,7 +682,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_num(1);
|
||||
ui_switch_win(console);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
@ -740,7 +741,8 @@ wins_tidy(void)
|
||||
|
||||
windows = new_windows;
|
||||
current = 1;
|
||||
ui_switch_win_num(1);
|
||||
ProfWin *console = wins_get_console();
|
||||
ui_switch_win(console);
|
||||
g_list_free(keys);
|
||||
return TRUE;
|
||||
} else {
|
||||
|
@ -1,41 +0,0 @@
|
||||
#include <stdarg.h>
|
||||
#include <stddef.h>
|
||||
#include <setjmp.h>
|
||||
#include <cmocka.h>
|
||||
#include <stdlib.h>
|
||||
#include <glib.h>
|
||||
|
||||
#include "ui/ui.h"
|
||||
#include "ui/stub_ui.h"
|
||||
|
||||
#include "command/commands.h"
|
||||
|
||||
void cmd_win_shows_message_when_win_doesnt_exist(void **state)
|
||||
{
|
||||
CommandHelp *help = malloc(sizeof(CommandHelp));
|
||||
gchar *args[] = { "3", NULL };
|
||||
|
||||
expect_value(ui_switch_win_num, i, 3);
|
||||
will_return(ui_switch_win_num, FALSE);
|
||||
|
||||
expect_cons_show("Window 3 does not exist.");
|
||||
|
||||
gboolean result = cmd_win(args, *help);
|
||||
assert_true(result);
|
||||
|
||||
free(help);
|
||||
}
|
||||
|
||||
void cmd_win_switches_to_given_win_when_exists(void **state)
|
||||
{
|
||||
CommandHelp *help = malloc(sizeof(CommandHelp));
|
||||
gchar *args[] = { "12", NULL };
|
||||
|
||||
expect_value(ui_switch_win_num, i, 12);
|
||||
will_return(ui_switch_win_num, TRUE);
|
||||
|
||||
gboolean result = cmd_win(args, *help);
|
||||
assert_true(result);
|
||||
|
||||
free(help);
|
||||
}
|
@ -1,2 +0,0 @@
|
||||
void cmd_win_shows_message_when_win_doesnt_exist(void **state);
|
||||
void cmd_win_switches_to_given_win_when_exists(void **state);
|
@ -31,7 +31,6 @@
|
||||
#include "test_cmd_join.h"
|
||||
#include "test_muc.h"
|
||||
#include "test_cmd_roster.h"
|
||||
#include "test_cmd_win.h"
|
||||
#include "test_cmd_disconnect.h"
|
||||
#include "test_form.h"
|
||||
|
||||
@ -586,9 +585,6 @@ int main(int argc, char* argv[]) {
|
||||
unit_test(cmd_roster_clearnick_shows_message_when_no_contact_exists),
|
||||
unit_test(cmd_roster_clearnick_sends_name_change_request_with_empty_nick),
|
||||
|
||||
unit_test(cmd_win_shows_message_when_win_doesnt_exist),
|
||||
unit_test(cmd_win_switches_to_given_win_when_exists),
|
||||
|
||||
unit_test(get_form_type_field_returns_null_no_fields),
|
||||
unit_test(get_form_type_field_returns_null_when_not_present),
|
||||
unit_test(get_form_type_field_returns_value_when_present),
|
||||
|
@ -64,17 +64,7 @@ GSList* ui_get_chat_recipients(void)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
gboolean ui_switch_win(ProfWin *win)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
gboolean ui_switch_win_num(const int i)
|
||||
{
|
||||
check_expected(i);
|
||||
return (gboolean)mock();
|
||||
return FALSE;
|
||||
}
|
||||
void ui_switch_win(ProfWin *win) {}
|
||||
|
||||
void ui_next_win(void) {}
|
||||
void ui_previous_win(void) {}
|
||||
|
Loading…
Reference in New Issue
Block a user