1
0
mirror of https://github.com/profanity-im/profanity.git synced 2024-11-03 19:37:16 -05:00

Add win_printf_line

This commit is contained in:
James Booth 2016-10-12 00:14:55 +01:00
parent 7b31af3060
commit 97898ee082
4 changed files with 25 additions and 3 deletions

View File

@ -1479,9 +1479,9 @@ _cmd_help_cmd_list(const char *const tag)
cons_show(""); cons_show("");
ProfWin *console = wins_get_console(); ProfWin *console = wins_get_console();
if (tag) { if (tag) {
win_printf(console, '-', 0, NULL, 0, THEME_WHITE_BOLD, "", "%s commands", tag); win_printf_line(console, THEME_WHITE_BOLD, "%s commands", tag);
} else { } else {
win_printf(console, '-', 0, NULL, 0, THEME_WHITE_BOLD, "", "All commands"); win_printf_line(console, THEME_WHITE_BOLD, "All commands");
} }
GList *ordered_commands = NULL; GList *ordered_commands = NULL;

View File

@ -359,6 +359,7 @@ void win_refresh_without_subwin(ProfWin *window);
void win_refresh_with_subwin(ProfWin *window); void win_refresh_with_subwin(ProfWin *window);
void win_printf(ProfWin *window, const char show_char, int pad_indent, GDateTime *timestamp, int flags, void win_printf(ProfWin *window, const char show_char, int pad_indent, GDateTime *timestamp, int flags,
theme_item_t theme_item, const char *const from, const char *const message, ...); theme_item_t theme_item, const char *const from, const char *const message, ...);
void win_printf_line(ProfWin *window, theme_item_t theme_item, const char *const message, ...);
char* win_get_title(ProfWin *window); char* win_get_title(ProfWin *window);
void win_show_occupant(ProfWin *window, Occupant *occupant); void win_show_occupant(ProfWin *window, Occupant *occupant);
void win_show_occupant_info(ProfWin *window, const char *const room, Occupant *occupant); void win_show_occupant_info(ProfWin *window, const char *const room, Occupant *occupant);

View File

@ -1030,7 +1030,26 @@ win_printf(ProfWin *window, const char show_char, int pad_indent, GDateTime *tim
buffer_push(window->layout->buffer, show_char, pad_indent, timestamp, flags, theme_item, from, fmt_msg->str, NULL); buffer_push(window->layout->buffer, show_char, pad_indent, timestamp, flags, theme_item, from, fmt_msg->str, NULL);
_win_print(window, show_char, pad_indent, timestamp, flags, theme_item, from, fmt_msg->str, NULL); _win_print(window, show_char, pad_indent, timestamp, flags, theme_item, from, fmt_msg->str, NULL);
// TODO: cross-reference.. this should be replaced by a real event-based system inp_nonblocking(TRUE);
g_date_time_unref(timestamp);
g_string_free(fmt_msg, TRUE);
va_end(arg);
}
void
win_printf_line(ProfWin *window, theme_item_t theme_item, const char *const message, ...)
{
GDateTime *timestamp = g_date_time_new_now_local();
va_list arg;
va_start(arg, message);
GString *fmt_msg = g_string_new(NULL);
g_string_vprintf(fmt_msg, message, arg);
buffer_push(window->layout->buffer, '-', 0, timestamp, 0, theme_item, "", fmt_msg->str, NULL);
_win_print(window, '-', 0, timestamp, 0, theme_item, "", fmt_msg->str, NULL);
inp_nonblocking(TRUE); inp_nonblocking(TRUE);
g_date_time_unref(timestamp); g_date_time_unref(timestamp);

View File

@ -521,6 +521,8 @@ void win_show_subwin(ProfWin *window) {}
void win_refresh_without_subwin(ProfWin *window) {} void win_refresh_without_subwin(ProfWin *window) {}
void win_refresh_with_subwin(ProfWin *window) {} void win_refresh_with_subwin(ProfWin *window) {}
void win_printf(ProfWin *window, const char show_char, int pad_indent, GDateTime *timestamp, int flags, theme_item_t theme_item, const char * const from, const char * const message, ...) {} void win_printf(ProfWin *window, const char show_char, int pad_indent, GDateTime *timestamp, int flags, theme_item_t theme_item, const char * const from, const char * const message, ...) {}
void win_printf_line(ProfWin *window, theme_item_t theme_item, const char *const message, ...) {}
char* win_get_title(ProfWin *window) char* win_get_title(ProfWin *window)
{ {
return NULL; return NULL;