mirror of
https://github.com/profanity-im/profanity.git
synced 2025-01-03 14:57:42 -05:00
Dynamically load UI functions, fixed tests
This commit is contained in:
parent
d56f6dc39b
commit
5a5b1340aa
@ -435,7 +435,7 @@ static struct cmd_t command_defs[] =
|
||||
NULL } } },
|
||||
|
||||
{ "/beep",
|
||||
cmd_beep, parse_args, 1, 1, cons_beep_setting,
|
||||
cmd_beep, parse_args, 1, 1, &cons_beep_setting,
|
||||
{ "/beep on|off", "Terminal beep on new messages.",
|
||||
{ "/beep on|off",
|
||||
"------------",
|
||||
@ -445,7 +445,7 @@ static struct cmd_t command_defs[] =
|
||||
NULL } } },
|
||||
|
||||
{ "/notify",
|
||||
cmd_notify, parse_args, 2, 2, cons_notify_setting,
|
||||
cmd_notify, parse_args, 2, 2, &cons_notify_setting,
|
||||
{ "/notify type value", "Control various desktop noficiations.",
|
||||
{ "/notify type value",
|
||||
"------------------",
|
||||
@ -470,7 +470,7 @@ static struct cmd_t command_defs[] =
|
||||
NULL } } },
|
||||
|
||||
{ "/flash",
|
||||
cmd_flash, parse_args, 1, 1, cons_flash_setting,
|
||||
cmd_flash, parse_args, 1, 1, &cons_flash_setting,
|
||||
{ "/flash on|off", "Terminal flash on new messages.",
|
||||
{ "/flash on|off",
|
||||
"-------------",
|
||||
@ -480,7 +480,7 @@ static struct cmd_t command_defs[] =
|
||||
NULL } } },
|
||||
|
||||
{ "/intype",
|
||||
cmd_intype, parse_args, 1, 1, cons_intype_setting,
|
||||
cmd_intype, parse_args, 1, 1, &cons_intype_setting,
|
||||
{ "/intype on|off", "Show when contact is typing.",
|
||||
{ "/intype on|off",
|
||||
"--------------",
|
||||
@ -488,7 +488,7 @@ static struct cmd_t command_defs[] =
|
||||
NULL } } },
|
||||
|
||||
{ "/splash",
|
||||
cmd_splash, parse_args, 1, 1, cons_splash_setting,
|
||||
cmd_splash, parse_args, 1, 1, &cons_splash_setting,
|
||||
{ "/splash on|off", "Splash logo on startup and /about command.",
|
||||
{ "/splash on|off",
|
||||
"--------------",
|
||||
@ -496,7 +496,7 @@ static struct cmd_t command_defs[] =
|
||||
NULL } } },
|
||||
|
||||
{ "/autoconnect",
|
||||
cmd_autoconnect, parse_args, 1, 2, cons_autoconnect_setting,
|
||||
cmd_autoconnect, parse_args, 1, 2, &cons_autoconnect_setting,
|
||||
{ "/autoconnect set|off [account]", "Set account to autoconnect with.",
|
||||
{ "/autoconnect set|off [account]",
|
||||
"------------------------------",
|
||||
@ -517,7 +517,7 @@ static struct cmd_t command_defs[] =
|
||||
NULL } } },
|
||||
|
||||
{ "/titlebar",
|
||||
cmd_titlebar, parse_args, 2, 2, cons_titlebar_setting,
|
||||
cmd_titlebar, parse_args, 2, 2, &cons_titlebar_setting,
|
||||
{ "/titlebar property on|off", "Show various properties in the window title bar.",
|
||||
{ "/titlebar property on|off",
|
||||
"-------------------------",
|
||||
@ -526,7 +526,7 @@ static struct cmd_t command_defs[] =
|
||||
NULL } } },
|
||||
|
||||
{ "/mouse",
|
||||
cmd_mouse, parse_args, 1, 1, cons_mouse_setting,
|
||||
cmd_mouse, parse_args, 1, 1, &cons_mouse_setting,
|
||||
{ "/mouse on|off", "Use profanity mouse handling.",
|
||||
{ "/mouse on|off",
|
||||
"-------------",
|
||||
@ -539,7 +539,7 @@ static struct cmd_t command_defs[] =
|
||||
NULL } } },
|
||||
|
||||
{ "/chlog",
|
||||
cmd_chlog, parse_args, 1, 1, cons_chlog_setting,
|
||||
cmd_chlog, parse_args, 1, 1, &cons_chlog_setting,
|
||||
{ "/chlog on|off", "Chat logging to file",
|
||||
{ "/chlog on|off",
|
||||
"-------------",
|
||||
@ -550,7 +550,7 @@ static struct cmd_t command_defs[] =
|
||||
NULL } } },
|
||||
|
||||
{ "/grlog",
|
||||
cmd_grlog, parse_args, 1, 1, cons_grlog_setting,
|
||||
cmd_grlog, parse_args, 1, 1, &cons_grlog_setting,
|
||||
{ "/grlog on|off", "Chat logging of chat rooms to file",
|
||||
{ "/grlog on|off",
|
||||
"-------------",
|
||||
@ -559,7 +559,7 @@ static struct cmd_t command_defs[] =
|
||||
NULL } } },
|
||||
|
||||
{ "/states",
|
||||
cmd_states, parse_args, 1, 1, cons_states_setting,
|
||||
cmd_states, parse_args, 1, 1, &cons_states_setting,
|
||||
{ "/states on|off", "Send chat states during a chat session.",
|
||||
{ "/states on|off",
|
||||
"--------------",
|
||||
@ -568,7 +568,7 @@ static struct cmd_t command_defs[] =
|
||||
NULL } } },
|
||||
|
||||
{ "/outtype",
|
||||
cmd_outtype, parse_args, 1, 1, cons_outtype_setting,
|
||||
cmd_outtype, parse_args, 1, 1, &cons_outtype_setting,
|
||||
{ "/outtype on|off", "Send typing notification to recipient.",
|
||||
{ "/outtype on|off",
|
||||
"---------------",
|
||||
@ -577,7 +577,7 @@ static struct cmd_t command_defs[] =
|
||||
NULL } } },
|
||||
|
||||
{ "/gone",
|
||||
cmd_gone, parse_args, 1, 1, cons_gone_setting,
|
||||
cmd_gone, parse_args, 1, 1, &cons_gone_setting,
|
||||
{ "/gone minutes", "Send 'gone' state to recipient after a period.",
|
||||
{ "/gone minutes",
|
||||
"-------------",
|
||||
@ -588,7 +588,7 @@ static struct cmd_t command_defs[] =
|
||||
NULL } } },
|
||||
|
||||
{ "/history",
|
||||
cmd_history, parse_args, 1, 1, cons_history_setting,
|
||||
cmd_history, parse_args, 1, 1, &cons_history_setting,
|
||||
{ "/history on|off", "Chat history in message windows.",
|
||||
{ "/history on|off",
|
||||
"---------------",
|
||||
@ -597,7 +597,7 @@ static struct cmd_t command_defs[] =
|
||||
NULL } } },
|
||||
|
||||
{ "/log",
|
||||
cmd_log, parse_args, 2, 2, cons_log_setting,
|
||||
cmd_log, parse_args, 2, 2, &cons_log_setting,
|
||||
{ "/log maxsize value", "Manage system logging settings.",
|
||||
{ "/log maxsize value",
|
||||
"------------------",
|
||||
@ -606,7 +606,7 @@ static struct cmd_t command_defs[] =
|
||||
NULL } } },
|
||||
|
||||
{ "/reconnect",
|
||||
cmd_reconnect, parse_args, 1, 1, cons_reconnect_setting,
|
||||
cmd_reconnect, parse_args, 1, 1, &cons_reconnect_setting,
|
||||
{ "/reconnect seconds", "Set reconnect interval.",
|
||||
{ "/reconnect seconds",
|
||||
"------------------",
|
||||
@ -615,7 +615,7 @@ static struct cmd_t command_defs[] =
|
||||
NULL } } },
|
||||
|
||||
{ "/autoping",
|
||||
cmd_autoping, parse_args, 1, 1, cons_autoping_setting,
|
||||
cmd_autoping, parse_args, 1, 1, &cons_autoping_setting,
|
||||
{ "/autoping seconds", "Server ping interval.",
|
||||
{ "/autoping seconds",
|
||||
"-----------------",
|
||||
@ -624,7 +624,7 @@ static struct cmd_t command_defs[] =
|
||||
NULL } } },
|
||||
|
||||
{ "/autoaway",
|
||||
cmd_autoaway, parse_args_with_freetext, 2, 2, cons_autoaway_setting,
|
||||
cmd_autoaway, parse_args_with_freetext, 2, 2, &cons_autoaway_setting,
|
||||
{ "/autoaway setting value", "Set auto idle/away properties.",
|
||||
{ "/autoaway setting value",
|
||||
"-----------------------",
|
||||
@ -645,7 +645,7 @@ static struct cmd_t command_defs[] =
|
||||
NULL } } },
|
||||
|
||||
{ "/priority",
|
||||
cmd_priority, parse_args, 1, 1, cons_priority_setting,
|
||||
cmd_priority, parse_args, 1, 1, &cons_priority_setting,
|
||||
{ "/priority value", "Set priority for the current account.",
|
||||
{ "/priority value",
|
||||
"---------------",
|
||||
@ -714,7 +714,7 @@ static struct cmd_t command_defs[] =
|
||||
NULL } } },
|
||||
|
||||
{ "/theme",
|
||||
cmd_theme, parse_args, 1, 2, cons_theme_setting,
|
||||
cmd_theme, parse_args, 1, 2, &cons_theme_setting,
|
||||
{ "/theme command [theme-name]", "Change colour theme.",
|
||||
{ "/theme command [theme-name]",
|
||||
"---------------------------",
|
||||
@ -730,7 +730,7 @@ static struct cmd_t command_defs[] =
|
||||
|
||||
|
||||
{ "/statuses",
|
||||
cmd_statuses, parse_args, 1, 1, cons_statuses_setting,
|
||||
cmd_statuses, parse_args, 1, 1, &cons_statuses_setting,
|
||||
{ "/statuses on|off", "Set notifications for status messages.",
|
||||
{ "/statuses on|off",
|
||||
"----------------",
|
||||
@ -1086,7 +1086,7 @@ cmd_execute(const char * const command, const char * const inp)
|
||||
gchar **args = cmd->parser(inp, cmd->min_args, cmd->max_args);
|
||||
if ((args == NULL) && (cmd->setting_func != NULL)) {
|
||||
cons_show("");
|
||||
cmd->setting_func();
|
||||
(*cmd->setting_func)();
|
||||
cons_show("Usage: %s", cmd->help.usage);
|
||||
return TRUE;
|
||||
} else if (args == NULL) {
|
||||
|
@ -46,7 +46,7 @@ typedef struct cmd_t {
|
||||
gchar** (*parser)(const char * const inp, int min, int max);
|
||||
int min_args;
|
||||
int max_args;
|
||||
void (*setting_func)(void);
|
||||
void (**setting_func)(void);
|
||||
CommandHelp help;
|
||||
} Command;
|
||||
|
||||
|
303
src/ui/console.c
303
src/ui/console.c
@ -47,24 +47,26 @@
|
||||
static void _cons_splash_logo(void);
|
||||
void _show_roster_contacts(GSList *list, gboolean show_groups);
|
||||
|
||||
void
|
||||
cons_show_time(void)
|
||||
static void
|
||||
_cons_show_time(void)
|
||||
{
|
||||
ProfWin *console = wins_get_console();
|
||||
win_print_time(console, '-');
|
||||
wins_refresh_console();
|
||||
}
|
||||
void (*cons_show_time)(void) = _cons_show_time;
|
||||
|
||||
void
|
||||
cons_show_word(const char * const word)
|
||||
static void
|
||||
_cons_show_word(const char * const word)
|
||||
{
|
||||
ProfWin *console = wins_get_console();
|
||||
wprintw(console->win, "%s", word);
|
||||
wins_refresh_console();
|
||||
}
|
||||
void (*cons_show_word)(const char * const) = _cons_show_word;
|
||||
|
||||
void
|
||||
cons_debug(const char * const msg, ...)
|
||||
static void
|
||||
_cons_debug(const char * const msg, ...)
|
||||
{
|
||||
ProfWin *console = wins_get_console();
|
||||
if (strcmp(PACKAGE_STATUS, "development") == 0) {
|
||||
@ -84,6 +86,7 @@ cons_debug(const char * const msg, ...)
|
||||
ui_refresh();
|
||||
}
|
||||
}
|
||||
void (*cons_debug)(const char * const, ...) = _cons_debug;
|
||||
|
||||
static void
|
||||
_cons_show(const char * const msg, ...)
|
||||
@ -101,8 +104,8 @@ _cons_show(const char * const msg, ...)
|
||||
}
|
||||
void (*cons_show)(const char * const, ...) = _cons_show;
|
||||
|
||||
void
|
||||
cons_show_error(const char * const msg, ...)
|
||||
static void
|
||||
_cons_show_error(const char * const msg, ...)
|
||||
{
|
||||
ProfWin *console = wins_get_console();
|
||||
va_list arg;
|
||||
@ -119,9 +122,10 @@ cons_show_error(const char * const msg, ...)
|
||||
wins_refresh_console();
|
||||
cons_alert();
|
||||
}
|
||||
void (*cons_show_error)(const char * const, ...) = _cons_show_error;
|
||||
|
||||
void
|
||||
cons_show_typing(const char * const barejid)
|
||||
static void
|
||||
_cons_show_typing(const char * const barejid)
|
||||
{
|
||||
ProfWin *console = wins_get_console();
|
||||
PContact contact = roster_get_contact(barejid);
|
||||
@ -137,9 +141,10 @@ cons_show_typing(const char * const barejid)
|
||||
wins_refresh_console();
|
||||
cons_alert();
|
||||
}
|
||||
void (*cons_show_typing)(const char * const) = _cons_show_typing;
|
||||
|
||||
void
|
||||
cons_show_incoming_message(const char * const short_from, const int win_index)
|
||||
static void
|
||||
_cons_show_incoming_message(const char * const short_from, const int win_index)
|
||||
{
|
||||
ProfWin *console = wins_get_console();
|
||||
|
||||
@ -155,9 +160,10 @@ cons_show_incoming_message(const char * const short_from, const int win_index)
|
||||
wins_refresh_console();
|
||||
cons_alert();
|
||||
}
|
||||
void (*cons_show_incoming_message)(const char * const, const int) = _cons_show_incoming_message;
|
||||
|
||||
void
|
||||
cons_about(void)
|
||||
static void
|
||||
_cons_about(void)
|
||||
{
|
||||
ProfWin *console = wins_get_console();
|
||||
int rows, cols;
|
||||
@ -207,9 +213,10 @@ cons_about(void)
|
||||
wins_refresh_console();
|
||||
cons_alert();
|
||||
}
|
||||
void (*cons_about)(void) = _cons_about;
|
||||
|
||||
void
|
||||
cons_check_version(gboolean not_available_msg)
|
||||
static void
|
||||
_cons_check_version(gboolean not_available_msg)
|
||||
{
|
||||
ProfWin *console = wins_get_console();
|
||||
char *latest_release = release_get_latest();
|
||||
@ -238,9 +245,10 @@ cons_check_version(gboolean not_available_msg)
|
||||
}
|
||||
}
|
||||
}
|
||||
void (*cons_check_version)(gboolean) = _cons_check_version;
|
||||
|
||||
void
|
||||
cons_show_login_success(ProfAccount *account)
|
||||
static void
|
||||
_cons_show_login_success(ProfAccount *account)
|
||||
{
|
||||
ProfWin *console = wins_get_console();
|
||||
win_print_time(console, '-');
|
||||
@ -258,9 +266,10 @@ cons_show_login_success(ProfAccount *account)
|
||||
wins_refresh_console();
|
||||
cons_alert();
|
||||
}
|
||||
void (*cons_show_login_success)(ProfAccount*) = _cons_show_login_success;
|
||||
|
||||
void
|
||||
cons_show_wins(void)
|
||||
static void
|
||||
_cons_show_wins(void)
|
||||
{
|
||||
ProfWin *console = wins_get_console();
|
||||
cons_show("");
|
||||
@ -279,9 +288,10 @@ cons_show_wins(void)
|
||||
wins_refresh_console();
|
||||
cons_alert();
|
||||
}
|
||||
void (*cons_show_wins)(void) = _cons_show_wins;
|
||||
|
||||
void
|
||||
cons_show_room_invites(GSList *invites)
|
||||
static void
|
||||
_cons_show_room_invites(GSList *invites)
|
||||
{
|
||||
cons_show("");
|
||||
if (invites == NULL) {
|
||||
@ -297,9 +307,10 @@ cons_show_room_invites(GSList *invites)
|
||||
wins_refresh_console();
|
||||
cons_alert();
|
||||
}
|
||||
void (*cons_show_room_invites)(GSList*) = _cons_show_room_invites;
|
||||
|
||||
void
|
||||
cons_show_info(PContact pcontact)
|
||||
static void
|
||||
_cons_show_info(PContact pcontact)
|
||||
{
|
||||
ProfWin *console = wins_get_console();
|
||||
const char *barejid = p_contact_barejid(pcontact);
|
||||
@ -430,9 +441,10 @@ cons_show_info(PContact pcontact)
|
||||
wins_refresh_console();
|
||||
cons_alert();
|
||||
}
|
||||
void (*cons_show_info)(PContact) = _cons_show_info;
|
||||
|
||||
void
|
||||
cons_show_caps(const char * const contact, Resource *resource)
|
||||
static void
|
||||
_cons_show_caps(const char * const contact, Resource *resource)
|
||||
{
|
||||
ProfWin *console = wins_get_console();
|
||||
WINDOW *win = console->win;
|
||||
@ -505,9 +517,10 @@ cons_show_caps(const char * const contact, Resource *resource)
|
||||
wins_refresh_console();
|
||||
cons_alert();
|
||||
}
|
||||
void (*cons_show_caps)(const char * const, Resource*) = _cons_show_caps;
|
||||
|
||||
void
|
||||
cons_show_software_version(const char * const jid, const char * const presence,
|
||||
static void
|
||||
_cons_show_software_version(const char * const jid, const char * const presence,
|
||||
const char * const name, const char * const version, const char * const os)
|
||||
{
|
||||
ProfWin *console = wins_get_console();
|
||||
@ -532,9 +545,12 @@ cons_show_software_version(const char * const jid, const char * const presence,
|
||||
wins_refresh_console();
|
||||
cons_alert();
|
||||
}
|
||||
void (*cons_show_software_version)(const char * const, const char * const,
|
||||
const char * const, const char * const,
|
||||
const char * const) = _cons_show_software_version;
|
||||
|
||||
void
|
||||
cons_show_received_subs(void)
|
||||
static void
|
||||
_cons_show_received_subs(void)
|
||||
{
|
||||
GSList *received = presence_get_subscription_requests();
|
||||
if (received == NULL) {
|
||||
@ -552,9 +568,10 @@ cons_show_received_subs(void)
|
||||
wins_refresh_console();
|
||||
cons_alert();
|
||||
}
|
||||
void (*cons_show_received_subs)(void) = _cons_show_received_subs;
|
||||
|
||||
void
|
||||
cons_show_sent_subs(void)
|
||||
static void
|
||||
_cons_show_sent_subs(void)
|
||||
{
|
||||
if (roster_has_pending_subscriptions()) {
|
||||
GSList *contacts = roster_get_contacts();
|
||||
@ -574,9 +591,10 @@ cons_show_sent_subs(void)
|
||||
wins_refresh_console();
|
||||
cons_alert();
|
||||
}
|
||||
void (*cons_show_sent_subs)(void) = _cons_show_sent_subs;
|
||||
|
||||
void
|
||||
cons_show_room_list(GSList *rooms, const char * const conference_node)
|
||||
static void
|
||||
_cons_show_room_list(GSList *rooms, const char * const conference_node)
|
||||
{
|
||||
ProfWin *console = wins_get_console();
|
||||
if ((rooms != NULL) && (g_slist_length(rooms) > 0)) {
|
||||
@ -598,9 +616,10 @@ cons_show_room_list(GSList *rooms, const char * const conference_node)
|
||||
wins_refresh_console();
|
||||
cons_alert();
|
||||
}
|
||||
void (*cons_show_room_list)(GSList*, const char * const) = _cons_show_room_list;
|
||||
|
||||
void
|
||||
cons_show_bookmarks(const GList *list)
|
||||
static void
|
||||
_cons_show_bookmarks(const GList *list)
|
||||
{
|
||||
Bookmark *item;
|
||||
|
||||
@ -628,9 +647,10 @@ cons_show_bookmarks(const GList *list)
|
||||
wins_refresh_console();
|
||||
cons_alert();
|
||||
}
|
||||
void (*cons_show_bookmarks)(const GList*) = _cons_show_bookmarks;
|
||||
|
||||
void
|
||||
cons_show_disco_info(const char *jid, GSList *identities, GSList *features)
|
||||
static void
|
||||
_cons_show_disco_info(const char *jid, GSList *identities, GSList *features)
|
||||
{
|
||||
if (((identities != NULL) && (g_slist_length(identities) > 0)) ||
|
||||
((features != NULL) && (g_slist_length(features) > 0))) {
|
||||
@ -671,9 +691,10 @@ cons_show_disco_info(const char *jid, GSList *identities, GSList *features)
|
||||
cons_alert();
|
||||
}
|
||||
}
|
||||
void (*cons_show_disco_info)(const char*, GSList*, GSList*) = _cons_show_disco_info;
|
||||
|
||||
void
|
||||
cons_show_disco_items(GSList *items, const char * const jid)
|
||||
static void
|
||||
_cons_show_disco_items(GSList *items, const char * const jid)
|
||||
{
|
||||
ProfWin *console = wins_get_console();
|
||||
if ((items != NULL) && (g_slist_length(items) > 0)) {
|
||||
@ -696,9 +717,10 @@ cons_show_disco_items(GSList *items, const char * const jid)
|
||||
wins_refresh_console();
|
||||
cons_alert();
|
||||
}
|
||||
void (*cons_show_disco_items)(GSList*, const char * const) = _cons_show_disco_items;
|
||||
|
||||
void
|
||||
cons_show_status(const char * const barejid)
|
||||
static void
|
||||
_cons_show_status(const char * const barejid)
|
||||
{
|
||||
ProfWin *console = wins_get_console();
|
||||
PContact pcontact = roster_get_contact(barejid);
|
||||
@ -711,9 +733,10 @@ cons_show_status(const char * const barejid)
|
||||
wins_refresh_console();
|
||||
cons_alert();
|
||||
}
|
||||
void (*cons_show_status)(const char * const) = _cons_show_status;
|
||||
|
||||
void
|
||||
cons_show_room_invite(const char * const invitor, const char * const room,
|
||||
static void
|
||||
_cons_show_room_invite(const char * const invitor, const char * const room,
|
||||
const char * const reason)
|
||||
{
|
||||
char *display_from = NULL;
|
||||
@ -748,9 +771,11 @@ cons_show_room_invite(const char * const invitor, const char * const room,
|
||||
wins_refresh_console();
|
||||
cons_alert();
|
||||
}
|
||||
void (*cons_show_room_invite)(const char * const, const char * const,
|
||||
const char * const) = _cons_show_room_invite;
|
||||
|
||||
void
|
||||
cons_show_account_list(gchar **accounts)
|
||||
static void
|
||||
_cons_show_account_list(gchar **accounts)
|
||||
{
|
||||
ProfWin *console = wins_get_console();
|
||||
int size = g_strv_length(accounts);
|
||||
@ -778,9 +803,10 @@ cons_show_account_list(gchar **accounts)
|
||||
wins_refresh_console();
|
||||
cons_alert();
|
||||
}
|
||||
void (*cons_show_account_list)(gchar**) = _cons_show_account_list;
|
||||
|
||||
void
|
||||
cons_show_account(ProfAccount *account)
|
||||
static void
|
||||
_cons_show_account(ProfAccount *account)
|
||||
{
|
||||
ProfWin *console = wins_get_console();
|
||||
cons_show("");
|
||||
@ -901,9 +927,10 @@ cons_show_account(ProfAccount *account)
|
||||
wins_refresh_console();
|
||||
cons_alert();
|
||||
}
|
||||
void (*cons_show_account)(ProfAccount*) = _cons_show_account;
|
||||
|
||||
void
|
||||
cons_theme_setting(void)
|
||||
static void
|
||||
_cons_theme_setting(void)
|
||||
{
|
||||
gchar *theme = prefs_get_string(PREF_THEME);
|
||||
if (theme == NULL) {
|
||||
@ -912,72 +939,80 @@ cons_theme_setting(void)
|
||||
cons_show("Theme (/theme) : %s", theme);
|
||||
}
|
||||
}
|
||||
void (*cons_theme_setting)(void) = _cons_theme_setting;
|
||||
|
||||
void
|
||||
cons_beep_setting(void)
|
||||
static void
|
||||
_cons_beep_setting(void)
|
||||
{
|
||||
if (prefs_get_boolean(PREF_BEEP))
|
||||
cons_show("Terminal beep (/beep) : ON");
|
||||
else
|
||||
cons_show("Terminal beep (/beep) : OFF");
|
||||
}
|
||||
void (*cons_beep_setting)(void) = _cons_beep_setting;
|
||||
|
||||
void
|
||||
cons_flash_setting(void)
|
||||
static void
|
||||
_cons_flash_setting(void)
|
||||
{
|
||||
if (prefs_get_boolean(PREF_FLASH))
|
||||
cons_show("Terminal flash (/flash) : ON");
|
||||
else
|
||||
cons_show("Terminal flash (/flash) : OFF");
|
||||
}
|
||||
void (*cons_flash_setting)(void) = _cons_flash_setting;
|
||||
|
||||
void
|
||||
cons_splash_setting(void)
|
||||
static void
|
||||
_cons_splash_setting(void)
|
||||
{
|
||||
if (prefs_get_boolean(PREF_SPLASH))
|
||||
cons_show("Splash screen (/splash) : ON");
|
||||
else
|
||||
cons_show("Splash screen (/splash) : OFF");
|
||||
}
|
||||
void (*cons_splash_setting)(void) = _cons_splash_setting;
|
||||
|
||||
void
|
||||
cons_autoconnect_setting(void)
|
||||
static void
|
||||
_cons_autoconnect_setting(void)
|
||||
{
|
||||
if (prefs_get_string(PREF_CONNECT_ACCOUNT) != NULL)
|
||||
cons_show("Autoconnect (/autoconnect) : %s", prefs_get_string(PREF_CONNECT_ACCOUNT));
|
||||
else
|
||||
cons_show("Autoconnect (/autoconnect) : OFF");
|
||||
}
|
||||
void (*cons_autoconnect_setting)(void) = _cons_autoconnect_setting;
|
||||
|
||||
void
|
||||
cons_vercheck_setting(void)
|
||||
static void
|
||||
_cons_vercheck_setting(void)
|
||||
{
|
||||
if (prefs_get_boolean(PREF_VERCHECK))
|
||||
cons_show("Version checking (/vercheck) : ON");
|
||||
else
|
||||
cons_show("Version checking (/vercheck) : OFF");
|
||||
}
|
||||
void (*cons_vercheck_setting)(void) = _cons_vercheck_setting;
|
||||
|
||||
void
|
||||
cons_mouse_setting(void)
|
||||
static void
|
||||
_cons_mouse_setting(void)
|
||||
{
|
||||
if (prefs_get_boolean(PREF_MOUSE))
|
||||
cons_show("Mouse handling (/mouse) : ON");
|
||||
else
|
||||
cons_show("Mouse handling (/mouse) : OFF");
|
||||
}
|
||||
void (*cons_mouse_setting)(void) = _cons_mouse_setting;
|
||||
|
||||
void
|
||||
cons_statuses_setting(void)
|
||||
static void
|
||||
_cons_statuses_setting(void)
|
||||
{
|
||||
if (prefs_get_boolean(PREF_STATUSES))
|
||||
cons_show("Status (/statuses) : ON");
|
||||
else
|
||||
cons_show("Status (/statuses) : OFF");
|
||||
}
|
||||
void (*cons_statuses_setting)(void) = _cons_statuses_setting;
|
||||
|
||||
void
|
||||
cons_titlebar_setting(void)
|
||||
static void
|
||||
_cons_titlebar_setting(void)
|
||||
{
|
||||
if (prefs_get_boolean(PREF_TITLEBARVERSION)) {
|
||||
cons_show("Titlebar display (/titlebar) : version");
|
||||
@ -985,9 +1020,10 @@ cons_titlebar_setting(void)
|
||||
cons_show("Titlebar display (/titlebar) : NONE");
|
||||
}
|
||||
}
|
||||
void (*cons_titlebar_setting)(void) = _cons_titlebar_setting;
|
||||
|
||||
void
|
||||
cons_show_ui_prefs(void)
|
||||
static void
|
||||
_cons_show_ui_prefs(void)
|
||||
{
|
||||
cons_show("UI preferences:");
|
||||
cons_show("");
|
||||
@ -1003,9 +1039,10 @@ cons_show_ui_prefs(void)
|
||||
wins_refresh_console();
|
||||
cons_alert();
|
||||
}
|
||||
void (*cons_show_ui_prefs)(void) = _cons_show_ui_prefs;
|
||||
|
||||
void
|
||||
cons_notify_setting(void)
|
||||
static void
|
||||
_cons_notify_setting(void)
|
||||
{
|
||||
if (prefs_get_boolean(PREF_NOTIFY_MESSAGE))
|
||||
cons_show("Messages (/notify message) : ON");
|
||||
@ -1036,9 +1073,10 @@ cons_notify_setting(void)
|
||||
cons_show("Reminder period (/notify remind) : %d seconds", remind_period);
|
||||
}
|
||||
}
|
||||
void (*cons_notify_setting)(void) = _cons_notify_setting;
|
||||
|
||||
void
|
||||
cons_show_desktop_prefs(void)
|
||||
static void
|
||||
_cons_show_desktop_prefs(void)
|
||||
{
|
||||
cons_show("Desktop notification preferences:");
|
||||
cons_show("");
|
||||
@ -1047,36 +1085,40 @@ cons_show_desktop_prefs(void)
|
||||
wins_refresh_console();
|
||||
cons_alert();
|
||||
}
|
||||
void (*cons_show_desktop_prefs)(void) = _cons_show_desktop_prefs;
|
||||
|
||||
void
|
||||
cons_states_setting(void)
|
||||
static void
|
||||
_cons_states_setting(void)
|
||||
{
|
||||
if (prefs_get_boolean(PREF_STATES))
|
||||
cons_show("Send chat states (/states) : ON");
|
||||
else
|
||||
cons_show("Send chat states (/states) : OFF");
|
||||
}
|
||||
void (*cons_states_setting)(void) = _cons_states_setting;
|
||||
|
||||
void
|
||||
cons_outtype_setting(void)
|
||||
static void
|
||||
_cons_outtype_setting(void)
|
||||
{
|
||||
if (prefs_get_boolean(PREF_OUTTYPE))
|
||||
cons_show("Send composing (/outtype) : ON");
|
||||
else
|
||||
cons_show("Send composing (/outtype) : OFF");
|
||||
}
|
||||
void (*cons_outtype_setting)(void) = _cons_outtype_setting;
|
||||
|
||||
void
|
||||
cons_intype_setting(void)
|
||||
static void
|
||||
_cons_intype_setting(void)
|
||||
{
|
||||
if (prefs_get_boolean(PREF_INTYPE))
|
||||
cons_show("Show typing (/intype) : ON");
|
||||
else
|
||||
cons_show("Show typing (/intype) : OFF");
|
||||
}
|
||||
void (*cons_intype_setting)(void) = _cons_intype_setting;
|
||||
|
||||
void
|
||||
cons_gone_setting(void)
|
||||
static void
|
||||
_cons_gone_setting(void)
|
||||
{
|
||||
gint gone_time = prefs_get_gone();
|
||||
if (gone_time == 0) {
|
||||
@ -1087,18 +1129,20 @@ cons_gone_setting(void)
|
||||
cons_show("Leave conversation (/gone) : %d minutes", gone_time);
|
||||
}
|
||||
}
|
||||
void (*cons_gone_setting)(void) = _cons_gone_setting;
|
||||
|
||||
void
|
||||
cons_history_setting(void)
|
||||
static void
|
||||
_cons_history_setting(void)
|
||||
{
|
||||
if (prefs_get_boolean(PREF_HISTORY))
|
||||
cons_show("Chat history (/history) : ON");
|
||||
else
|
||||
cons_show("Chat history (/history) : OFF");
|
||||
}
|
||||
void (*cons_history_setting)(void) = _cons_history_setting;
|
||||
|
||||
void
|
||||
cons_show_chat_prefs(void)
|
||||
static void
|
||||
_cons_show_chat_prefs(void)
|
||||
{
|
||||
cons_show("Chat preferences:");
|
||||
cons_show("");
|
||||
@ -1111,33 +1155,37 @@ cons_show_chat_prefs(void)
|
||||
wins_refresh_console();
|
||||
cons_alert();
|
||||
}
|
||||
void (*cons_show_chat_prefs)(void) = _cons_show_chat_prefs;
|
||||
|
||||
void
|
||||
cons_log_setting(void)
|
||||
static void
|
||||
_cons_log_setting(void)
|
||||
{
|
||||
cons_show("Max log size (/log maxsize) : %d bytes", prefs_get_max_log_size());
|
||||
}
|
||||
void (*cons_log_setting)(void) = _cons_log_setting;
|
||||
|
||||
void
|
||||
cons_chlog_setting(void)
|
||||
static void
|
||||
_cons_chlog_setting(void)
|
||||
{
|
||||
if (prefs_get_boolean(PREF_CHLOG))
|
||||
cons_show("Chat logging (/chlog) : ON");
|
||||
else
|
||||
cons_show("Chat logging (/chlog) : OFF");
|
||||
}
|
||||
void (*cons_chlog_setting)(void) = _cons_chlog_setting;
|
||||
|
||||
void
|
||||
cons_grlog_setting(void)
|
||||
static void
|
||||
_cons_grlog_setting(void)
|
||||
{
|
||||
if (prefs_get_boolean(PREF_GRLOG))
|
||||
cons_show("Groupchat logging (/grlog) : ON");
|
||||
else
|
||||
cons_show("Groupchat logging (/grlog) : OFF");
|
||||
}
|
||||
void (*cons_grlog_setting)(void) = _cons_grlog_setting;
|
||||
|
||||
void
|
||||
cons_show_log_prefs(void)
|
||||
static void
|
||||
_cons_show_log_prefs(void)
|
||||
{
|
||||
cons_show("Logging preferences:");
|
||||
cons_show("");
|
||||
@ -1148,9 +1196,10 @@ cons_show_log_prefs(void)
|
||||
wins_refresh_console();
|
||||
cons_alert();
|
||||
}
|
||||
void (*cons_show_log_prefs)(void) = _cons_show_log_prefs;
|
||||
|
||||
void
|
||||
cons_autoaway_setting(void)
|
||||
static void
|
||||
_cons_autoaway_setting(void)
|
||||
{
|
||||
if (strcmp(prefs_get_string(PREF_AUTOAWAY_MODE), "off") == 0) {
|
||||
cons_show("Autoaway (/autoaway mode) : OFF");
|
||||
@ -1173,9 +1222,10 @@ cons_autoaway_setting(void)
|
||||
cons_show("Autoaway check (/autoaway check) : OFF");
|
||||
}
|
||||
}
|
||||
void (*cons_autoaway_setting)(void) = _cons_autoaway_setting;
|
||||
|
||||
void
|
||||
cons_show_presence_prefs(void)
|
||||
static void
|
||||
_cons_show_presence_prefs(void)
|
||||
{
|
||||
cons_show("Presence preferences:");
|
||||
cons_show("");
|
||||
@ -1184,9 +1234,10 @@ cons_show_presence_prefs(void)
|
||||
wins_refresh_console();
|
||||
cons_alert();
|
||||
}
|
||||
void (*cons_show_presence_prefs)(void) = _cons_show_presence_prefs;
|
||||
|
||||
void
|
||||
cons_reconnect_setting(void)
|
||||
static void
|
||||
_cons_reconnect_setting(void)
|
||||
{
|
||||
gint reconnect_interval = prefs_get_reconnect();
|
||||
if (reconnect_interval == 0) {
|
||||
@ -1197,9 +1248,10 @@ cons_reconnect_setting(void)
|
||||
cons_show("Reconnect interval (/reconnect) : %d seconds", reconnect_interval);
|
||||
}
|
||||
}
|
||||
void (*cons_reconnect_setting)(void) = _cons_reconnect_setting;
|
||||
|
||||
void
|
||||
cons_autoping_setting(void)
|
||||
static void
|
||||
_cons_autoping_setting(void)
|
||||
{
|
||||
gint autoping_interval = prefs_get_autoping();
|
||||
if (autoping_interval == 0) {
|
||||
@ -1210,16 +1262,18 @@ cons_autoping_setting(void)
|
||||
cons_show("Autoping interval (/autoping) : %d seconds", autoping_interval);
|
||||
}
|
||||
}
|
||||
void (*cons_autoping_setting)(void) = _cons_autoping_setting;
|
||||
|
||||
void
|
||||
cons_priority_setting(void)
|
||||
static void
|
||||
_cons_priority_setting(void)
|
||||
{
|
||||
gint priority = prefs_get_priority();
|
||||
cons_show("Priority (/priority) : %d", priority);
|
||||
}
|
||||
void (*cons_priority_setting)(void) = _cons_priority_setting;
|
||||
|
||||
void
|
||||
cons_show_connection_prefs(void)
|
||||
static void
|
||||
_cons_show_connection_prefs(void)
|
||||
{
|
||||
cons_show("Connection preferences:");
|
||||
cons_show("");
|
||||
@ -1230,9 +1284,10 @@ cons_show_connection_prefs(void)
|
||||
wins_refresh_console();
|
||||
cons_alert();
|
||||
}
|
||||
void (*cons_show_connection_prefs)(void) = _cons_show_connection_prefs;
|
||||
|
||||
void
|
||||
cons_show_themes(GSList *themes)
|
||||
static void
|
||||
_cons_show_themes(GSList *themes)
|
||||
{
|
||||
cons_show("");
|
||||
|
||||
@ -1249,9 +1304,10 @@ cons_show_themes(GSList *themes)
|
||||
wins_refresh_console();
|
||||
cons_alert();
|
||||
}
|
||||
void (*cons_show_themes)(GSList*) = _cons_show_themes;
|
||||
|
||||
void
|
||||
cons_prefs(void)
|
||||
static void
|
||||
_cons_prefs(void)
|
||||
{
|
||||
cons_show("");
|
||||
cons_show_ui_prefs();
|
||||
@ -1270,9 +1326,10 @@ cons_prefs(void)
|
||||
wins_refresh_console();
|
||||
cons_alert();
|
||||
}
|
||||
void (*cons_prefs)(void) = _cons_prefs;
|
||||
|
||||
void
|
||||
cons_help(void)
|
||||
static void
|
||||
_cons_help(void)
|
||||
{
|
||||
cons_show("");
|
||||
cons_show("Choose a help option:");
|
||||
@ -1293,9 +1350,10 @@ cons_help(void)
|
||||
wins_refresh_console();
|
||||
cons_alert();
|
||||
}
|
||||
void (*cons_help)(void) = _cons_help;
|
||||
|
||||
void
|
||||
cons_navigation_help(void)
|
||||
static void
|
||||
_cons_navigation_help(void)
|
||||
{
|
||||
cons_show("");
|
||||
cons_show("Navigation:");
|
||||
@ -1317,9 +1375,10 @@ cons_navigation_help(void)
|
||||
wins_refresh_console();
|
||||
cons_alert();
|
||||
}
|
||||
void (*cons_navigation_help)(void) = _cons_navigation_help;
|
||||
|
||||
void
|
||||
cons_show_roster_group(const char * const group, GSList *list)
|
||||
static void
|
||||
_cons_show_roster_group(const char * const group, GSList *list)
|
||||
{
|
||||
cons_show("");
|
||||
|
||||
@ -1333,9 +1392,10 @@ cons_show_roster_group(const char * const group, GSList *list)
|
||||
wins_refresh_console();
|
||||
cons_alert();
|
||||
}
|
||||
void (*cons_show_roster_group)(const char * const, GSList*) = _cons_show_roster_group;
|
||||
|
||||
void
|
||||
cons_show_roster(GSList *list)
|
||||
static void
|
||||
_cons_show_roster(GSList *list)
|
||||
{
|
||||
cons_show("");
|
||||
cons_show("Roster:");
|
||||
@ -1344,9 +1404,10 @@ cons_show_roster(GSList *list)
|
||||
wins_refresh_console();
|
||||
cons_alert();
|
||||
}
|
||||
void (*cons_show_roster)(GSList*) = _cons_show_roster;
|
||||
|
||||
void
|
||||
cons_show_contacts(GSList *list)
|
||||
static void
|
||||
_cons_show_contacts(GSList *list)
|
||||
{
|
||||
ProfWin *console = wins_get_console();
|
||||
GSList *curr = list;
|
||||
@ -1363,14 +1424,16 @@ cons_show_contacts(GSList *list)
|
||||
wins_refresh_console();
|
||||
cons_alert();
|
||||
}
|
||||
void (*cons_show_contacts)(GSList*) = _cons_show_contacts;
|
||||
|
||||
void
|
||||
cons_alert(void)
|
||||
static void
|
||||
_cons_alert(void)
|
||||
{
|
||||
if (ui_current_win_type() != WIN_CONSOLE) {
|
||||
status_bar_new(1);
|
||||
}
|
||||
}
|
||||
void (*cons_alert)(void) = _cons_alert;
|
||||
|
||||
static void
|
||||
_cons_splash_logo(void)
|
||||
|
352
src/ui/core.c
352
src/ui/core.c
@ -69,8 +69,8 @@ static void _win_show_history(WINDOW *win, int win_index,
|
||||
const char * const contact);
|
||||
static void _ui_draw_win_title(void);
|
||||
|
||||
void
|
||||
ui_init(void)
|
||||
static void
|
||||
_ui_init(void)
|
||||
{
|
||||
log_info("Initialising UI");
|
||||
initscr();
|
||||
@ -95,18 +95,20 @@ ui_init(void)
|
||||
ui_idle_time = g_timer_new();
|
||||
wins_refresh_current();
|
||||
}
|
||||
void (*ui_init)(void) = _ui_init;
|
||||
|
||||
void
|
||||
ui_refresh(void)
|
||||
static void
|
||||
_ui_refresh(void)
|
||||
{
|
||||
_ui_draw_win_title();
|
||||
title_bar_refresh();
|
||||
status_bar_refresh();
|
||||
inp_put_back();
|
||||
}
|
||||
void (*ui_refresh)(void) = _ui_refresh;
|
||||
|
||||
unsigned long
|
||||
ui_get_idle_time(void)
|
||||
static unsigned long
|
||||
_ui_get_idle_time(void)
|
||||
{
|
||||
// if compiled with libxss, get the x sessions idle time
|
||||
#ifdef HAVE_LIBXSS
|
||||
@ -123,23 +125,26 @@ ui_get_idle_time(void)
|
||||
unsigned long ms_elapsed = seconds_elapsed * 1000.0;
|
||||
return ms_elapsed;
|
||||
}
|
||||
unsigned long (*ui_get_idle_time)(void) = _ui_get_idle_time;
|
||||
|
||||
void
|
||||
ui_reset_idle_time(void)
|
||||
static void
|
||||
_ui_reset_idle_time(void)
|
||||
{
|
||||
g_timer_start(ui_idle_time);
|
||||
}
|
||||
void (*ui_reset_idle_time)(void) = _ui_reset_idle_time;
|
||||
|
||||
void
|
||||
ui_close(void)
|
||||
static void
|
||||
_ui_close(void)
|
||||
{
|
||||
notifier_uninit();
|
||||
wins_destroy();
|
||||
endwin();
|
||||
}
|
||||
void (*ui_close)(void) = _ui_close;
|
||||
|
||||
void
|
||||
ui_resize(const int ch, const char * const input, const int size)
|
||||
static void
|
||||
_ui_resize(const int ch, const char * const input, const int size)
|
||||
{
|
||||
log_info("Resizing UI");
|
||||
title_bar_resize();
|
||||
@ -148,9 +153,10 @@ ui_resize(const int ch, const char * const input, const int size)
|
||||
inp_win_resize(input, size);
|
||||
wins_refresh_current();
|
||||
}
|
||||
void (*ui_resize)(const int, const char * const, const int) = _ui_resize;
|
||||
|
||||
void
|
||||
ui_load_colours(void)
|
||||
static void
|
||||
_ui_load_colours(void)
|
||||
{
|
||||
if (has_colors()) {
|
||||
use_default_colors();
|
||||
@ -158,22 +164,25 @@ ui_load_colours(void)
|
||||
theme_init_colours();
|
||||
}
|
||||
}
|
||||
void (*ui_load_colours)(void) = _ui_load_colours;
|
||||
|
||||
gboolean
|
||||
ui_win_exists(int index)
|
||||
static gboolean
|
||||
_ui_win_exists(int index)
|
||||
{
|
||||
ProfWin *window = wins_get_by_num(index);
|
||||
return (window != NULL);
|
||||
}
|
||||
gboolean (*ui_win_exists)(int) = _ui_win_exists;
|
||||
|
||||
gboolean
|
||||
ui_duck_exists(void)
|
||||
static gboolean
|
||||
_ui_duck_exists(void)
|
||||
{
|
||||
return wins_duck_exists();
|
||||
}
|
||||
gboolean (*ui_duck_exists)(void) = _ui_duck_exists;
|
||||
|
||||
void
|
||||
ui_contact_typing(const char * const barejid)
|
||||
static void
|
||||
_ui_contact_typing(const char * const barejid)
|
||||
{
|
||||
ProfWin *window = wins_get_by_recipient(barejid);
|
||||
|
||||
@ -209,16 +218,18 @@ ui_contact_typing(const char * const barejid)
|
||||
notify_typing(display_usr);
|
||||
}
|
||||
}
|
||||
void (*ui_contact_typing)(const char * const) = _ui_contact_typing;
|
||||
|
||||
GSList *
|
||||
ui_get_recipients(void)
|
||||
static GSList *
|
||||
_ui_get_recipients(void)
|
||||
{
|
||||
GSList *recipients = wins_get_chat_recipients();
|
||||
return recipients;
|
||||
}
|
||||
GSList * (*ui_get_recipients)(void) = _ui_get_recipients;
|
||||
|
||||
void
|
||||
ui_incoming_msg(const char * const from, const char * const message,
|
||||
static void
|
||||
_ui_incoming_msg(const char * const from, const char * const message,
|
||||
GTimeVal *tv_stamp, gboolean priv)
|
||||
{
|
||||
gboolean win_created = FALSE;
|
||||
@ -293,9 +304,11 @@ ui_incoming_msg(const char * const from, const char * const message,
|
||||
|
||||
free(display_from);
|
||||
}
|
||||
void (*ui_incoming_msg)(const char * const, const char * const,
|
||||
GTimeVal*, gboolean) = _ui_incoming_msg;
|
||||
|
||||
void
|
||||
ui_roster_add(const char * const barejid, const char * const name)
|
||||
static void
|
||||
_ui_roster_add(const char * const barejid, const char * const name)
|
||||
{
|
||||
if (name != NULL) {
|
||||
cons_show("Roster item added: %s (%s)", barejid, name);
|
||||
@ -303,39 +316,45 @@ ui_roster_add(const char * const barejid, const char * const name)
|
||||
cons_show("Roster item added: %s", barejid);
|
||||
}
|
||||
}
|
||||
void (*ui_roster_add)(const char * const, const char * const) = _ui_roster_add;
|
||||
|
||||
void
|
||||
ui_roster_remove(const char * const barejid)
|
||||
static void
|
||||
_ui_roster_remove(const char * const barejid)
|
||||
{
|
||||
cons_show("Roster item removed: %s", barejid);
|
||||
}
|
||||
void (*ui_roster_remove)(const char * const) = _ui_roster_remove;
|
||||
|
||||
void
|
||||
ui_contact_already_in_group(const char * const contact, const char * const group)
|
||||
static void
|
||||
_ui_contact_already_in_group(const char * const contact, const char * const group)
|
||||
{
|
||||
cons_show("%s already in group %s", contact, group);
|
||||
}
|
||||
void (*ui_contact_already_in_group)(const char * const, const char * const) = _ui_contact_already_in_group;
|
||||
|
||||
void
|
||||
ui_contact_not_in_group(const char * const contact, const char * const group)
|
||||
static void
|
||||
_ui_contact_not_in_group(const char * const contact, const char * const group)
|
||||
{
|
||||
cons_show("%s is not currently in group %s", contact, group);
|
||||
}
|
||||
void (*ui_contact_not_in_group)(const char * const, const char * const) = _ui_contact_not_in_group;
|
||||
|
||||
void
|
||||
ui_group_added(const char * const contact, const char * const group)
|
||||
static void
|
||||
_ui_group_added(const char * const contact, const char * const group)
|
||||
{
|
||||
cons_show("%s added to group %s", contact, group);
|
||||
}
|
||||
void (*ui_group_added)(const char * const, const char * const) = _ui_group_added;
|
||||
|
||||
void
|
||||
ui_group_removed(const char * const contact, const char * const group)
|
||||
static void
|
||||
_ui_group_removed(const char * const contact, const char * const group)
|
||||
{
|
||||
cons_show("%s removed from group %s", contact, group);
|
||||
}
|
||||
void (*ui_group_removed)(const char * const, const char * const) = _ui_group_removed;
|
||||
|
||||
void
|
||||
ui_handle_error_message(const char * const from, const char * const err_msg)
|
||||
static void
|
||||
_ui_handle_error_message(const char * const from, const char * const err_msg)
|
||||
{
|
||||
if (err_msg == NULL) {
|
||||
cons_show_error("Unknown error received from service.");
|
||||
@ -349,9 +368,11 @@ ui_handle_error_message(const char * const from, const char * const err_msg)
|
||||
|
||||
ui_print_error_from_recipient(from, err_msg);
|
||||
}
|
||||
void (*ui_handle_error_message)(const char * const,
|
||||
const char * const) = _ui_handle_error_message;
|
||||
|
||||
void
|
||||
ui_contact_online(const char * const barejid, const char * const resource,
|
||||
static void
|
||||
_ui_contact_online(const char * const barejid, const char * const resource,
|
||||
const char * const show, const char * const status, GDateTime *last_activity)
|
||||
{
|
||||
PContact contact = roster_get_contact(barejid);
|
||||
@ -375,9 +396,11 @@ ui_contact_online(const char * const barejid, const char * const resource,
|
||||
wins_refresh_current();
|
||||
}
|
||||
}
|
||||
void (*ui_contact_online)(const char * const, const char * const,
|
||||
const char * const, const char * const, GDateTime*) = _ui_contact_online;
|
||||
|
||||
void
|
||||
ui_contact_offline(const char * const from, const char * const show,
|
||||
static void
|
||||
_ui_contact_offline(const char * const from, const char * const show,
|
||||
const char * const status)
|
||||
{
|
||||
Jid *jidp = jid_create(from);
|
||||
@ -403,18 +426,21 @@ ui_contact_offline(const char * const from, const char * const show,
|
||||
wins_refresh_current();
|
||||
}
|
||||
}
|
||||
void (*ui_contact_offline)(const char * const, const char * const,
|
||||
const char * const) = _ui_contact_offline;
|
||||
|
||||
void
|
||||
ui_disconnected(void)
|
||||
static void
|
||||
_ui_disconnected(void)
|
||||
{
|
||||
wins_lost_connection();
|
||||
title_bar_set_status(CONTACT_OFFLINE);
|
||||
status_bar_clear_message();
|
||||
status_bar_refresh();
|
||||
}
|
||||
void (*ui_disconnected)(void) = _ui_disconnected;
|
||||
|
||||
void
|
||||
ui_handle_special_keys(const wint_t * const ch, const char * const inp,
|
||||
static void
|
||||
_ui_handle_special_keys(const wint_t * const ch, const char * const inp,
|
||||
const int size)
|
||||
{
|
||||
_win_handle_switch(ch);
|
||||
@ -424,9 +450,11 @@ ui_handle_special_keys(const wint_t * const ch, const char * const inp,
|
||||
}
|
||||
|
||||
}
|
||||
void (*ui_handle_special_keys)(const wint_t * const, const char * const,
|
||||
const int) = _ui_handle_special_keys;
|
||||
|
||||
void
|
||||
ui_close_connected_win(int index)
|
||||
static void
|
||||
_ui_close_connected_win(int index)
|
||||
{
|
||||
win_type_t win_type = ui_win_type(index);
|
||||
if (win_type == WIN_MUC) {
|
||||
@ -446,9 +474,10 @@ ui_close_connected_win(int index)
|
||||
}
|
||||
}
|
||||
}
|
||||
void (*ui_close_connected_win)(int index) = _ui_close_connected_win;
|
||||
|
||||
int
|
||||
ui_close_all_wins(void)
|
||||
static int
|
||||
_ui_close_all_wins(void)
|
||||
{
|
||||
int count = 0;
|
||||
jabber_conn_status_t conn_status = jabber_get_connection_status();
|
||||
@ -473,9 +502,10 @@ ui_close_all_wins(void)
|
||||
|
||||
return count;
|
||||
}
|
||||
int (*ui_close_all_wins)(void) = _ui_close_all_wins;
|
||||
|
||||
int
|
||||
ui_close_read_wins(void)
|
||||
static int
|
||||
_ui_close_read_wins(void)
|
||||
{
|
||||
int count = 0;
|
||||
jabber_conn_status_t conn_status = jabber_get_connection_status();
|
||||
@ -500,9 +530,10 @@ ui_close_read_wins(void)
|
||||
|
||||
return count;
|
||||
}
|
||||
int (*ui_close_read_wins)(void) = _ui_close_read_wins;
|
||||
|
||||
void
|
||||
ui_switch_win(const int i)
|
||||
static void
|
||||
_ui_switch_win(const int i)
|
||||
{
|
||||
ui_current_page_off();
|
||||
ProfWin *new_current = wins_get_by_num(i);
|
||||
@ -534,9 +565,10 @@ ui_switch_win(const int i)
|
||||
wins_refresh_current();
|
||||
}
|
||||
}
|
||||
void (*ui_switch_win)(const int) = _ui_switch_win;
|
||||
|
||||
void
|
||||
ui_next_win(void)
|
||||
static void
|
||||
_ui_next_win(void)
|
||||
{
|
||||
ui_current_page_off();
|
||||
ProfWin *new_current = wins_get_next();
|
||||
@ -567,9 +599,10 @@ ui_next_win(void)
|
||||
}
|
||||
wins_refresh_current();
|
||||
}
|
||||
void (*ui_next_win)(void) = _ui_next_win;
|
||||
|
||||
void
|
||||
ui_previous_win(void)
|
||||
static void
|
||||
_ui_previous_win(void)
|
||||
{
|
||||
ui_current_page_off();
|
||||
ProfWin *new_current = wins_get_previous();
|
||||
@ -600,15 +633,17 @@ ui_previous_win(void)
|
||||
}
|
||||
wins_refresh_current();
|
||||
}
|
||||
void (*ui_previous_win)(void) = _ui_previous_win;
|
||||
|
||||
void
|
||||
ui_clear_current(void)
|
||||
static void
|
||||
_ui_clear_current(void)
|
||||
{
|
||||
wins_clear_current();
|
||||
}
|
||||
void (*ui_clear_current)(void) = _ui_clear_current;
|
||||
|
||||
void
|
||||
ui_close_current(void)
|
||||
static void
|
||||
_ui_close_current(void)
|
||||
{
|
||||
int current_index = wins_get_current_num();
|
||||
status_bar_inactive(current_index);
|
||||
@ -617,9 +652,10 @@ ui_close_current(void)
|
||||
status_bar_active(1);
|
||||
title_bar_title();
|
||||
}
|
||||
void (*ui_close_current)(void) = _ui_close_current;
|
||||
|
||||
void
|
||||
ui_close_win(int index)
|
||||
static void
|
||||
_ui_close_win(int index)
|
||||
{
|
||||
wins_close_by_num(index);
|
||||
status_bar_current(1);
|
||||
@ -628,9 +664,10 @@ ui_close_win(int index)
|
||||
|
||||
wins_refresh_current();
|
||||
}
|
||||
void (*ui_close_win)(int) = _ui_close_win;
|
||||
|
||||
void
|
||||
ui_tidy_wins(void)
|
||||
static void
|
||||
_ui_tidy_wins(void)
|
||||
{
|
||||
gboolean tidied = wins_tidy();
|
||||
|
||||
@ -640,9 +677,10 @@ ui_tidy_wins(void)
|
||||
cons_show("No tidy needed.");
|
||||
}
|
||||
}
|
||||
void (*ui_tidy_wins)(void) = _ui_tidy_wins;
|
||||
|
||||
void
|
||||
ui_prune_wins(void)
|
||||
static void
|
||||
_ui_prune_wins(void)
|
||||
{
|
||||
jabber_conn_status_t conn_status = jabber_get_connection_status();
|
||||
gboolean pruned = FALSE;
|
||||
@ -685,43 +723,49 @@ ui_prune_wins(void)
|
||||
cons_show("No prune needed.");
|
||||
}
|
||||
}
|
||||
void (*ui_prune_wins)(void) = _ui_prune_wins;
|
||||
|
||||
win_type_t
|
||||
ui_current_win_type(void)
|
||||
static win_type_t
|
||||
_ui_current_win_type(void)
|
||||
{
|
||||
ProfWin *current = wins_get_current();
|
||||
return current->type;
|
||||
}
|
||||
win_type_t (*ui_current_win_type)(void) = _ui_current_win_type;
|
||||
|
||||
int
|
||||
ui_current_win_index(void)
|
||||
static int
|
||||
_ui_current_win_index(void)
|
||||
{
|
||||
return wins_get_current_num();
|
||||
}
|
||||
int (*ui_current_win_index)(void) = _ui_current_win_index;
|
||||
|
||||
win_type_t
|
||||
ui_win_type(int index)
|
||||
static win_type_t
|
||||
_ui_win_type(int index)
|
||||
{
|
||||
ProfWin *window = wins_get_by_num(index);
|
||||
return window->type;
|
||||
}
|
||||
win_type_t (*ui_win_type)(int index) = _ui_win_type;
|
||||
|
||||
char *
|
||||
ui_recipient(int index)
|
||||
static char *
|
||||
_ui_recipient(int index)
|
||||
{
|
||||
ProfWin *window = wins_get_by_num(index);
|
||||
return window->from;
|
||||
}
|
||||
char * (*ui_recipient)(int) = _ui_recipient;
|
||||
|
||||
char *
|
||||
ui_current_recipient(void)
|
||||
static char *
|
||||
_ui_current_recipient(void)
|
||||
{
|
||||
ProfWin *current = wins_get_current();
|
||||
return current->from;
|
||||
}
|
||||
char* (*ui_current_recipient)(void) = _ui_current_recipient;
|
||||
|
||||
void
|
||||
ui_current_print_line(const char * const msg, ...)
|
||||
static void
|
||||
_ui_current_print_line(const char * const msg, ...)
|
||||
{
|
||||
ProfWin *current = wins_get_current();
|
||||
va_list arg;
|
||||
@ -730,25 +774,28 @@ ui_current_print_line(const char * const msg, ...)
|
||||
va_end(arg);
|
||||
win_refresh(current);
|
||||
}
|
||||
void (*ui_current_print_line)(const char * const, ...) = _ui_current_print_line;
|
||||
|
||||
void
|
||||
ui_current_error_line(const char * const msg)
|
||||
static void
|
||||
_ui_current_error_line(const char * const msg)
|
||||
{
|
||||
ProfWin *current = wins_get_current();
|
||||
win_print_line(current, '-', COLOUR_ERROR, msg);
|
||||
win_refresh(current);
|
||||
}
|
||||
void (*ui_current_error_line)(const char * const) = _ui_current_error_line;
|
||||
|
||||
void
|
||||
ui_current_page_off(void)
|
||||
static void
|
||||
_ui_current_page_off(void)
|
||||
{
|
||||
ProfWin *current = wins_get_current();
|
||||
win_page_off(current);
|
||||
win_refresh(current);
|
||||
}
|
||||
void (*ui_current_page_off)(void) = _ui_current_page_off;
|
||||
|
||||
void
|
||||
ui_print_error_from_recipient(const char * const from, const char *err_msg)
|
||||
static void
|
||||
_ui_print_error_from_recipient(const char * const from, const char *err_msg)
|
||||
{
|
||||
if (from == NULL || err_msg == NULL)
|
||||
return;
|
||||
@ -761,9 +808,10 @@ ui_print_error_from_recipient(const char * const from, const char *err_msg)
|
||||
}
|
||||
}
|
||||
}
|
||||
void (*ui_print_error_from_recipient)(const char * const, const char *) = _ui_print_error_from_recipient;
|
||||
|
||||
void
|
||||
ui_print_system_msg_from_recipient(const char * const from, const char *message)
|
||||
static void
|
||||
_ui_print_system_msg_from_recipient(const char * const from, const char *message)
|
||||
{
|
||||
int num = 0;
|
||||
char from_cpy[strlen(from) + 1];
|
||||
@ -796,9 +844,11 @@ ui_print_system_msg_from_recipient(const char * const from, const char *message)
|
||||
wins_refresh_current();
|
||||
}
|
||||
}
|
||||
void (*ui_print_system_msg_from_recipient)(const char * const,
|
||||
const char *) = _ui_print_system_msg_from_recipient;
|
||||
|
||||
void
|
||||
ui_recipient_gone(const char * const barejid)
|
||||
static void
|
||||
_ui_recipient_gone(const char * const barejid)
|
||||
{
|
||||
if (barejid == NULL)
|
||||
return;
|
||||
@ -819,9 +869,10 @@ ui_recipient_gone(const char * const barejid)
|
||||
}
|
||||
}
|
||||
}
|
||||
void (*ui_recipient_gone)(const char * const) = _ui_recipient_gone;
|
||||
|
||||
void
|
||||
ui_new_chat_win(const char * const to)
|
||||
static void
|
||||
_ui_new_chat_win(const char * const to)
|
||||
{
|
||||
// if the contact is offline, show a message
|
||||
PContact contact = roster_get_contact(to);
|
||||
@ -858,18 +909,20 @@ ui_new_chat_win(const char * const to)
|
||||
|
||||
ui_switch_win(num);
|
||||
}
|
||||
void (*ui_new_chat_win)(const char * const) = _ui_new_chat_win;
|
||||
|
||||
void
|
||||
ui_create_duck_win(void)
|
||||
static void
|
||||
_ui_create_duck_win(void)
|
||||
{
|
||||
ProfWin *window = wins_new("DuckDuckGo search", WIN_DUCK);
|
||||
int num = wins_get_num(window);
|
||||
ui_switch_win(num);
|
||||
win_print_line(window, '-', 0, "Type ':help' to find out more.");
|
||||
}
|
||||
void (*ui_create_duck_win)(void) = _ui_create_duck_win;
|
||||
|
||||
void
|
||||
ui_open_duck_win(void)
|
||||
static void
|
||||
_ui_open_duck_win(void)
|
||||
{
|
||||
ProfWin *window = wins_get_by_recipient("DuckDuckGo search");
|
||||
if (window != NULL) {
|
||||
@ -877,9 +930,10 @@ ui_open_duck_win(void)
|
||||
ui_switch_win(num);
|
||||
}
|
||||
}
|
||||
void (*ui_open_duck_win)(void) = _ui_open_duck_win;
|
||||
|
||||
void
|
||||
ui_duck(const char * const query)
|
||||
static void
|
||||
_ui_duck(const char * const query)
|
||||
{
|
||||
ProfWin *window = wins_get_by_recipient("DuckDuckGo search");
|
||||
if (window != NULL) {
|
||||
@ -893,9 +947,10 @@ ui_duck(const char * const query)
|
||||
wprintw(window->win, "\n");
|
||||
}
|
||||
}
|
||||
void (*ui_duck)(const char * const) = _ui_duck;
|
||||
|
||||
void
|
||||
ui_duck_result(const char * const result)
|
||||
static void
|
||||
_ui_duck_result(const char * const result)
|
||||
{
|
||||
ProfWin *window = wins_get_by_recipient("DuckDuckGo search");
|
||||
|
||||
@ -926,9 +981,10 @@ ui_duck_result(const char * const result)
|
||||
wprintw(window->win, "\n");
|
||||
}
|
||||
}
|
||||
void (*ui_duck_result)(const char * const) = _ui_duck_result;
|
||||
|
||||
void
|
||||
ui_outgoing_msg(const char * const from, const char * const to,
|
||||
static void
|
||||
_ui_outgoing_msg(const char * const from, const char * const to,
|
||||
const char * const message)
|
||||
{
|
||||
PContact contact = roster_get_contact(to);
|
||||
@ -978,9 +1034,11 @@ ui_outgoing_msg(const char * const from, const char * const to,
|
||||
}
|
||||
ui_switch_win(num);
|
||||
}
|
||||
void (*ui_outgoing_msg)(const char * const, const char * const,
|
||||
const char * const) = _ui_outgoing_msg;
|
||||
|
||||
void
|
||||
ui_room_join(Jid *jid)
|
||||
static void
|
||||
_ui_room_join(Jid *jid)
|
||||
{
|
||||
ProfWin *window = wins_get_by_recipient(jid->barejid);
|
||||
int num = 0;
|
||||
@ -993,9 +1051,10 @@ ui_room_join(Jid *jid)
|
||||
num = wins_get_num(window);
|
||||
ui_switch_win(num);
|
||||
}
|
||||
void (*ui_room_join)(Jid *) = _ui_room_join;
|
||||
|
||||
void
|
||||
ui_room_roster(const char * const room, GList *roster, const char * const presence)
|
||||
static void
|
||||
_ui_room_roster(const char * const room, GList *roster, const char * const presence)
|
||||
{
|
||||
ProfWin *window = wins_get_by_recipient(room);
|
||||
|
||||
@ -1048,9 +1107,10 @@ ui_room_roster(const char * const room, GList *roster, const char * const presen
|
||||
wins_refresh_current();
|
||||
}
|
||||
}
|
||||
void (*ui_room_roster)(const char * const, GList*, const char * const) = _ui_room_roster;
|
||||
|
||||
void
|
||||
ui_room_member_offline(const char * const room, const char * const nick)
|
||||
static void
|
||||
_ui_room_member_offline(const char * const room, const char * const nick)
|
||||
{
|
||||
ProfWin *window = wins_get_by_recipient(room);
|
||||
|
||||
@ -1063,9 +1123,10 @@ ui_room_member_offline(const char * const room, const char * const nick)
|
||||
wins_refresh_current();
|
||||
}
|
||||
}
|
||||
void (*ui_room_member_offline)(const char * const, const char * const) = _ui_room_member_offline;
|
||||
|
||||
void
|
||||
ui_room_member_online(const char * const room, const char * const nick,
|
||||
static void
|
||||
_ui_room_member_online(const char * const room, const char * const nick,
|
||||
const char * const show, const char * const status)
|
||||
{
|
||||
ProfWin *window = wins_get_by_recipient(room);
|
||||
@ -1079,9 +1140,11 @@ ui_room_member_online(const char * const room, const char * const nick,
|
||||
wins_refresh_current();
|
||||
}
|
||||
}
|
||||
void (*ui_room_member_online)(const char * const, const char * const,
|
||||
const char * const, const char * const) = _ui_room_member_online;
|
||||
|
||||
void
|
||||
ui_room_member_presence(const char * const room, const char * const nick,
|
||||
static void
|
||||
_ui_room_member_presence(const char * const room, const char * const nick,
|
||||
const char * const show, const char * const status)
|
||||
{
|
||||
ProfWin *window = wins_get_by_recipient(room);
|
||||
@ -1094,9 +1157,11 @@ ui_room_member_presence(const char * const room, const char * const nick,
|
||||
wins_refresh_current();
|
||||
}
|
||||
}
|
||||
void (*ui_room_member_presence)(const char * const, const char * const,
|
||||
const char * const, const char * const) = _ui_room_member_presence;
|
||||
|
||||
void
|
||||
ui_room_member_nick_change(const char * const room,
|
||||
static void
|
||||
_ui_room_member_nick_change(const char * const room,
|
||||
const char * const old_nick, const char * const nick)
|
||||
{
|
||||
ProfWin *window = wins_get_by_recipient(room);
|
||||
@ -1110,9 +1175,11 @@ ui_room_member_nick_change(const char * const room,
|
||||
wins_refresh_current();
|
||||
}
|
||||
}
|
||||
void (*ui_room_member_nick_change)(const char * const,
|
||||
const char * const, const char * const) = _ui_room_member_nick_change;
|
||||
|
||||
void
|
||||
ui_room_nick_change(const char * const room, const char * const nick)
|
||||
static void
|
||||
_ui_room_nick_change(const char * const room, const char * const nick)
|
||||
{
|
||||
ProfWin *window = wins_get_by_recipient(room);
|
||||
|
||||
@ -1125,9 +1192,10 @@ ui_room_nick_change(const char * const room, const char * const nick)
|
||||
wins_refresh_current();
|
||||
}
|
||||
}
|
||||
void (*ui_room_nick_change)(const char * const, const char * const) = _ui_room_nick_change;
|
||||
|
||||
void
|
||||
ui_room_history(const char * const room_jid, const char * const nick,
|
||||
static void
|
||||
_ui_room_history(const char * const room_jid, const char * const nick,
|
||||
GTimeVal tv_stamp, const char * const message)
|
||||
{
|
||||
ProfWin *window = wins_get_by_recipient(room_jid);
|
||||
@ -1151,9 +1219,11 @@ ui_room_history(const char * const room_jid, const char * const nick,
|
||||
wins_refresh_current();
|
||||
}
|
||||
}
|
||||
void (*ui_room_history)(const char * const, const char * const,
|
||||
GTimeVal, const char * const) = _ui_room_history;
|
||||
|
||||
void
|
||||
ui_room_message(const char * const room_jid, const char * const nick,
|
||||
static void
|
||||
_ui_room_message(const char * const room_jid, const char * const nick,
|
||||
const char * const message)
|
||||
{
|
||||
ProfWin *window = wins_get_by_recipient(room_jid);
|
||||
@ -1223,9 +1293,11 @@ ui_room_message(const char * const room_jid, const char * const nick,
|
||||
}
|
||||
}
|
||||
}
|
||||
void (*ui_room_message)(const char * const, const char * const,
|
||||
const char * const) = _ui_room_message;
|
||||
|
||||
void
|
||||
ui_room_subject(const char * const room_jid, const char * const subject)
|
||||
static void
|
||||
_ui_room_subject(const char * const room_jid, const char * const subject)
|
||||
{
|
||||
ProfWin *window = wins_get_by_recipient(room_jid);
|
||||
int num = wins_get_num(window);
|
||||
@ -1246,9 +1318,10 @@ ui_room_subject(const char * const room_jid, const char * const subject)
|
||||
status_bar_new(num);
|
||||
}
|
||||
}
|
||||
void (*ui_room_subject)(const char * const, const char * const) = _ui_room_subject;
|
||||
|
||||
void
|
||||
ui_room_broadcast(const char * const room_jid, const char * const message)
|
||||
static void
|
||||
_ui_room_broadcast(const char * const room_jid, const char * const message)
|
||||
{
|
||||
ProfWin *window = wins_get_by_recipient(room_jid);
|
||||
int num = wins_get_num(window);
|
||||
@ -1269,9 +1342,10 @@ ui_room_broadcast(const char * const room_jid, const char * const message)
|
||||
status_bar_new(num);
|
||||
}
|
||||
}
|
||||
void (*ui_room_broadcast)(const char * const, const char * const) = _ui_room_broadcast;
|
||||
|
||||
void
|
||||
ui_status(void)
|
||||
static void
|
||||
_ui_status(void)
|
||||
{
|
||||
char *recipient = ui_current_recipient();
|
||||
PContact pcontact = roster_get_contact(recipient);
|
||||
@ -1283,9 +1357,10 @@ ui_status(void)
|
||||
win_print_line(current, '-', 0, "Error getting contact info.");
|
||||
}
|
||||
}
|
||||
void (*ui_status)(void) = _ui_status;
|
||||
|
||||
void
|
||||
ui_status_private(void)
|
||||
static void
|
||||
_ui_status_private(void)
|
||||
{
|
||||
Jid *jid = jid_create(ui_current_recipient());
|
||||
PContact pcontact = muc_get_participant(jid->barejid, jid->resourcepart);
|
||||
@ -1299,9 +1374,10 @@ ui_status_private(void)
|
||||
|
||||
jid_destroy(jid);
|
||||
}
|
||||
void (*ui_status_private)(void) = _ui_status_private;
|
||||
|
||||
void
|
||||
ui_status_room(const char * const contact)
|
||||
static void
|
||||
_ui_status_room(const char * const contact)
|
||||
{
|
||||
PContact pcontact = muc_get_participant(ui_current_recipient(), contact);
|
||||
ProfWin *current = wins_get_current();
|
||||
@ -1312,15 +1388,17 @@ ui_status_room(const char * const contact)
|
||||
win_print_line(current, '-', 0, "No such participant \"%s\" in room.", contact);
|
||||
}
|
||||
}
|
||||
void (*ui_status_room)(const char * const) = _ui_status_room;
|
||||
|
||||
gint
|
||||
ui_unread(void)
|
||||
static gint
|
||||
_ui_unread(void)
|
||||
{
|
||||
return wins_get_total_unread();
|
||||
}
|
||||
gint (*ui_unread)(void) = _ui_unread;
|
||||
|
||||
int
|
||||
ui_win_unread(int index)
|
||||
static int
|
||||
_ui_win_unread(int index)
|
||||
{
|
||||
ProfWin *window = wins_get_by_num(index);
|
||||
if (window != NULL) {
|
||||
@ -1329,9 +1407,10 @@ ui_win_unread(int index)
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
int (*ui_win_unread)(int) = _ui_win_unread;
|
||||
|
||||
char *
|
||||
ui_ask_password(void)
|
||||
static char *
|
||||
_ui_ask_password(void)
|
||||
{
|
||||
char *passwd = malloc(sizeof(char) * (MAX_PASSWORD_SIZE + 1));
|
||||
status_bar_get_password();
|
||||
@ -1342,6 +1421,7 @@ ui_ask_password(void)
|
||||
|
||||
return passwd;
|
||||
}
|
||||
char * (*ui_ask_password)(void) = _ui_ask_password;
|
||||
|
||||
static void
|
||||
_ui_draw_win_title(void)
|
||||
|
@ -58,8 +58,8 @@ static int _printable(const wint_t ch);
|
||||
static void _clear_input(void);
|
||||
static void _go_to_end(int display_size);
|
||||
|
||||
void
|
||||
create_input_window(void)
|
||||
static void
|
||||
_create_input_window(void)
|
||||
{
|
||||
#ifdef NCURSES_REENTRANT
|
||||
set_escdelay(25);
|
||||
@ -73,9 +73,10 @@ create_input_window(void)
|
||||
wmove(inp_win, 0, 0);
|
||||
_inp_win_refresh();
|
||||
}
|
||||
void (*create_input_window)(void) = _create_input_window;
|
||||
|
||||
void
|
||||
inp_win_resize(const char * const input, const int size)
|
||||
static void
|
||||
_inp_win_resize(const char * const input, const int size)
|
||||
{
|
||||
int inp_x;
|
||||
getmaxyx(stdscr, rows, cols);
|
||||
@ -91,21 +92,24 @@ inp_win_resize(const char * const input, const int size)
|
||||
|
||||
_inp_win_refresh();
|
||||
}
|
||||
void (*inp_win_resize)(const char * const, const int) = _inp_win_resize;
|
||||
|
||||
void
|
||||
inp_non_block(void)
|
||||
static void
|
||||
_inp_non_block(void)
|
||||
{
|
||||
wtimeout(inp_win, 20);
|
||||
}
|
||||
void (*inp_non_block)(void) = _inp_non_block;
|
||||
|
||||
void
|
||||
inp_block(void)
|
||||
static void
|
||||
_inp_block(void)
|
||||
{
|
||||
wtimeout(inp_win, -1);
|
||||
}
|
||||
void (*inp_block)(void) = _inp_block;
|
||||
|
||||
wint_t
|
||||
inp_get_char(char *input, int *size)
|
||||
static wint_t
|
||||
_inp_get_char(char *input, int *size)
|
||||
{
|
||||
int inp_x = 0;
|
||||
int i;
|
||||
@ -202,9 +206,10 @@ inp_get_char(char *input, int *size)
|
||||
|
||||
return ch;
|
||||
}
|
||||
wint_t (*inp_get_char)(char*, int*) = _inp_get_char;
|
||||
|
||||
void
|
||||
inp_get_password(char *passwd)
|
||||
static void
|
||||
_inp_get_password(char *passwd)
|
||||
{
|
||||
_clear_input();
|
||||
_inp_win_refresh();
|
||||
@ -214,15 +219,17 @@ inp_get_password(char *passwd)
|
||||
echo();
|
||||
status_bar_clear();
|
||||
}
|
||||
void (*inp_get_password)(char*) = _inp_get_password;
|
||||
|
||||
void
|
||||
inp_put_back(void)
|
||||
static void
|
||||
_inp_put_back(void)
|
||||
{
|
||||
_inp_win_refresh();
|
||||
}
|
||||
void (*inp_put_back)(void) = _inp_put_back;
|
||||
|
||||
void
|
||||
inp_replace_input(char *input, const char * const new_input, int *size)
|
||||
static void
|
||||
_inp_replace_input(char *input, const char * const new_input, int *size)
|
||||
{
|
||||
int display_size;
|
||||
strcpy(input, new_input);
|
||||
@ -233,14 +240,16 @@ inp_replace_input(char *input, const char * const new_input, int *size)
|
||||
waddstr(inp_win, input);
|
||||
_go_to_end(display_size);
|
||||
}
|
||||
void (*inp_replace_input)(char*, const char * const, int*) = _inp_replace_input;
|
||||
|
||||
void
|
||||
inp_win_reset(void)
|
||||
static void
|
||||
_inp_win_reset(void)
|
||||
{
|
||||
_clear_input();
|
||||
pad_start = 0;
|
||||
_inp_win_refresh();
|
||||
}
|
||||
void (*inp_win_reset)(void) = _inp_win_reset;
|
||||
|
||||
static void
|
||||
_clear_input(void)
|
||||
|
@ -39,16 +39,17 @@
|
||||
static void _notify(const char * const message, int timeout,
|
||||
const char * const category);
|
||||
|
||||
void
|
||||
notifier_init(void)
|
||||
static void
|
||||
_notifier_init(void)
|
||||
{
|
||||
#ifdef HAVE_LIBNOTIFY
|
||||
notify_init("Profanity");
|
||||
#endif
|
||||
}
|
||||
void (*notifier_init)(void) = _notifier_init;
|
||||
|
||||
void
|
||||
notifier_uninit(void)
|
||||
static void
|
||||
_notifier_uninit(void)
|
||||
{
|
||||
#ifdef HAVE_LIBNOTIFY
|
||||
if (notify_is_initted()) {
|
||||
@ -56,18 +57,20 @@ notifier_uninit(void)
|
||||
}
|
||||
#endif
|
||||
}
|
||||
void (*notifier_uninit)(void) = _notifier_uninit;
|
||||
|
||||
void
|
||||
notify_typing(const char * const handle)
|
||||
static void
|
||||
_notify_typing(const char * const handle)
|
||||
{
|
||||
char message[strlen(handle) + 1 + 11];
|
||||
sprintf(message, "%s: typing...", handle);
|
||||
|
||||
_notify(message, 10000, "Incoming message");
|
||||
}
|
||||
void (*notify_typing)(const char * const) = _notify_typing;
|
||||
|
||||
void
|
||||
notify_invite(const char * const from, const char * const room,
|
||||
static void
|
||||
_notify_invite(const char * const from, const char * const room,
|
||||
const char * const reason)
|
||||
{
|
||||
GString *message = g_string_new("Room invite\nfrom: ");
|
||||
@ -82,18 +85,21 @@ notify_invite(const char * const from, const char * const room,
|
||||
|
||||
g_string_free(message, TRUE);
|
||||
}
|
||||
void (*notify_invite)(const char * const, const char * const,
|
||||
const char * const) = _notify_invite;
|
||||
|
||||
void
|
||||
notify_message(const char * const handle, int win)
|
||||
static void
|
||||
_notify_message(const char * const handle, int win)
|
||||
{
|
||||
char message[strlen(handle) + 1 + 14];
|
||||
sprintf(message, "%s: message (%d).", handle, win);
|
||||
|
||||
_notify(message, 10000, "incoming message");
|
||||
}
|
||||
void (*notify_message)(const char * const, int) = _notify_message;
|
||||
|
||||
void
|
||||
notify_room_message(const char * const handle, const char * const room, int win)
|
||||
static void
|
||||
_notify_room_message(const char * const handle, const char * const room, int win)
|
||||
{
|
||||
GString *text = g_string_new("");
|
||||
|
||||
@ -104,18 +110,21 @@ notify_room_message(const char * const handle, const char * const room, int win)
|
||||
|
||||
g_string_free(text, TRUE);
|
||||
}
|
||||
void (*notify_room_message)(const char * const, const char * const,
|
||||
int) = _notify_room_message;
|
||||
|
||||
void
|
||||
notify_subscription(const char * const from)
|
||||
static void
|
||||
_notify_subscription(const char * const from)
|
||||
{
|
||||
GString *message = g_string_new("Subscription request: \n");
|
||||
g_string_append(message, from);
|
||||
_notify(message->str, 10000, "Incomming message");
|
||||
g_string_free(message, TRUE);
|
||||
}
|
||||
void (*notify_subscription)(const char * const) = _notify_subscription;
|
||||
|
||||
void
|
||||
notify_remind(void)
|
||||
static void
|
||||
_notify_remind(void)
|
||||
{
|
||||
gint unread = ui_unread();
|
||||
gint open = muc_invite_count();
|
||||
@ -158,6 +167,7 @@ notify_remind(void)
|
||||
|
||||
g_string_free(text, TRUE);
|
||||
}
|
||||
void (*notify_remind)(void) = _notify_remind;
|
||||
|
||||
static void
|
||||
_notify(const char * const message, int timeout,
|
||||
|
@ -54,8 +54,8 @@ static void _mark_new(int num);
|
||||
static void _mark_active(int num);
|
||||
static void _mark_inactive(int num);
|
||||
|
||||
void
|
||||
create_status_bar(void)
|
||||
static void
|
||||
_create_status_bar(void)
|
||||
{
|
||||
int rows, cols, i;
|
||||
getmaxyx(stdscr, rows, cols);
|
||||
@ -83,9 +83,10 @@ create_status_bar(void)
|
||||
|
||||
dirty = TRUE;
|
||||
}
|
||||
void (*create_status_bar)(void) = _create_status_bar;
|
||||
|
||||
void
|
||||
status_bar_refresh(void)
|
||||
static void
|
||||
_status_bar_refresh(void)
|
||||
{
|
||||
GDateTime *now_time = g_date_time_new_now_local();
|
||||
GTimeSpan elapsed = g_date_time_difference(now_time, last_time);
|
||||
@ -107,9 +108,10 @@ status_bar_refresh(void)
|
||||
|
||||
g_date_time_unref(now_time);
|
||||
}
|
||||
void (*status_bar_refresh)(void) = _status_bar_refresh;
|
||||
|
||||
void
|
||||
status_bar_resize(void)
|
||||
static void
|
||||
_status_bar_resize(void)
|
||||
{
|
||||
int rows, cols;
|
||||
getmaxyx(stdscr, rows, cols);
|
||||
@ -133,9 +135,10 @@ status_bar_resize(void)
|
||||
last_time = g_date_time_new_now_local();
|
||||
dirty = TRUE;
|
||||
}
|
||||
void (*status_bar_resize)(void) = _status_bar_resize;
|
||||
|
||||
void
|
||||
status_bar_set_all_inactive(void)
|
||||
static void
|
||||
_status_bar_set_all_inactive(void)
|
||||
{
|
||||
int i = 0;
|
||||
for (i = 0; i < 12; i++) {
|
||||
@ -147,9 +150,10 @@ status_bar_set_all_inactive(void)
|
||||
g_hash_table_remove_all(remaining_active);
|
||||
g_hash_table_remove_all(remaining_new);
|
||||
}
|
||||
void (*status_bar_set_all_inactive)(void) = _status_bar_set_all_inactive;
|
||||
|
||||
void
|
||||
status_bar_current(int i)
|
||||
static void
|
||||
_status_bar_current(int i)
|
||||
{
|
||||
if (i == 0) {
|
||||
current = 10;
|
||||
@ -164,9 +168,10 @@ status_bar_current(int i)
|
||||
mvwprintw(status_bar, 0, cols - 34 + ((current - 1) * 3), bracket);
|
||||
wattroff(status_bar, COLOUR_STATUS_BRACKET);
|
||||
}
|
||||
void (*status_bar_current)(int) = _status_bar_current;
|
||||
|
||||
void
|
||||
status_bar_inactive(const int win)
|
||||
static void
|
||||
_status_bar_inactive(const int win)
|
||||
{
|
||||
int true_win = win;
|
||||
if (true_win == 0) {
|
||||
@ -204,9 +209,10 @@ status_bar_inactive(const int win)
|
||||
_mark_inactive(true_win);
|
||||
}
|
||||
}
|
||||
void (*status_bar_inactive)(const int) = _status_bar_inactive;
|
||||
|
||||
void
|
||||
status_bar_active(const int win)
|
||||
static void
|
||||
_status_bar_active(const int win)
|
||||
{
|
||||
int true_win = win;
|
||||
if (true_win == 0) {
|
||||
@ -238,9 +244,10 @@ status_bar_active(const int win)
|
||||
_mark_active(true_win);
|
||||
}
|
||||
}
|
||||
void (*status_bar_active)(const int) = _status_bar_active;
|
||||
|
||||
void
|
||||
status_bar_new(const int win)
|
||||
static void
|
||||
_status_bar_new(const int win)
|
||||
{
|
||||
int true_win = win;
|
||||
if (true_win == 0) {
|
||||
@ -261,16 +268,18 @@ status_bar_new(const int win)
|
||||
_mark_new(true_win);
|
||||
}
|
||||
}
|
||||
void (*status_bar_new)(const int) = _status_bar_new;
|
||||
|
||||
void
|
||||
status_bar_get_password(void)
|
||||
static void
|
||||
_status_bar_get_password(void)
|
||||
{
|
||||
status_bar_print_message("Enter password:");
|
||||
dirty = TRUE;
|
||||
}
|
||||
void (*status_bar_get_password)(void) = _status_bar_get_password;
|
||||
|
||||
void
|
||||
status_bar_print_message(const char * const msg)
|
||||
static void
|
||||
_status_bar_print_message(const char * const msg)
|
||||
{
|
||||
werase(status_bar);
|
||||
|
||||
@ -291,9 +300,10 @@ status_bar_print_message(const char * const msg)
|
||||
_update_win_statuses();
|
||||
dirty = TRUE;
|
||||
}
|
||||
void (*status_bar_print_message)(const char * const) = _status_bar_print_message;
|
||||
|
||||
void
|
||||
status_bar_clear(void)
|
||||
static void
|
||||
_status_bar_clear(void)
|
||||
{
|
||||
if (message != NULL) {
|
||||
free(message);
|
||||
@ -319,9 +329,10 @@ status_bar_clear(void)
|
||||
|
||||
dirty = TRUE;
|
||||
}
|
||||
void (*status_bar_clear)(void) = _status_bar_clear;
|
||||
|
||||
void
|
||||
status_bar_clear_message(void)
|
||||
static void
|
||||
_status_bar_clear_message(void)
|
||||
{
|
||||
if (message != NULL) {
|
||||
free(message);
|
||||
@ -340,6 +351,7 @@ status_bar_clear_message(void)
|
||||
_update_win_statuses();
|
||||
dirty = TRUE;
|
||||
}
|
||||
void (*status_bar_clear_message)(void) = _status_bar_clear_message;
|
||||
|
||||
static void
|
||||
_status_bar_update_time(void)
|
||||
|
@ -37,8 +37,8 @@ static contact_presence_t current_status;
|
||||
static void _title_bar_draw_title(void);
|
||||
static void _title_bar_draw_status(void);
|
||||
|
||||
void
|
||||
create_title_bar(void)
|
||||
static void
|
||||
_create_title_bar(void)
|
||||
{
|
||||
int cols = getmaxx(stdscr);
|
||||
|
||||
@ -48,9 +48,10 @@ create_title_bar(void)
|
||||
title_bar_set_status(CONTACT_OFFLINE);
|
||||
dirty = TRUE;
|
||||
}
|
||||
void (*create_title_bar)(void) = _create_title_bar;
|
||||
|
||||
void
|
||||
title_bar_title(void)
|
||||
static void
|
||||
_title_bar_title(void)
|
||||
{
|
||||
werase(title_bar);
|
||||
recipient = NULL;
|
||||
@ -59,9 +60,10 @@ title_bar_title(void)
|
||||
_title_bar_draw_status();
|
||||
dirty = TRUE;
|
||||
}
|
||||
void (*title_bar_title)(void) = _title_bar_title;
|
||||
|
||||
void
|
||||
title_bar_resize(void)
|
||||
static void
|
||||
_title_bar_resize(void)
|
||||
{
|
||||
int cols = getmaxx(stdscr);
|
||||
|
||||
@ -72,9 +74,10 @@ title_bar_resize(void)
|
||||
_title_bar_draw_status();
|
||||
dirty = TRUE;
|
||||
}
|
||||
void (*title_bar_resize)(void) = _title_bar_resize;
|
||||
|
||||
void
|
||||
title_bar_refresh(void)
|
||||
static void
|
||||
_title_bar_refresh(void)
|
||||
{
|
||||
if (recipient != NULL) {
|
||||
|
||||
@ -106,9 +109,10 @@ title_bar_refresh(void)
|
||||
dirty = FALSE;
|
||||
}
|
||||
}
|
||||
void (*title_bar_refresh)(void) = _title_bar_refresh;
|
||||
|
||||
void
|
||||
title_bar_show(const char * const title)
|
||||
static void
|
||||
_title_bar_show(const char * const title)
|
||||
{
|
||||
if (current_title != NULL)
|
||||
free(current_title);
|
||||
@ -117,16 +121,18 @@ title_bar_show(const char * const title)
|
||||
strcpy(current_title, title);
|
||||
_title_bar_draw_title();
|
||||
}
|
||||
void (*title_bar_show)(const char * const) = _title_bar_show;
|
||||
|
||||
void
|
||||
title_bar_set_status(contact_presence_t status)
|
||||
static void
|
||||
_title_bar_set_status(contact_presence_t status)
|
||||
{
|
||||
current_status = status;
|
||||
_title_bar_draw_status();
|
||||
}
|
||||
void (*title_bar_set_status)(contact_presence_t) = _title_bar_set_status;
|
||||
|
||||
void
|
||||
title_bar_set_recipient(const char * const from)
|
||||
static void
|
||||
_title_bar_set_recipient(const char * const from)
|
||||
{
|
||||
if (typing_elapsed != NULL) {
|
||||
g_timer_destroy(typing_elapsed);
|
||||
@ -143,9 +149,10 @@ title_bar_set_recipient(const char * const from)
|
||||
|
||||
dirty = TRUE;
|
||||
}
|
||||
void (*title_bar_set_recipient)(const char * const) = _title_bar_set_recipient;
|
||||
|
||||
void
|
||||
title_bar_set_typing(gboolean is_typing)
|
||||
static void
|
||||
_title_bar_set_typing(gboolean is_typing)
|
||||
{
|
||||
if (is_typing) {
|
||||
if (typing_elapsed != NULL) {
|
||||
@ -169,14 +176,16 @@ title_bar_set_typing(gboolean is_typing)
|
||||
|
||||
dirty = TRUE;
|
||||
}
|
||||
void (*title_bar_set_typing)(gboolean) = _title_bar_set_typing;
|
||||
|
||||
void
|
||||
title_bar_draw(void)
|
||||
static void
|
||||
_title_bar_draw(void)
|
||||
{
|
||||
werase(title_bar);
|
||||
_title_bar_draw_status();
|
||||
_title_bar_draw_title();
|
||||
}
|
||||
void (*title_bar_draw)(void) = _title_bar_draw;
|
||||
|
||||
static void
|
||||
_title_bar_draw_status(void)
|
||||
|
339
src/ui/ui.h
339
src/ui/ui.h
@ -42,218 +42,213 @@
|
||||
#define INP_WIN_MAX 1000
|
||||
|
||||
// ui startup and control
|
||||
void ui_init(void);
|
||||
void ui_load_colours(void);
|
||||
void ui_refresh(void);
|
||||
void ui_close(void);
|
||||
void ui_resize(const int ch, const char * const input,
|
||||
void (*ui_init)(void);
|
||||
void (*ui_load_colours)(void);
|
||||
void (*ui_refresh)(void);
|
||||
void (*ui_close)(void);
|
||||
void (*ui_resize)(const int ch, const char * const input,
|
||||
const int size);
|
||||
GSList* ui_get_recipients(void);
|
||||
void ui_handle_special_keys(const wint_t * const ch, const char * const inp,
|
||||
GSList* (*ui_get_recipients)(void);
|
||||
void (*ui_handle_special_keys)(const wint_t * const ch, const char * const inp,
|
||||
const int size);
|
||||
void ui_switch_win(const int i);
|
||||
void ui_next_win(void);
|
||||
void ui_previous_win(void);
|
||||
unsigned long ui_get_idle_time(void);
|
||||
void ui_reset_idle_time(void);
|
||||
void ui_new_chat_win(const char * const to);
|
||||
void ui_print_error_from_recipient(const char * const from, const char *err_msg);
|
||||
void ui_print_system_msg_from_recipient(const char * const from, const char *message);
|
||||
void ui_handle_error_message(const char * const from, const char * const err_msg);
|
||||
gint ui_unread(void);
|
||||
void ui_close_connected_win(int index);
|
||||
int ui_close_all_wins(void);
|
||||
int ui_close_read_wins(void);
|
||||
void (*ui_switch_win)(const int i);
|
||||
void (*ui_next_win)(void);
|
||||
void (*ui_previous_win)(void);
|
||||
unsigned long (*ui_get_idle_time)(void);
|
||||
void (*ui_reset_idle_time)(void);
|
||||
void (*ui_new_chat_win)(const char * const to);
|
||||
void (*ui_print_error_from_recipient)(const char * const from, const char *err_msg);
|
||||
void (*ui_print_system_msg_from_recipient)(const char * const from, const char *message);
|
||||
void (*ui_handle_error_message)(const char * const from, const char * const err_msg);
|
||||
gint (*ui_unread)(void);
|
||||
void (*ui_close_connected_win)(int index);
|
||||
int (*ui_close_all_wins)(void);
|
||||
int (*ui_close_read_wins)(void);
|
||||
|
||||
// current window actions
|
||||
void ui_close_current(void);
|
||||
void ui_clear_current(void);
|
||||
win_type_t ui_current_win_type(void);
|
||||
int ui_current_win_index(void);
|
||||
char* ui_current_recipient(void);
|
||||
void ui_current_print_line(const char * const msg, ...);
|
||||
void ui_current_error_line(const char * const msg);
|
||||
void ui_current_page_off(void);
|
||||
void (*ui_close_current)(void);
|
||||
void (*ui_clear_current)(void);
|
||||
win_type_t (*ui_current_win_type)(void);
|
||||
int (*ui_current_win_index)(void);
|
||||
char* (*ui_current_recipient)(void);
|
||||
void (*ui_current_print_line)(const char * const msg, ...);
|
||||
void (*ui_current_error_line)(const char * const msg);
|
||||
void (*ui_current_page_off)(void);
|
||||
|
||||
win_type_t ui_win_type(int index);
|
||||
char * ui_recipient(int index);
|
||||
void ui_close_win(int index);
|
||||
gboolean ui_win_exists(int index);
|
||||
int ui_win_unread(int index);
|
||||
char * ui_ask_password(void);
|
||||
win_type_t (*ui_win_type)(int index);
|
||||
char * (*ui_recipient)(int index);
|
||||
void (*ui_close_win)(int index);
|
||||
gboolean (*ui_win_exists)(int index);
|
||||
int (*ui_win_unread)(int index);
|
||||
char * (*ui_ask_password)(void);
|
||||
|
||||
// ui events
|
||||
void ui_contact_typing(const char * const from);
|
||||
void ui_incoming_msg(const char * const from, const char * const message,
|
||||
void (*ui_contact_typing)(const char * const from);
|
||||
void (*ui_incoming_msg)(const char * const from, const char * const message,
|
||||
GTimeVal *tv_stamp, gboolean priv);
|
||||
void ui_contact_online(const char * const barejid, const char * const resource,
|
||||
void (*ui_contact_online)(const char * const barejid, const char * const resource,
|
||||
const char * const show, const char * const status, GDateTime *last_activity);
|
||||
void ui_contact_offline(const char * const from, const char * const show,
|
||||
void (*ui_contact_offline)(const char * const from, const char * const show,
|
||||
const char * const status);
|
||||
void ui_disconnected(void);
|
||||
void ui_recipient_gone(const char * const barejid);
|
||||
void ui_outgoing_msg(const char * const from, const char * const to,
|
||||
void (*ui_disconnected)(void);
|
||||
void (*ui_recipient_gone)(const char * const barejid);
|
||||
void (*ui_outgoing_msg)(const char * const from, const char * const to,
|
||||
const char * const message);
|
||||
void ui_room_join(Jid *jid);
|
||||
void ui_room_roster(const char * const room, GList *roster, const char * const presence);
|
||||
void ui_room_history(const char * const room_jid, const char * const nick,
|
||||
void (*ui_room_join)(Jid *jid);
|
||||
void (*ui_room_roster)(const char * const room, GList *roster, const char * const presence);
|
||||
void (*ui_room_history)(const char * const room_jid, const char * const nick,
|
||||
GTimeVal tv_stamp, const char * const message);
|
||||
void ui_room_message(const char * const room_jid, const char * const nick,
|
||||
void (*ui_room_message)(const char * const room_jid, const char * const nick,
|
||||
const char * const message);
|
||||
void ui_room_subject(const char * const room_jid,
|
||||
void (*ui_room_subject)(const char * const room_jid,
|
||||
const char * const subject);
|
||||
void ui_room_broadcast(const char * const room_jid,
|
||||
void (*ui_room_broadcast)(const char * const room_jid,
|
||||
const char * const message);
|
||||
void ui_room_member_offline(const char * const room, const char * const nick);
|
||||
void ui_room_member_online(const char * const room,
|
||||
void (*ui_room_member_offline)(const char * const room, const char * const nick);
|
||||
void (*ui_room_member_online)(const char * const room,
|
||||
const char * const nick, const char * const show, const char * const status);
|
||||
void ui_room_member_nick_change(const char * const room,
|
||||
void (*ui_room_member_nick_change)(const char * const room,
|
||||
const char * const old_nick, const char * const nick);
|
||||
void ui_room_nick_change(const char * const room, const char * const nick);
|
||||
void ui_room_member_presence(const char * const room,
|
||||
void (*ui_room_nick_change)(const char * const room, const char * const nick);
|
||||
void (*ui_room_member_presence)(const char * const room,
|
||||
const char * const nick, const char * const show, const char * const status);
|
||||
void ui_roster_add(const char * const barejid, const char * const name);
|
||||
void ui_roster_remove(const char * const barejid);
|
||||
void ui_contact_already_in_group(const char * const contact, const char * const group);
|
||||
void ui_contact_not_in_group(const char * const contact, const char * const group);
|
||||
void ui_group_added(const char * const contact, const char * const group);
|
||||
void ui_group_removed(const char * const contact, const char * const group);
|
||||
void (*ui_roster_add)(const char * const barejid, const char * const name);
|
||||
void (*ui_roster_remove)(const char * const barejid);
|
||||
void (*ui_contact_already_in_group)(const char * const contact, const char * const group);
|
||||
void (*ui_contact_not_in_group)(const char * const contact, const char * const group);
|
||||
void (*ui_group_added)(const char * const contact, const char * const group);
|
||||
void (*ui_group_removed)(const char * const contact, const char * const group);
|
||||
|
||||
// contact status functions
|
||||
void ui_status_room(const char * const contact);
|
||||
void ui_status(void);
|
||||
void ui_status_private(void);
|
||||
void (*ui_status_room)(const char * const contact);
|
||||
void (*ui_status)(void);
|
||||
void (*ui_status_private)(void);
|
||||
|
||||
void ui_create_duck_win(void);
|
||||
void ui_open_duck_win(void);
|
||||
void ui_duck(const char * const query);
|
||||
void ui_duck_result(const char * const result);
|
||||
gboolean ui_duck_exists(void);
|
||||
void (*ui_create_duck_win)(void);
|
||||
void (*ui_open_duck_win)(void);
|
||||
void (*ui_duck)(const char * const query);
|
||||
void (*ui_duck_result)(const char * const result);
|
||||
gboolean (*ui_duck_exists)(void);
|
||||
|
||||
void ui_tidy_wins(void);
|
||||
void ui_prune_wins(void);
|
||||
void (*ui_tidy_wins)(void);
|
||||
void (*ui_prune_wins)(void);
|
||||
|
||||
// create windows
|
||||
void create_title_bar(void);
|
||||
void create_status_bar(void);
|
||||
void create_input_window(void);
|
||||
void (*create_title_bar)(void);
|
||||
void (*create_status_bar)(void);
|
||||
void (*create_input_window)(void);
|
||||
|
||||
// title bar actions
|
||||
void title_bar_refresh(void);
|
||||
void title_bar_resize(void);
|
||||
void title_bar_show(const char * const title);
|
||||
void title_bar_title(void);
|
||||
void title_bar_set_status(contact_presence_t status);
|
||||
void title_bar_set_recipient(const char * const from);
|
||||
void title_bar_set_typing(gboolean is_typing);
|
||||
void title_bar_draw(void);
|
||||
void (*title_bar_refresh)(void);
|
||||
void (*title_bar_resize)(void);
|
||||
void (*title_bar_show)(const char * const title);
|
||||
void (*title_bar_title)(void);
|
||||
void (*title_bar_set_status)(contact_presence_t status);
|
||||
void (*title_bar_set_recipient)(const char * const from);
|
||||
void (*title_bar_set_typing)(gboolean is_typing);
|
||||
void (*title_bar_draw)(void);
|
||||
|
||||
// console window actions
|
||||
void (*cons_show)(const char * const msg, ...);
|
||||
void cons_about(void);
|
||||
void cons_help(void);
|
||||
void cons_basic_help(void);
|
||||
void cons_settings_help(void);
|
||||
void cons_presence_help(void);
|
||||
void cons_navigation_help(void);
|
||||
void cons_prefs(void);
|
||||
void cons_show_ui_prefs(void);
|
||||
void cons_show_desktop_prefs(void);
|
||||
void cons_show_chat_prefs(void);
|
||||
void cons_show_log_prefs(void);
|
||||
void cons_show_presence_prefs(void);
|
||||
void cons_show_connection_prefs(void);
|
||||
void cons_show_account(ProfAccount *account);
|
||||
void cons_debug(const char * const msg, ...);
|
||||
void cons_show_time(void);
|
||||
void cons_show_word(const char * const word);
|
||||
void cons_show_error(const char * const cmd, ...);
|
||||
void cons_highlight_show(const char * const cmd);
|
||||
void cons_show_contacts(GSList * list);
|
||||
void cons_show_roster(GSList * list);
|
||||
void cons_show_roster_group(const char * const group, GSList * list);
|
||||
void cons_show_wins(void);
|
||||
void cons_show_status(const char * const barejid);
|
||||
void cons_show_info(PContact pcontact);
|
||||
void cons_show_caps(const char * const contact, Resource *resource);
|
||||
void cons_show_themes(GSList *themes);
|
||||
void cons_show_login_success(ProfAccount *account);
|
||||
void cons_show_software_version(const char * const jid,
|
||||
void (*cons_about)(void);
|
||||
void (*cons_help)(void);
|
||||
void (*cons_navigation_help)(void);
|
||||
void (*cons_prefs)(void);
|
||||
void (*cons_show_ui_prefs)(void);
|
||||
void (*cons_show_desktop_prefs)(void);
|
||||
void (*cons_show_chat_prefs)(void);
|
||||
void (*cons_show_log_prefs)(void);
|
||||
void (*cons_show_presence_prefs)(void);
|
||||
void (*cons_show_connection_prefs)(void);
|
||||
void (*cons_show_account)(ProfAccount *account);
|
||||
void (*cons_debug)(const char * const msg, ...);
|
||||
void (*cons_show_time)(void);
|
||||
void (*cons_show_word)(const char * const word);
|
||||
void (*cons_show_error)(const char * const cmd, ...);
|
||||
void (*cons_show_contacts)(GSList * list);
|
||||
void (*cons_show_roster)(GSList * list);
|
||||
void (*cons_show_roster_group)(const char * const group, GSList * list);
|
||||
void (*cons_show_wins)(void);
|
||||
void (*cons_show_status)(const char * const barejid);
|
||||
void (*cons_show_info)(PContact pcontact);
|
||||
void (*cons_show_caps)(const char * const contact, Resource *resource);
|
||||
void (*cons_show_themes)(GSList *themes);
|
||||
void (*cons_show_login_success)(ProfAccount *account);
|
||||
void (*cons_show_software_version)(const char * const jid,
|
||||
const char * const presence, const char * const name,
|
||||
const char * const version, const char * const os);
|
||||
void cons_show_account_list(gchar **accounts);
|
||||
void cons_show_room_list(GSList *room, const char * const conference_node);
|
||||
void cons_show_bookmarks(const GList *list);
|
||||
void cons_show_disco_items(GSList *items, const char * const jid);
|
||||
void cons_show_disco_info(const char *from, GSList *identities, GSList *features);
|
||||
void cons_show_room_invite(const char * const invitor, const char * const room,
|
||||
void (*cons_show_account_list)(gchar **accounts);
|
||||
void (*cons_show_room_list)(GSList *room, const char * const conference_node);
|
||||
void (*cons_show_bookmarks)(const GList *list);
|
||||
void (*cons_show_disco_items)(GSList *items, const char * const jid);
|
||||
void (*cons_show_disco_info)(const char *from, GSList *identities, GSList *features);
|
||||
void (*cons_show_room_invite)(const char * const invitor, const char * const room,
|
||||
const char * const reason);
|
||||
void cons_check_version(gboolean not_available_msg);
|
||||
void cons_show_typing(const char * const barejid);
|
||||
void cons_show_incoming_message(const char * const short_from, const int win_index);
|
||||
void cons_show_room_invites(GSList *invites);
|
||||
void cons_show_received_subs(void);
|
||||
void cons_show_sent_subs(void);
|
||||
void cons_alert(void);
|
||||
void cons_theme_setting(void);
|
||||
void cons_beep_setting(void);
|
||||
void cons_flash_setting(void);
|
||||
void cons_splash_setting(void);
|
||||
void cons_vercheck_setting(void);
|
||||
void cons_mouse_setting(void);
|
||||
void cons_statuses_setting(void);
|
||||
void cons_titlebar_setting(void);
|
||||
void cons_notify_setting(void);
|
||||
void cons_show_desktop_prefs(void);
|
||||
void cons_states_setting(void);
|
||||
void cons_outtype_setting(void);
|
||||
void cons_intype_setting(void);
|
||||
void cons_gone_setting(void);
|
||||
void cons_history_setting(void);
|
||||
void cons_log_setting(void);
|
||||
void cons_chlog_setting(void);
|
||||
void cons_grlog_setting(void);
|
||||
void cons_autoaway_setting(void);
|
||||
void cons_reconnect_setting(void);
|
||||
void cons_autoping_setting(void);
|
||||
void cons_priority_setting(void);
|
||||
void cons_autoconnect_setting(void);
|
||||
void (*cons_check_version)(gboolean not_available_msg);
|
||||
void (*cons_show_typing)(const char * const barejid);
|
||||
void (*cons_show_incoming_message)(const char * const short_from, const int win_index);
|
||||
void (*cons_show_room_invites)(GSList *invites);
|
||||
void (*cons_show_received_subs)(void);
|
||||
void (*cons_show_sent_subs)(void);
|
||||
void (*cons_alert)(void);
|
||||
void (*cons_theme_setting)(void);
|
||||
void (*cons_beep_setting)(void);
|
||||
void (*cons_flash_setting)(void);
|
||||
void (*cons_splash_setting)(void);
|
||||
void (*cons_vercheck_setting)(void);
|
||||
void (*cons_mouse_setting)(void);
|
||||
void (*cons_statuses_setting)(void);
|
||||
void (*cons_titlebar_setting)(void);
|
||||
void (*cons_notify_setting)(void);
|
||||
void (*cons_show_desktop_prefs)(void);
|
||||
void (*cons_states_setting)(void);
|
||||
void (*cons_outtype_setting)(void);
|
||||
void (*cons_intype_setting)(void);
|
||||
void (*cons_gone_setting)(void);
|
||||
void (*cons_history_setting)(void);
|
||||
void (*cons_log_setting)(void);
|
||||
void (*cons_chlog_setting)(void);
|
||||
void (*cons_grlog_setting)(void);
|
||||
void (*cons_autoaway_setting)(void);
|
||||
void (*cons_reconnect_setting)(void);
|
||||
void (*cons_autoping_setting)(void);
|
||||
void (*cons_priority_setting)(void);
|
||||
void (*cons_autoconnect_setting)(void);
|
||||
|
||||
// status bar actions
|
||||
void status_bar_refresh(void);
|
||||
void status_bar_resize(void);
|
||||
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_update_time(void);
|
||||
void status_bar_set_all_inactive(void);
|
||||
void status_bar_current(int i);
|
||||
void (*status_bar_refresh)(void);
|
||||
void (*status_bar_resize)(void);
|
||||
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);
|
||||
|
||||
// input window actions
|
||||
wint_t inp_get_char(char *input, int *size);
|
||||
void inp_win_reset(void);
|
||||
void inp_win_resize(const char * input, const int size);
|
||||
void inp_put_back(void);
|
||||
void inp_non_block(void);
|
||||
void inp_block(void);
|
||||
void inp_get_password(char *passwd);
|
||||
void inp_replace_input(char *input, const char * const new_input, int *size);
|
||||
wint_t (*inp_get_char)(char *input, int *size);
|
||||
void (*inp_win_reset)(void);
|
||||
void (*inp_win_resize)(const char * input, const int size);
|
||||
void (*inp_put_back)(void);
|
||||
void (*inp_non_block)(void);
|
||||
void (*inp_block)(void);
|
||||
void (*inp_get_password)(char *passwd);
|
||||
void (*inp_replace_input)(char *input, const char * const new_input, int *size);
|
||||
|
||||
// desktop notifier actions
|
||||
void notifier_init(void);
|
||||
void notifier_uninit(void);
|
||||
void (*notifier_init)(void);
|
||||
void (*notifier_uninit)(void);
|
||||
|
||||
void notify_typing(const char * const handle);
|
||||
void notify_message(const char * const handle, int win);
|
||||
void notify_room_message(const char * const handle, const char * const room,
|
||||
void (*notify_typing)(const char * const handle);
|
||||
void (*notify_message)(const char * const handle, int win);
|
||||
void (*notify_room_message)(const char * const handle, const char * const room,
|
||||
int win);
|
||||
void notify_remind(void);
|
||||
void notify_invite(const char * const from, const char * const room,
|
||||
void (*notify_remind)(void);
|
||||
void (*notify_invite)(const char * const from, const char * const room,
|
||||
const char * const reason);
|
||||
void notify_subscription(const char * const from);
|
||||
void (*notify_subscription)(const char * const from);
|
||||
|
||||
#endif
|
||||
|
@ -33,6 +33,7 @@ void cmd_account_shows_usage_when_not_connected_and_no_args(void **state)
|
||||
|
||||
void cmd_account_shows_account_when_connected_and_no_args(void **state)
|
||||
{
|
||||
mock_cons_show_account();
|
||||
CommandHelp *help = malloc(sizeof(CommandHelp));
|
||||
ProfAccount *account = malloc(sizeof(ProfAccount));
|
||||
gchar *args[] = { NULL };
|
||||
@ -43,7 +44,7 @@ void cmd_account_shows_account_when_connected_and_no_args(void **state)
|
||||
expect_any(accounts_get_account, name);
|
||||
will_return(accounts_get_account, account);
|
||||
|
||||
expect_memory(cons_show_account, account, account, sizeof(ProfAccount));
|
||||
expect_cons_show_account(account);
|
||||
|
||||
expect_any(accounts_free_account, account);
|
||||
|
||||
@ -56,6 +57,7 @@ void cmd_account_shows_account_when_connected_and_no_args(void **state)
|
||||
|
||||
void cmd_account_list_shows_accounts(void **state)
|
||||
{
|
||||
mock_cons_show_account_list();
|
||||
CommandHelp *help = malloc(sizeof(CommandHelp));
|
||||
gchar *args[] = { "list", NULL };
|
||||
|
||||
@ -67,7 +69,7 @@ void cmd_account_list_shows_accounts(void **state)
|
||||
|
||||
will_return(accounts_get_list, accounts);
|
||||
|
||||
expect_memory(cons_show_account_list, accounts, accounts, sizeof(accounts));
|
||||
expect_cons_show_account_list(accounts);
|
||||
|
||||
gboolean result = cmd_account(args, *help);
|
||||
assert_true(result);
|
||||
@ -110,6 +112,7 @@ void cmd_account_show_shows_message_when_account_does_not_exist(void **state)
|
||||
|
||||
void cmd_account_show_shows_account_when_exists(void **state)
|
||||
{
|
||||
mock_cons_show_account();
|
||||
CommandHelp *help = malloc(sizeof(CommandHelp));
|
||||
gchar *args[] = { "show", "account_name", NULL };
|
||||
ProfAccount *account = malloc(sizeof(ProfAccount));
|
||||
@ -117,7 +120,7 @@ void cmd_account_show_shows_account_when_exists(void **state)
|
||||
expect_any(accounts_get_account, name);
|
||||
will_return(accounts_get_account, account);
|
||||
|
||||
expect_memory(cons_show_account, account, account, sizeof(ProfAccount));
|
||||
expect_cons_show_account(account);
|
||||
|
||||
expect_any(accounts_free_account, account);
|
||||
|
||||
|
@ -85,6 +85,7 @@ void cmd_connect_shows_message_when_undefined(void **state)
|
||||
void cmd_connect_when_no_account(void **state)
|
||||
{
|
||||
mock_cons_show();
|
||||
mock_ui_ask_password();
|
||||
CommandHelp *help = malloc(sizeof(CommandHelp));
|
||||
gchar *args[] = { "user@server.org", NULL };
|
||||
|
||||
@ -93,7 +94,7 @@ void cmd_connect_when_no_account(void **state)
|
||||
expect_string(accounts_get_account, name, "user@server.org");
|
||||
will_return(accounts_get_account, NULL);
|
||||
|
||||
will_return(ui_ask_password, strdup("password"));
|
||||
mock_ui_ask_password_returns("password");
|
||||
|
||||
expect_cons_show("Connecting as user@server.org");
|
||||
|
||||
@ -110,6 +111,7 @@ void cmd_connect_when_no_account(void **state)
|
||||
|
||||
void cmd_connect_with_altdomain_when_provided(void **state)
|
||||
{
|
||||
stub_ui_ask_password();
|
||||
stub_cons_show();
|
||||
CommandHelp *help = malloc(sizeof(CommandHelp));
|
||||
gchar *args[] = { "user@server.org", "altdomain" };
|
||||
@ -119,8 +121,6 @@ void cmd_connect_with_altdomain_when_provided(void **state)
|
||||
expect_any(accounts_get_account, name);
|
||||
will_return(accounts_get_account, NULL);
|
||||
|
||||
will_return(ui_ask_password, strdup("password"));
|
||||
|
||||
jabber_connect_with_details = _mock_jabber_connect_with_details_altdomain;
|
||||
expect_string(_mock_jabber_connect_with_details_altdomain, altdomain, "altdomain");
|
||||
will_return(_mock_jabber_connect_with_details_altdomain, JABBER_CONNECTING);
|
||||
@ -134,6 +134,8 @@ void cmd_connect_with_altdomain_when_provided(void **state)
|
||||
void cmd_connect_fail_message(void **state)
|
||||
{
|
||||
stub_cons_show();
|
||||
mock_cons_show_error();
|
||||
stub_ui_ask_password();
|
||||
CommandHelp *help = malloc(sizeof(CommandHelp));
|
||||
gchar *args[] = { "user@server.org", NULL };
|
||||
|
||||
@ -142,12 +144,10 @@ void cmd_connect_fail_message(void **state)
|
||||
expect_any(accounts_get_account, name);
|
||||
will_return(accounts_get_account, NULL);
|
||||
|
||||
will_return(ui_ask_password, strdup("password"));
|
||||
|
||||
jabber_connect_with_details = _mock_jabber_connect_with_details_result;
|
||||
will_return(_mock_jabber_connect_with_details_result, JABBER_DISCONNECTED);
|
||||
|
||||
expect_string(cons_show_error, output, "Connection attempt for user@server.org failed.");
|
||||
expect_cons_show_error("Connection attempt for user@server.org failed.");
|
||||
|
||||
gboolean result = cmd_connect(args, *help);
|
||||
assert_true(result);
|
||||
@ -158,6 +158,7 @@ void cmd_connect_fail_message(void **state)
|
||||
void cmd_connect_lowercases_argument(void **state)
|
||||
{
|
||||
stub_cons_show();
|
||||
stub_ui_ask_password();
|
||||
CommandHelp *help = malloc(sizeof(CommandHelp));
|
||||
gchar *args[] = { "USER@server.ORG", NULL };
|
||||
|
||||
@ -166,8 +167,6 @@ void cmd_connect_lowercases_argument(void **state)
|
||||
expect_string(accounts_get_account, name, "user@server.org");
|
||||
will_return(accounts_get_account, NULL);
|
||||
|
||||
will_return(ui_ask_password, strdup("password"));
|
||||
|
||||
jabber_connect_with_details = _mock_jabber_connect_with_details_result;
|
||||
will_return(_mock_jabber_connect_with_details_result, JABBER_CONNECTING);
|
||||
|
||||
@ -180,6 +179,7 @@ void cmd_connect_lowercases_argument(void **state)
|
||||
void cmd_connect_asks_password_when_not_in_account(void **state)
|
||||
{
|
||||
stub_cons_show();
|
||||
stub_ui_ask_password();
|
||||
CommandHelp *help = malloc(sizeof(CommandHelp));
|
||||
gchar *args[] = { "jabber_org", NULL };
|
||||
ProfAccount *account = malloc(sizeof(ProfAccount));
|
||||
@ -192,8 +192,6 @@ void cmd_connect_asks_password_when_not_in_account(void **state)
|
||||
|
||||
will_return(accounts_create_full_jid, strdup("user@jabber.org"));
|
||||
|
||||
will_return(ui_ask_password, strdup("password"));
|
||||
|
||||
jabber_connect_with_account = _mock_jabber_connect_with_account_result;
|
||||
will_return(_mock_jabber_connect_with_account_result, JABBER_CONNECTING);
|
||||
|
||||
|
@ -23,6 +23,7 @@
|
||||
#include <glib.h>
|
||||
#include <setjmp.h>
|
||||
#include <cmocka.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "ui/ui.h"
|
||||
|
||||
@ -43,6 +44,40 @@ void _stub_cons_show(const char * const msg, ...)
|
||||
{
|
||||
}
|
||||
|
||||
static
|
||||
void _mock_cons_show_error(const char * const msg, ...)
|
||||
{
|
||||
va_list args;
|
||||
va_start(args, msg);
|
||||
vsnprintf(output, sizeof(output), msg, args);
|
||||
check_expected(output);
|
||||
va_end(args);
|
||||
}
|
||||
|
||||
static
|
||||
void _mock_cons_show_account(ProfAccount *account)
|
||||
{
|
||||
check_expected(account);
|
||||
}
|
||||
|
||||
static
|
||||
void _mock_cons_show_account_list(gchar **accounts)
|
||||
{
|
||||
check_expected(accounts);
|
||||
}
|
||||
|
||||
static
|
||||
char * _mock_ui_ask_password(void)
|
||||
{
|
||||
return (char *)mock();
|
||||
}
|
||||
|
||||
static
|
||||
char * _stub_ui_ask_password(void)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void
|
||||
mock_cons_show(void)
|
||||
{
|
||||
@ -50,6 +85,37 @@ mock_cons_show(void)
|
||||
|
||||
}
|
||||
|
||||
void
|
||||
mock_cons_show_error(void)
|
||||
{
|
||||
cons_show_error = _mock_cons_show_error;
|
||||
}
|
||||
|
||||
void
|
||||
mock_cons_show_account(void)
|
||||
{
|
||||
cons_show_account = _mock_cons_show_account;
|
||||
}
|
||||
|
||||
void
|
||||
mock_cons_show_account_list(void)
|
||||
{
|
||||
cons_show_account_list = _mock_cons_show_account_list;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
mock_ui_ask_password(void)
|
||||
{
|
||||
ui_ask_password = _mock_ui_ask_password;
|
||||
}
|
||||
|
||||
void
|
||||
stub_ui_ask_password(void)
|
||||
{
|
||||
ui_ask_password = _stub_ui_ask_password;
|
||||
}
|
||||
|
||||
void
|
||||
stub_cons_show(void)
|
||||
{
|
||||
@ -68,296 +134,26 @@ expect_cons_show_calls(int n)
|
||||
expect_any_count(_mock_cons_show, output, n);
|
||||
}
|
||||
|
||||
// ui startup and control
|
||||
void ui_init(void) {}
|
||||
void ui_load_colours(void) {}
|
||||
void ui_refresh(void) {}
|
||||
void ui_close(void) {}
|
||||
void ui_resize(const int ch, const char * const input,
|
||||
const int size) {}
|
||||
|
||||
GSList* ui_get_recipients(void)
|
||||
void
|
||||
expect_cons_show_error(char *output)
|
||||
{
|
||||
return (GSList *)mock();
|
||||
expect_string(_mock_cons_show_error, output, output);
|
||||
}
|
||||
|
||||
void ui_handle_special_keys(const wint_t * const ch, const char * const inp,
|
||||
const int size) {}
|
||||
void ui_switch_win(const int i) {}
|
||||
void ui_next_win(void) {}
|
||||
void ui_previous_win(void) {}
|
||||
|
||||
unsigned long ui_get_idle_time(void)
|
||||
void
|
||||
expect_cons_show_account(ProfAccount *account)
|
||||
{
|
||||
return (unsigned long)mock();
|
||||
expect_memory(_mock_cons_show_account, account, account, sizeof(ProfAccount));
|
||||
}
|
||||
|
||||
void ui_reset_idle_time(void) {}
|
||||
void ui_new_chat_win(const char * const to) {}
|
||||
void ui_print_error_from_recipient(const char * const from, const char *err_msg) {}
|
||||
void ui_print_system_msg_from_recipient(const char * const from, const char *message) {}
|
||||
void ui_handle_error_message(const char * const from, const char * const err_msg) {}
|
||||
|
||||
gint ui_unread(void)
|
||||
void
|
||||
expect_cons_show_account_list(gchar **accounts)
|
||||
{
|
||||
return (gint)mock();
|
||||
expect_memory(_mock_cons_show_account_list, accounts, accounts, sizeof(accounts));
|
||||
}
|
||||
|
||||
void ui_close_connected_win(int index) {}
|
||||
|
||||
int ui_close_all_wins(void)
|
||||
void
|
||||
mock_ui_ask_password_returns(char *password)
|
||||
{
|
||||
return (int)mock();
|
||||
will_return(_mock_ui_ask_password, strdup(password));
|
||||
}
|
||||
|
||||
int ui_close_read_wins(void)
|
||||
{
|
||||
return (int)mock();
|
||||
}
|
||||
|
||||
// current window actions
|
||||
void ui_close_current(void) {}
|
||||
void ui_clear_current(void) {}
|
||||
|
||||
win_type_t ui_current_win_type(void)
|
||||
{
|
||||
return (win_type_t)mock();
|
||||
}
|
||||
|
||||
int ui_current_win_index(void)
|
||||
{
|
||||
return (int)mock();
|
||||
}
|
||||
|
||||
char* ui_current_recipient(void)
|
||||
{
|
||||
return (char *)mock();
|
||||
}
|
||||
|
||||
void ui_current_print_line(const char * const msg, ...) {}
|
||||
void ui_current_error_line(const char * const msg) {}
|
||||
void ui_current_page_off(void) {}
|
||||
|
||||
win_type_t ui_win_type(int index)
|
||||
{
|
||||
return (win_type_t)mock();
|
||||
}
|
||||
|
||||
char * ui_recipient(int index)
|
||||
{
|
||||
return (char *)mock();
|
||||
}
|
||||
|
||||
void ui_close_win(int index) {}
|
||||
|
||||
gboolean ui_win_exists(int index)
|
||||
{
|
||||
return (gboolean)mock();
|
||||
}
|
||||
|
||||
int ui_win_unread(int index)
|
||||
{
|
||||
return (int)mock();
|
||||
}
|
||||
|
||||
// ui events
|
||||
void ui_contact_typing(const char * const from) {}
|
||||
void ui_incoming_msg(const char * const from, const char * const message,
|
||||
GTimeVal *tv_stamp, gboolean priv) {}
|
||||
void ui_contact_online(const char * const barejid, const char * const resource,
|
||||
const char * const show, const char * const status, GDateTime *last_activity) {}
|
||||
void ui_contact_offline(const char * const from, const char * const show,
|
||||
const char * const status) {}
|
||||
void ui_disconnected(void) {}
|
||||
void ui_recipient_gone(const char * const barejid) {}
|
||||
void ui_outgoing_msg(const char * const from, const char * const to,
|
||||
const char * const message) {}
|
||||
void ui_room_join(Jid *jid) {}
|
||||
void ui_room_roster(const char * const room, GList *roster, const char * const presence) {}
|
||||
void ui_room_history(const char * const room_jid, const char * const nick,
|
||||
GTimeVal tv_stamp, const char * const message) {}
|
||||
void ui_room_message(const char * const room_jid, const char * const nick,
|
||||
const char * const message) {}
|
||||
void ui_room_subject(const char * const room_jid,
|
||||
const char * const subject) {}
|
||||
void ui_room_broadcast(const char * const room_jid,
|
||||
const char * const message) {}
|
||||
void ui_room_member_offline(const char * const room, const char * const nick) {}
|
||||
void ui_room_member_online(const char * const room,
|
||||
const char * const nick, const char * const show, const char * const status) {}
|
||||
void ui_room_member_nick_change(const char * const room,
|
||||
const char * const old_nick, const char * const nick) {}
|
||||
void ui_room_nick_change(const char * const room, const char * const nick) {}
|
||||
void ui_room_member_presence(const char * const room,
|
||||
const char * const nick, const char * const show, const char * const status) {}
|
||||
void ui_roster_add(const char * const barejid, const char * const name) {}
|
||||
void ui_roster_remove(const char * const barejid) {}
|
||||
void ui_contact_already_in_group(const char * const contact, const char * const group) {}
|
||||
void ui_contact_not_in_group(const char * const contact, const char * const group) {}
|
||||
void ui_group_added(const char * const contact, const char * const group) {}
|
||||
void ui_group_removed(const char * const contact, const char * const group) {}
|
||||
|
||||
// contact status functions
|
||||
void ui_status_room(const char * const contact) {}
|
||||
void ui_status(void) {}
|
||||
void ui_status_private(void) {}
|
||||
|
||||
void ui_create_duck_win(void) {}
|
||||
void ui_open_duck_win(void) {}
|
||||
void ui_duck(const char * const query) {}
|
||||
void ui_duck_result(const char * const result) {}
|
||||
|
||||
gboolean ui_duck_exists(void)
|
||||
{
|
||||
return (gboolean)mock();
|
||||
}
|
||||
|
||||
void ui_tidy_wins(void) {}
|
||||
void ui_prune_wins(void) {}
|
||||
|
||||
char * ui_ask_password(void)
|
||||
{
|
||||
return (char *)mock();
|
||||
}
|
||||
|
||||
// create windows
|
||||
void create_title_bar(void) {}
|
||||
void create_status_bar(void) {}
|
||||
void create_input_window(void) {}
|
||||
|
||||
// title bar actions
|
||||
void title_bar_refresh(void) {}
|
||||
void title_bar_resize(void) {}
|
||||
void title_bar_show(const char * const title) {}
|
||||
void title_bar_title(void) {}
|
||||
void title_bar_set_status(contact_presence_t status) {}
|
||||
void title_bar_set_recipient(const char * const from) {}
|
||||
void title_bar_set_typing(gboolean is_typing) {}
|
||||
void title_bar_draw(void) {}
|
||||
|
||||
// console window actions
|
||||
void cons_about(void) {}
|
||||
void cons_help(void) {}
|
||||
void cons_basic_help(void) {}
|
||||
void cons_settings_help(void) {}
|
||||
void cons_presence_help(void) {}
|
||||
void cons_navigation_help(void) {}
|
||||
void cons_prefs(void) {}
|
||||
void cons_show_ui_prefs(void) {}
|
||||
void cons_show_desktop_prefs(void) {}
|
||||
void cons_show_chat_prefs(void) {}
|
||||
void cons_show_log_prefs(void) {}
|
||||
void cons_show_presence_prefs(void) {}
|
||||
void cons_show_connection_prefs(void) {}
|
||||
|
||||
void cons_show_account(ProfAccount *account)
|
||||
{
|
||||
check_expected(account);
|
||||
}
|
||||
|
||||
void cons_debug(const char * const msg, ...) {}
|
||||
void cons_show_time(void) {}
|
||||
void cons_show_word(const char * const word) {}
|
||||
|
||||
void cons_show_error(const char * const cmd, ...)
|
||||
{
|
||||
va_list args;
|
||||
va_start(args, cmd);
|
||||
vsnprintf(output, sizeof(output), cmd, args);
|
||||
check_expected(output);
|
||||
va_end(args);
|
||||
}
|
||||
|
||||
void cons_highlight_show(const char * const cmd) {}
|
||||
void cons_show_contacts(GSList * list) {}
|
||||
void cons_show_roster(GSList * list) {}
|
||||
void cons_show_roster_group(const char * const group, GSList * list) {}
|
||||
void cons_show_wins(void) {}
|
||||
void cons_show_status(const char * const barejid) {}
|
||||
void cons_show_info(PContact pcontact) {}
|
||||
void cons_show_caps(const char * const contact, Resource *resource) {}
|
||||
void cons_show_themes(GSList *themes) {}
|
||||
void cons_show_login_success(ProfAccount *account) {}
|
||||
void cons_show_software_version(const char * const jid,
|
||||
const char * const presence, const char * const name,
|
||||
const char * const version, const char * const os) {}
|
||||
|
||||
void cons_show_account_list(gchar **accounts)
|
||||
{
|
||||
check_expected(accounts);
|
||||
}
|
||||
|
||||
void cons_show_room_list(GSList *room, const char * const conference_node) {}
|
||||
void cons_show_bookmarks(const GList *list) {}
|
||||
void cons_show_disco_items(GSList *items, const char * const jid) {}
|
||||
void cons_show_disco_info(const char *from, GSList *identities, GSList *features) {}
|
||||
void cons_show_room_invite(const char * const invitor, const char * const room,
|
||||
const char * const reason) {}
|
||||
void cons_check_version(gboolean not_available_msg) {}
|
||||
void cons_show_typing(const char * const barejid) {}
|
||||
void cons_show_incoming_message(const char * const short_from, const int win_index) {}
|
||||
void cons_show_room_invites(GSList *invites) {}
|
||||
void cons_show_received_subs(void) {}
|
||||
void cons_show_sent_subs(void) {}
|
||||
void cons_alert(void) {}
|
||||
void cons_theme_setting(void) {}
|
||||
void cons_beep_setting(void) {}
|
||||
void cons_flash_setting(void) {}
|
||||
void cons_splash_setting(void) {}
|
||||
void cons_vercheck_setting(void) {}
|
||||
void cons_mouse_setting(void) {}
|
||||
void cons_statuses_setting(void) {}
|
||||
void cons_titlebar_setting(void) {}
|
||||
void cons_notify_setting(void) {}
|
||||
void cons_states_setting(void) {}
|
||||
void cons_outtype_setting(void) {}
|
||||
void cons_intype_setting(void) {}
|
||||
void cons_gone_setting(void) {}
|
||||
void cons_history_setting(void) {}
|
||||
void cons_log_setting(void) {}
|
||||
void cons_chlog_setting(void) {}
|
||||
void cons_grlog_setting(void) {}
|
||||
void cons_autoaway_setting(void) {}
|
||||
void cons_reconnect_setting(void) {}
|
||||
void cons_autoping_setting(void) {}
|
||||
void cons_priority_setting(void) {}
|
||||
void cons_autoconnect_setting(void) {}
|
||||
|
||||
// status bar actions
|
||||
void status_bar_refresh(void) {}
|
||||
void status_bar_resize(void) {}
|
||||
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_update_time(void) {}
|
||||
void status_bar_set_all_inactive(void) {}
|
||||
void status_bar_current(int i) {}
|
||||
|
||||
// input window actions
|
||||
wint_t inp_get_char(char *input, int *size)
|
||||
{
|
||||
return (wint_t)mock();
|
||||
}
|
||||
void inp_win_reset(void) {}
|
||||
void inp_win_resize(const char * input, const int size) {}
|
||||
void inp_put_back(void) {}
|
||||
void inp_non_block(void) {}
|
||||
void inp_block(void) {}
|
||||
void inp_get_password(char *passwd) {}
|
||||
void inp_replace_input(char *input, const char * const new_input, int *size) {}
|
||||
|
||||
void notifier_init(void) {}
|
||||
void notifier_uninit(void) {}
|
||||
|
||||
void notify_typing(const char * const handle) {}
|
||||
void notify_message(const char * const handle, int win) {}
|
||||
void notify_room_message(const char * const handle, const char * const room,
|
||||
int win) {}
|
||||
void notify_remind(void) {}
|
||||
void notify_invite(const char * const from, const char * const room,
|
||||
const char * const reason) {}
|
||||
void notify_subscription(const char * const from) {}
|
||||
|
@ -11,4 +11,17 @@ void mock_cons_show(void);
|
||||
void expect_cons_show(char *output);
|
||||
void expect_cons_show_calls(int n);
|
||||
|
||||
void mock_cons_show_error(void);
|
||||
void expect_cons_show_error(char *output);
|
||||
|
||||
void mock_cons_show_account(void);
|
||||
void expect_cons_show_account(ProfAccount *account);
|
||||
|
||||
void mock_cons_show_account_list(void);
|
||||
void expect_cons_show_account_list(gchar **accounts);
|
||||
|
||||
void stub_ui_ask_password(void);
|
||||
void mock_ui_ask_password(void);
|
||||
void mock_ui_ask_password_returns(char *password);
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user