From 732533ee5ab58a6f0da2d90423d54e9e4520db04 Mon Sep 17 00:00:00 2001 From: James Booth Date: Mon, 15 Jun 2015 17:11:11 +0100 Subject: I removed ncurses header dependencies, removed unused code --- src/ui/window.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src/ui/window.h') diff --git a/src/ui/window.h b/src/ui/window.h index 06fbf7b5..e4d9ca33 100644 --- a/src/ui/window.h +++ b/src/ui/window.h @@ -39,18 +39,18 @@ #include -#ifdef HAVE_NCURSESW_NCURSES_H -#include -#elif HAVE_NCURSES_H -#include -#endif - #include "contact.h" #include "muc.h" #include "ui/buffer.h" #include "xmpp/xmpp.h" #include "chat_state.h" +#ifdef HAVE_NCURSESW_NCURSES_H +#include +#elif HAVE_NCURSES_H +#include +#endif + #define NO_ME 1 #define NO_DATE 2 #define NO_EOL 4 -- cgit 1.4.1-2-gfad0 From a849b200b368a74da18291e875b3e6d37ea729f2 Mon Sep 17 00:00:00 2001 From: James Booth Date: Mon, 15 Jun 2015 17:54:47 +0100 Subject: Added win_clear() function --- src/command/commands.c | 3 ++- src/ui/core.c | 6 ------ src/ui/inputwin.c | 3 ++- src/ui/ui.h | 1 - src/ui/window.c | 7 +++++++ src/ui/window.h | 2 ++ src/ui/windows.c | 8 -------- src/ui/windows.h | 1 - 8 files changed, 13 insertions(+), 18 deletions(-) (limited to 'src/ui/window.h') diff --git a/src/command/commands.c b/src/command/commands.c index 5d0f7a16..28cba7d7 100644 --- a/src/command/commands.c +++ b/src/command/commands.c @@ -3229,7 +3229,8 @@ cmd_tiny(gchar **args, struct cmd_help_t help) gboolean cmd_clear(gchar **args, struct cmd_help_t help) { - ui_clear_current(); + ProfWin *win = wins_get_current(); + win_clear(win); return TRUE; } diff --git a/src/ui/core.c b/src/ui/core.c index 3b29c094..e2efcb55 100644 --- a/src/ui/core.c +++ b/src/ui/core.c @@ -1082,12 +1082,6 @@ ui_untrust(const char * const barejid) } } -void -ui_clear_current(void) -{ - wins_clear_current(); -} - void ui_close_win(int index) { diff --git a/src/ui/inputwin.c b/src/ui/inputwin.c index caea8ea9..6ef829a7 100644 --- a/src/ui/inputwin.c +++ b/src/ui/inputwin.c @@ -422,7 +422,8 @@ _inp_rl_getc(FILE *stream) static int _inp_rl_clear_handler(int count, int key) { - ui_clear_current(); + ProfWin *win = wins_get_current(); + win_clear(win); return 0; } diff --git a/src/ui/ui.h b/src/ui/ui.h index 7a2c956b..8e5ca6ab 100644 --- a/src/ui/ui.h +++ b/src/ui/ui.h @@ -88,7 +88,6 @@ int ui_close_all_wins(void); int ui_close_read_wins(void); // current window actions -void ui_clear_current(void); win_type_t ui_current_win_type(void); gboolean ui_current_win_is_otr(void); diff --git a/src/ui/window.c b/src/ui/window.c index 95b5e996..d6446ff1 100644 --- a/src/ui/window.c +++ b/src/ui/window.c @@ -458,6 +458,13 @@ win_sub_page_up(ProfWin *window) } } +void +win_clear(ProfWin *window) +{ + werase(window->layout->win); + win_update_virtual(window); +} + void win_mouse(ProfWin *window, const wint_t ch, const int result) { diff --git a/src/ui/window.h b/src/ui/window.h index e4d9ca33..8e5d17e8 100644 --- a/src/ui/window.h +++ b/src/ui/window.h @@ -192,6 +192,8 @@ void win_mark_received(ProfWin *window, const char * const id); int win_unread(ProfWin *window); gboolean win_has_active_subwin(ProfWin *window); +void win_clear(ProfWin *window); + void win_page_up(ProfWin *window); void win_page_down(ProfWin *window); void win_sub_page_down(ProfWin *window); diff --git a/src/ui/windows.c b/src/ui/windows.c index f3f6967b..cb0f00de 100644 --- a/src/ui/windows.c +++ b/src/ui/windows.c @@ -378,14 +378,6 @@ wins_close_by_num(int i) } } -void -wins_clear_current(void) -{ - ProfWin *window = wins_get_current(); - werase(window->layout->win); - win_update_virtual(window); -} - gboolean wins_is_current(ProfWin *window) { diff --git a/src/ui/windows.h b/src/ui/windows.h index 4cc527ca..4c753c03 100644 --- a/src/ui/windows.h +++ b/src/ui/windows.h @@ -68,7 +68,6 @@ int wins_get_num(ProfWin *window); int wins_get_current_num(void); void wins_close_current(void); void wins_close_by_num(int i); -void wins_clear_current(void); gboolean wins_is_current(ProfWin *window); int wins_get_total_unread(void); void wins_resize_all(void); -- cgit 1.4.1-2-gfad0 From 989dde77cd545ea4cfdf23fbcd445eb121f4ae33 Mon Sep 17 00:00:00 2001 From: James Booth Date: Mon, 15 Jun 2015 18:08:47 +0100 Subject: Added win_resize() function --- src/ui/window.c | 33 +++++++++++++++++++++++++++++++++ src/ui/window.h | 1 + src/ui/windows.c | 30 +----------------------------- 3 files changed, 35 insertions(+), 29 deletions(-) (limited to 'src/ui/window.h') diff --git a/src/ui/window.c b/src/ui/window.c index d6446ff1..b84755b5 100644 --- a/src/ui/window.c +++ b/src/ui/window.c @@ -465,6 +465,39 @@ win_clear(ProfWin *window) win_update_virtual(window); } +void +win_resize(ProfWin *window) +{ + int subwin_cols = 0; + int cols = getmaxx(stdscr); + + if (window->layout->type == LAYOUT_SPLIT) { + ProfLayoutSplit *layout = (ProfLayoutSplit*)window->layout; + if (layout->subwin) { + if (window->type == WIN_CONSOLE) { + subwin_cols = win_roster_cols(); + } else if (window->type == WIN_MUC) { + subwin_cols = win_occpuants_cols(); + } + wresize(layout->base.win, PAD_SIZE, cols - subwin_cols); + wresize(layout->subwin, PAD_SIZE, subwin_cols); + if (window->type == WIN_CONSOLE) { + rosterwin_roster(); + } else if (window->type == WIN_MUC) { + ProfMucWin *mucwin = (ProfMucWin *)window; + assert(mucwin->memcheck == PROFMUCWIN_MEMCHECK); + occupantswin_occupants(mucwin->roomjid); + } + } else { + wresize(layout->base.win, PAD_SIZE, cols); + } + } else { + wresize(window->layout->win, PAD_SIZE, cols); + } + + win_redraw(window); +} + void win_mouse(ProfWin *window, const wint_t ch, const int result) { diff --git a/src/ui/window.h b/src/ui/window.h index 8e5d17e8..f799b1a6 100644 --- a/src/ui/window.h +++ b/src/ui/window.h @@ -193,6 +193,7 @@ int win_unread(ProfWin *window); gboolean win_has_active_subwin(ProfWin *window); void win_clear(ProfWin *window); +void win_resize(ProfWin *window); void win_page_up(ProfWin *window); void win_page_down(ProfWin *window); diff --git a/src/ui/windows.c b/src/ui/windows.c index cb0f00de..54bdb55e 100644 --- a/src/ui/windows.c +++ b/src/ui/windows.c @@ -464,39 +464,11 @@ wins_get_total_unread(void) void wins_resize_all(void) { - int cols = getmaxx(stdscr); - GList *values = g_hash_table_get_values(windows); GList *curr = values; while (curr) { ProfWin *window = curr->data; - int subwin_cols = 0; - - if (window->layout->type == LAYOUT_SPLIT) { - ProfLayoutSplit *layout = (ProfLayoutSplit*)window->layout; - if (layout->subwin) { - if (window->type == WIN_CONSOLE) { - subwin_cols = win_roster_cols(); - } else if (window->type == WIN_MUC) { - subwin_cols = win_occpuants_cols(); - } - wresize(layout->base.win, PAD_SIZE, cols - subwin_cols); - wresize(layout->subwin, PAD_SIZE, subwin_cols); - if (window->type == WIN_CONSOLE) { - rosterwin_roster(); - } else if (window->type == WIN_MUC) { - ProfMucWin *mucwin = (ProfMucWin *)window; - assert(mucwin->memcheck == PROFMUCWIN_MEMCHECK); - occupantswin_occupants(mucwin->roomjid); - } - } else { - wresize(layout->base.win, PAD_SIZE, cols); - } - } else { - wresize(window->layout->win, PAD_SIZE, cols); - } - - win_redraw(window); + win_resize(window); curr = g_list_next(curr); } g_list_free(values); -- cgit 1.4.1-2-gfad0 From 6b44b988f4bf8b8f63e6d9261b7ae9a05635bbc8 Mon Sep 17 00:00:00 2001 From: James Booth Date: Mon, 15 Jun 2015 18:59:20 +0100 Subject: Moved refresh subwin logic to window.c --- src/ui/window.c | 31 +++++++++++++++++++++++++++++++ src/ui/window.h | 3 +++ src/ui/windows.c | 23 ++--------------------- 3 files changed, 36 insertions(+), 21 deletions(-) (limited to 'src/ui/window.h') diff --git a/src/ui/window.c b/src/ui/window.c index b84755b5..92db25fa 100644 --- a/src/ui/window.c +++ b/src/ui/window.c @@ -570,6 +570,37 @@ win_update_virtual(ProfWin *window) } } +void +win_refresh_without_subwin(ProfWin *window) +{ + int rows, cols; + getmaxyx(stdscr, rows, cols); + + if ((window->type == WIN_MUC) || (window->type == WIN_CONSOLE)) { + pnoutrefresh(window->layout->win, window->layout->y_pos, 0, 1, 0, rows-3, cols-1); + } +} + +void +win_refresh_with_subwin(ProfWin *window) +{ + int rows, cols; + getmaxyx(stdscr, rows, cols); + int subwin_cols = 0; + + if (window->type == WIN_MUC) { + ProfLayoutSplit *layout = (ProfLayoutSplit*)window->layout; + subwin_cols = win_occpuants_cols(); + pnoutrefresh(layout->base.win, layout->base.y_pos, 0, 1, 0, rows-3, (cols-subwin_cols)-1); + pnoutrefresh(layout->subwin, layout->sub_y_pos, 0, 1, (cols-subwin_cols), rows-3, cols-1); + } else if (window->type == WIN_CONSOLE) { + ProfLayoutSplit *layout = (ProfLayoutSplit*)window->layout; + subwin_cols = win_roster_cols(); + pnoutrefresh(layout->base.win, layout->base.y_pos, 0, 1, 0, rows-3, (cols-subwin_cols)-1); + pnoutrefresh(layout->subwin, layout->sub_y_pos, 0, 1, (cols-subwin_cols), rows-3, cols-1); + } +} + void win_move_to_end(ProfWin *window) { diff --git a/src/ui/window.h b/src/ui/window.h index f799b1a6..6678da07 100644 --- a/src/ui/window.h +++ b/src/ui/window.h @@ -195,6 +195,9 @@ gboolean win_has_active_subwin(ProfWin *window); void win_clear(ProfWin *window); void win_resize(ProfWin *window); +void win_refresh_without_subwin(ProfWin *window); +void win_refresh_with_subwin(ProfWin *window); + void win_page_up(ProfWin *window); void win_page_down(ProfWin *window); void win_sub_page_down(ProfWin *window); diff --git a/src/ui/windows.c b/src/ui/windows.c index 54bdb55e..6472ce0c 100644 --- a/src/ui/windows.c +++ b/src/ui/windows.c @@ -480,38 +480,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) || (current_win->type == WIN_CONSOLE)) { - pnoutrefresh(current_win->layout->win, current_win->layout->y_pos, 0, 1, 0, rows-3, cols-1); - } + win_refresh_without_subwin(current_win); } void wins_show_subwin(ProfWin *window) { - int rows, cols; - getmaxyx(stdscr, rows, cols); - int subwin_cols = 0; - win_show_subwin(window); ProfWin *current_win = wins_get_current(); - if (current_win->type == WIN_MUC) { - ProfLayoutSplit *layout = (ProfLayoutSplit*)current_win->layout; - subwin_cols = win_occpuants_cols(); - pnoutrefresh(layout->base.win, layout->base.y_pos, 0, 1, 0, rows-3, (cols-subwin_cols)-1); - pnoutrefresh(layout->subwin, layout->sub_y_pos, 0, 1, (cols-subwin_cols), rows-3, cols-1); - } else if (current_win->type == WIN_CONSOLE) { - ProfLayoutSplit *layout = (ProfLayoutSplit*)current_win->layout; - subwin_cols = win_roster_cols(); - pnoutrefresh(layout->base.win, layout->base.y_pos, 0, 1, 0, rows-3, (cols-subwin_cols)-1); - pnoutrefresh(layout->subwin, layout->sub_y_pos, 0, 1, (cols-subwin_cols), rows-3, cols-1); - } + win_refresh_with_subwin(current_win); } ProfXMLWin * -- cgit 1.4.1-2-gfad0 From 5cdd69f478e6bbd4b8b0ca03daab56e6206c3ab2 Mon Sep 17 00:00:00 2001 From: James Booth Date: Mon, 15 Jun 2015 20:11:34 +0100 Subject: Moved UI interfaces to ui.h --- Makefile.am | 4 -- src/command/commands.c | 2 +- src/otr/otr.h | 2 +- src/ui/core.c | 6 ++ src/ui/inputwin.c | 1 + src/ui/statusbar.h | 6 +- src/ui/ui.h | 141 ++++++++++++++++++++++++++++++++++++++++++- src/ui/window.h | 125 +------------------------------------- src/window_list.c | 1 - src/window_list.h | 2 +- tests/unittests/ui/stub_ui.c | 57 +++++++++++++++++ 11 files changed, 208 insertions(+), 139 deletions(-) (limited to 'src/ui/window.h') diff --git a/Makefile.am b/Makefile.am index 987a4784..a18bedcc 100644 --- a/Makefile.am +++ b/Makefile.am @@ -58,10 +58,6 @@ unittest_sources = \ src/config/preferences.c src/config/preferences.h \ src/config/theme.c src/config/theme.h \ src/window_list.c src/window_list.h \ - src/ui/window.c src/ui/window.h \ - src/ui/buffer.c \ - src/ui/titlebar.c src/ui/statusbar.c src/ui/inputwin.c \ - src/ui/titlebar.h src/ui/statusbar.h src/ui/inputwin.h \ src/event/server_events.c src/event/server_events.h \ src/event/client_events.c src/event/client_events.h \ src/event/ui_events.c src/event/ui_events.h \ diff --git a/src/command/commands.c b/src/command/commands.c index e439c198..106ef4c8 100644 --- a/src/command/commands.c +++ b/src/command/commands.c @@ -3230,7 +3230,7 @@ gboolean cmd_clear(gchar **args, struct cmd_help_t help) { ProfWin *win = wins_get_current(); - win_clear(win); + ui_clear_win(win); return TRUE; } diff --git a/src/otr/otr.h b/src/otr/otr.h index e020c0c8..3c46ac3d 100644 --- a/src/otr/otr.h +++ b/src/otr/otr.h @@ -39,7 +39,7 @@ #include #include "config/accounts.h" -#include "ui/window.h" +#include "ui/ui.h" typedef enum { PROF_OTRPOLICY_MANUAL, diff --git a/src/ui/core.c b/src/ui/core.c index 78a5e026..127405f6 100644 --- a/src/ui/core.c +++ b/src/ui/core.c @@ -2216,6 +2216,12 @@ ui_clear_win_title(void) printf("%c]0;%c", '\033', '\007'); } +void +ui_clear_win(ProfWin *window) +{ + win_clear(window); +} + void ui_goodbye_title(void) { diff --git a/src/ui/inputwin.c b/src/ui/inputwin.c index 1cbf5249..57814414 100644 --- a/src/ui/inputwin.c +++ b/src/ui/inputwin.c @@ -62,6 +62,7 @@ #include "ui/ui.h" #include "ui/statusbar.h" #include "ui/inputwin.h" +#include "ui/window.h" #include "window_list.h" #include "event/ui_events.h" #include "xmpp/xmpp.h" diff --git a/src/ui/statusbar.h b/src/ui/statusbar.h index 7d2c5ea0..c37f43f3 100644 --- a/src/ui/statusbar.h +++ b/src/ui/statusbar.h @@ -42,10 +42,6 @@ void status_bar_clear(void); void status_bar_clear_message(void); void status_bar_get_password(void); void status_bar_print_message(const char * const msg); -void status_bar_inactive(const int win); -void status_bar_active(const int win); -void status_bar_new(const int win); -void status_bar_set_all_inactive(void); void status_bar_current(int i); -#endif \ No newline at end of file +#endif diff --git a/src/ui/ui.h b/src/ui/ui.h index 8e5ca6ab..434fab24 100644 --- a/src/ui/ui.h +++ b/src/ui/ui.h @@ -38,13 +38,118 @@ #include "config.h" #include - #include +#ifdef HAVE_NCURSESW_NCURSES_H +#include +#elif HAVE_NCURSES_H +#include +#endif #include "contact.h" #include "jid.h" -#include "ui/window.h" #include "xmpp/xmpp.h" +#include "ui/buffer.h" +#include "chat_state.h" +#include "muc.h" + +#define LAYOUT_SPLIT_MEMCHECK 12345671 +#define PROFCHATWIN_MEMCHECK 22374522 +#define PROFMUCWIN_MEMCHECK 52345276 +#define PROFPRIVATEWIN_MEMCHECK 77437483 +#define PROFCONFWIN_MEMCHECK 64334685 +#define PROFXMLWIN_MEMCHECK 87333463 + +#define NO_ME 1 +#define NO_DATE 2 +#define NO_EOL 4 +#define NO_COLOUR_FROM 8 +#define NO_COLOUR_DATE 16 + +typedef enum { + LAYOUT_SIMPLE, + LAYOUT_SPLIT +} layout_type_t; + +typedef struct prof_layout_t { + layout_type_t type; + WINDOW *win; + ProfBuff buffer; + int y_pos; + int paged; +} ProfLayout; + +typedef struct prof_layout_simple_t { + ProfLayout base; +} ProfLayoutSimple; + +typedef struct prof_layout_split_t { + ProfLayout base; + WINDOW *subwin; + int sub_y_pos; + unsigned long memcheck; +} ProfLayoutSplit; + +typedef enum { + WIN_CONSOLE, + WIN_CHAT, + WIN_MUC, + WIN_MUC_CONFIG, + WIN_PRIVATE, + WIN_XML +} win_type_t; + +typedef enum { + PROF_ENC_NONE, + PROF_ENC_OTR +} prof_enc_t; + +typedef struct prof_win_t { + win_type_t type; + ProfLayout *layout; +} ProfWin; + +typedef struct prof_console_win_t { + ProfWin window; +} ProfConsoleWin; + +typedef struct prof_chat_win_t { + ProfWin window; + char *barejid; + int unread; + ChatState *state; + prof_enc_t enc_mode; + gboolean otr_is_trusted; + char *resource_override; + gboolean history_shown; + unsigned long memcheck; +} ProfChatWin; + +typedef struct prof_muc_win_t { + ProfWin window; + char *roomjid; + int unread; + gboolean showjid; + unsigned long memcheck; +} ProfMucWin; + +typedef struct prof_mucconf_win_t { + ProfWin window; + char *roomjid; + DataForm *form; + unsigned long memcheck; +} ProfMucConfWin; + +typedef struct prof_private_win_t { + ProfWin window; + char *fulljid; + int unread; + unsigned long memcheck; +} ProfPrivateWin; + +typedef struct prof_xml_win_t { + ProfWin window; + unsigned long memcheck; +} ProfXMLWin; // ui startup and control void ui_init(void); @@ -218,6 +323,7 @@ void ui_page_up(void); void ui_page_down(void); void ui_subwin_page_up(void); void ui_subwin_page_down(void); +void ui_clear_win(ProfWin *window); void ui_auto_away(void); void ui_end_auto_away(void); @@ -326,12 +432,43 @@ void cons_show_contact_online(PContact contact, Resource *resource, GDateTime *l void cons_show_contact_offline(PContact contact, char *resource, char *status); void cons_theme_colours(void); +// status bar +void status_bar_inactive(const int win); +void status_bar_active(const int win); +void status_bar_new(const int win); +void status_bar_set_all_inactive(void); + // roster window void rosterwin_roster(void); // occupants window void occupantswin_occupants(const char * const room); +// window interface +ProfWin* win_create_console(void); +ProfWin* win_create_xmlconsole(void); +ProfWin* win_create_chat(const char * const barejid); +ProfWin* win_create_muc(const char * const roomjid); +ProfWin* win_create_muc_config(const char * const title, DataForm *form); +ProfWin* win_create_private(const char * const fulljid); + +void win_update_virtual(ProfWin *window); +void win_free(ProfWin *window); +int win_unread(ProfWin *window); +void win_resize(ProfWin *window); +void win_hide_subwin(ProfWin *window); +void win_show_subwin(ProfWin *window); +void win_refresh_without_subwin(ProfWin *window); +void win_refresh_with_subwin(ProfWin *window); +void win_print(ProfWin *window, const char show_char, GTimeVal *tstamp, int flags, theme_item_t theme_item, const char * const from, const char * const message); +void win_vprint(ProfWin *window, const char show_char, GTimeVal *tstamp, int flags, theme_item_t theme_item, const char * const from, const char * const message, ...); +char* win_get_title(ProfWin *window); +void win_show_occupant(ProfWin *window, Occupant *occupant); +void win_show_occupant_info(ProfWin *window, const char * const room, Occupant *occupant); +void win_show_contact(ProfWin *window, PContact contact); +void win_show_info(ProfWin *window, PContact contact); +void win_println(ProfWin *window, const char * const message); + // desktop notifier actions void notifier_initialise(void); void notifier_uninit(void); diff --git a/src/ui/window.h b/src/ui/window.h index 6678da07..4b11ade0 100644 --- a/src/ui/window.h +++ b/src/ui/window.h @@ -41,6 +41,7 @@ #include "contact.h" #include "muc.h" +#include "ui/ui.h" #include "ui/buffer.h" #include "xmpp/xmpp.h" #include "chat_state.h" @@ -51,152 +52,28 @@ #include #endif -#define NO_ME 1 -#define NO_DATE 2 -#define NO_EOL 4 -#define NO_COLOUR_FROM 8 -#define NO_COLOUR_DATE 16 - #define PAD_SIZE 1000 -#define LAYOUT_SPLIT_MEMCHECK 12345671 -#define PROFCHATWIN_MEMCHECK 22374522 -#define PROFMUCWIN_MEMCHECK 52345276 -#define PROFPRIVATEWIN_MEMCHECK 77437483 -#define PROFCONFWIN_MEMCHECK 64334685 -#define PROFXMLWIN_MEMCHECK 87333463 - -typedef enum { - LAYOUT_SIMPLE, - LAYOUT_SPLIT -} layout_type_t; - -typedef struct prof_layout_t { - layout_type_t type; - WINDOW *win; - ProfBuff buffer; - int y_pos; - int paged; -} ProfLayout; - -typedef struct prof_layout_simple_t { - ProfLayout base; -} ProfLayoutSimple; - -typedef struct prof_layout_split_t { - ProfLayout base; - WINDOW *subwin; - int sub_y_pos; - unsigned long memcheck; -} ProfLayoutSplit; - -typedef enum { - WIN_CONSOLE, - WIN_CHAT, - WIN_MUC, - WIN_MUC_CONFIG, - WIN_PRIVATE, - WIN_XML -} win_type_t; - -typedef enum { - PROF_ENC_NONE, - PROF_ENC_OTR -} prof_enc_t; - -typedef struct prof_win_t { - win_type_t type; - ProfLayout *layout; -} ProfWin; - -typedef struct prof_console_win_t { - ProfWin window; -} ProfConsoleWin; - -typedef struct prof_chat_win_t { - ProfWin window; - char *barejid; - int unread; - ChatState *state; - prof_enc_t enc_mode; - gboolean otr_is_trusted; - char *resource_override; - gboolean history_shown; - unsigned long memcheck; -} ProfChatWin; - -typedef struct prof_muc_win_t { - ProfWin window; - char *roomjid; - int unread; - gboolean showjid; - unsigned long memcheck; -} ProfMucWin; - -typedef struct prof_mucconf_win_t { - ProfWin window; - char *roomjid; - DataForm *form; - unsigned long memcheck; -} ProfMucConfWin; - -typedef struct prof_private_win_t { - ProfWin window; - char *fulljid; - int unread; - unsigned long memcheck; -} ProfPrivateWin; - -typedef struct prof_xml_win_t { - ProfWin window; - unsigned long memcheck; -} ProfXMLWin; - -ProfWin* win_create_console(void); -ProfWin* win_create_chat(const char * const barejid); -ProfWin* win_create_muc(const char * const roomjid); -ProfWin* win_create_muc_config(const char * const title, DataForm *form); -ProfWin* win_create_private(const char * const fulljid); -ProfWin* win_create_xmlconsole(void); - -char *win_get_title(ProfWin *window); - -void win_free(ProfWin *window); -void win_update_virtual(ProfWin *window); void win_move_to_end(ProfWin *window); -void win_show_contact(ProfWin *window, PContact contact); -void win_show_occupant(ProfWin *window, Occupant *occupant); void win_show_status_string(ProfWin *window, const char * const from, const char * const show, const char * const status, GDateTime *last_activity, const char * const pre, const char * const default_show); void win_print_incoming_message(ProfWin *window, GTimeVal *tv_stamp, const char * const from, const char * const message); -void win_show_info(ProfWin *window, PContact contact); -void win_show_occupant_info(ProfWin *window, const char * const room, Occupant *occupant); -void win_vprint(ProfWin *window, const char show_char, GTimeVal *tstamp, int flags, theme_item_t theme_item, const char * const from, const char * const message, ...); -void win_print(ProfWin *window, const char show_char, GTimeVal *tstamp, int flags, theme_item_t theme_item, const char * const from, const char * const message); void win_print_with_receipt(ProfWin *window, const char show_char, GTimeVal *tstamp, int flags, theme_item_t theme_item, const char * const from, const char * const message, char *id); -void win_println(ProfWin *window, const char * const message); void win_newline(ProfWin *window); void win_redraw(ProfWin *window); -void win_hide_subwin(ProfWin *window); -void win_show_subwin(ProfWin *window); int win_roster_cols(void); int win_occpuants_cols(void); void win_printline_nowrap(WINDOW *win, char *msg); void win_mouse(ProfWin *current, const wint_t ch, const int result); void win_mark_received(ProfWin *window, const char * const id); -int win_unread(ProfWin *window); gboolean win_has_active_subwin(ProfWin *window); void win_clear(ProfWin *window); -void win_resize(ProfWin *window); - -void win_refresh_without_subwin(ProfWin *window); -void win_refresh_with_subwin(ProfWin *window); void win_page_up(ProfWin *window); void win_page_down(ProfWin *window); diff --git a/src/window_list.c b/src/window_list.c index 40bc30e2..ff040d63 100644 --- a/src/window_list.c +++ b/src/window_list.c @@ -45,7 +45,6 @@ #include "config/theme.h" #include "ui/ui.h" #include "ui/statusbar.h" -#include "ui/window.h" #include "window_list.h" #include "event/ui_events.h" diff --git a/src/window_list.h b/src/window_list.h index 48910461..8e8e72eb 100644 --- a/src/window_list.h +++ b/src/window_list.h @@ -35,7 +35,7 @@ #ifndef WINDOW_LIST_H #define WINDOW_LIST_H -#include "ui/window.h" +#include "ui/ui.h" void wins_init(void); diff --git a/tests/unittests/ui/stub_ui.c b/tests/unittests/ui/stub_ui.c index 1289aa4b..c94e17fd 100644 --- a/tests/unittests/ui/stub_ui.c +++ b/tests/unittests/ui/stub_ui.c @@ -176,6 +176,7 @@ void ui_page_up(void) {} void ui_page_down(void) {} void ui_subwin_page_up(void) {} void ui_subwin_page_down(void) {} +void ui_clear_win(ProfWin *window) {} char * ui_ask_password(void) { @@ -493,12 +494,68 @@ void cons_show_contact_online(PContact contact, Resource *resource, GDateTime *l void cons_show_contact_offline(PContact contact, char *resource, char *status) {} void cons_theme_colours(void) {} +// status bar +void status_bar_inactive(const int win) {} +void status_bar_active(const int win) {} +void status_bar_new(const int win) {} +void status_bar_set_all_inactive(void) {} + // roster window void rosterwin_roster(void) {} // occupants window void occupantswin_occupants(const char * const room) {} +// window interface +ProfWin* win_create_console(void) +{ + return NULL; +} +ProfWin* win_create_xmlconsole(void) +{ + return NULL; +} +ProfWin* win_create_chat(const char * const barejid) +{ + return NULL; +} +ProfWin* win_create_muc(const char * const roomjid) +{ + return NULL; +} +ProfWin* win_create_muc_config(const char * const title, DataForm *form) +{ + return NULL; +} +ProfWin* win_create_private(const char * const fulljid) +{ + return NULL; +} + +void win_update_virtual(ProfWin *window) {} +void win_free(ProfWin *window) {} +int win_unread(ProfWin *window) +{ + return 0; +} + +void win_resize(ProfWin *window) {} +void win_hide_subwin(ProfWin *window) {} +void win_show_subwin(ProfWin *window) {} +void win_refresh_without_subwin(ProfWin *window) {} +void win_refresh_with_subwin(ProfWin *window) {} +void win_print(ProfWin *window, const char show_char, GTimeVal *tstamp, int flags, theme_item_t theme_item, const char * const from, const char * const message) {} +void win_vprint(ProfWin *window, const char show_char, GTimeVal *tstamp, int flags, theme_item_t theme_item, const char * const from, const char * const message, ...) {} +char* win_get_title(ProfWin *window) +{ + return NULL; +} +void win_show_occupant(ProfWin *window, Occupant *occupant) {} +void win_show_occupant_info(ProfWin *window, const char * const room, Occupant *occupant) {} +void win_show_contact(ProfWin *window, PContact contact) {} +void win_show_info(ProfWin *window, PContact contact) {} +void win_println(ProfWin *window, const char * const message) {} + // desktop notifier actions void notifier_uninit(void) {} -- cgit 1.4.1-2-gfad0