Added XML Console window

This commit is contained in:
James Booth
2014-04-15 13:16:32 +01:00
parent bf185d9907
commit e6e0a13e89
8 changed files with 100 additions and 11 deletions

View File

@@ -219,18 +219,28 @@ _ui_duck_exists(void)
return wins_duck_exists();
}
static gboolean
_ui_xmlconsole_exists(void)
{
return wins_xmlconsole_exists();
}
static void
_ui_handle_stanza(const char * const msg)
{
ProfWin *console = wins_get_console();
if (g_str_has_prefix(msg, "SENT:")) {
win_vprint_line(console, '!', COLOUR_ONLINE, "<- %s", &msg[6]);
} else if (g_str_has_prefix(msg, "RECV:")) {
win_vprint_line(console, '!', COLOUR_AWAY, "-> %s", &msg[6]);
}
win_update_virtual(console);
if (wins_is_current(console)) {
ui_current_page_off();
if (ui_xmlconsole_exists()) {
ProfWin *xmlconsole = wins_get_xmlconsole();
if (g_str_has_prefix(msg, "SENT:")) {
win_vprint_line(xmlconsole, '!', COLOUR_ONLINE, "<- %s", &msg[6]);
} else if (g_str_has_prefix(msg, "RECV:")) {
win_vprint_line(xmlconsole, '!', COLOUR_AWAY, "-> %s", &msg[6]);
}
win_update_virtual(xmlconsole);
if (wins_is_current(xmlconsole)) {
ui_current_page_off();
}
}
}
@@ -1117,6 +1127,14 @@ _ui_create_duck_win(void)
win_print_line(window, '-', 0, "Type ':help' to find out more.");
}
static void
_ui_create_xmlconsole_win(void)
{
ProfWin *window = wins_new("XML Console", WIN_XML);
int num = wins_get_num(window);
ui_switch_win(num);
}
static void
_ui_open_duck_win(void)
{
@@ -1939,4 +1957,6 @@ ui_init_module(void)
ui_replace_input = _ui_replace_input;
ui_invalid_command_usage = _ui_invalid_command_usage;
ui_handle_stanza = _ui_handle_stanza;
ui_create_xmlconsole_win = _ui_create_xmlconsole_win;
ui_xmlconsole_exists = _ui_xmlconsole_exists;
}