diff options
Diffstat (limited to 'src/ui/console.c')
-rw-r--r-- | src/ui/console.c | 502 |
1 files changed, 268 insertions, 234 deletions
diff --git a/src/ui/console.c b/src/ui/console.c index 689f218c..895efda4 100644 --- a/src/ui/console.c +++ b/src/ui/console.c @@ -1,7 +1,7 @@ /* * console.c * - * Copyright (C) 2012 - 2014 James Booth <boothj5@gmail.com> + * Copyright (C) 2012 - 2015 James Booth <boothj5@gmail.com> * * This file is part of Profanity. * @@ -67,14 +67,14 @@ void cons_show_time(void) { ProfWin *console = wins_get_console(); - win_save_print(console, '-', NULL, NO_EOL, 0, "", ""); + win_print(console, '-', NULL, NO_EOL, 0, "", ""); } void cons_show_word(const char * const word) { ProfWin *console = wins_get_console(); - win_save_print(console, '-', NULL, NO_DATE | NO_EOL, 0, "", word); + win_print(console, '-', NULL, NO_DATE | NO_EOL, 0, "", word); } void @@ -86,7 +86,7 @@ cons_debug(const char * const msg, ...) va_start(arg, msg); GString *fmt_msg = g_string_new(NULL); g_string_vprintf(fmt_msg, msg, arg); - win_save_println(console, fmt_msg->str); + win_println(console, fmt_msg->str); g_string_free(fmt_msg, TRUE); va_end(arg); } @@ -100,7 +100,7 @@ cons_show(const char * const msg, ...) va_start(arg, msg); GString *fmt_msg = g_string_new(NULL); g_string_vprintf(fmt_msg, msg, arg); - win_save_println(console, fmt_msg->str); + win_println(console, fmt_msg->str); g_string_free(fmt_msg, TRUE); va_end(arg); } @@ -113,7 +113,7 @@ cons_show_error(const char * const msg, ...) va_start(arg, msg); GString *fmt_msg = g_string_new(NULL); g_string_vprintf(fmt_msg, msg, arg); - win_save_print(console, '-', NULL, 0, THEME_ERROR, "", fmt_msg->str); + win_print(console, '-', NULL, 0, THEME_ERROR, "", fmt_msg->str); g_string_free(fmt_msg, TRUE); va_end(arg); @@ -126,8 +126,8 @@ cons_show_typing(const char * const barejid) ProfWin *console = wins_get_console(); const char * display_usr = NULL; PContact contact = roster_get_contact(barejid); - if (contact != NULL) { - if (p_contact_name(contact) != NULL) { + if (contact) { + if (p_contact_name(contact)) { display_usr = p_contact_name(contact); } else { display_usr = barejid; @@ -136,7 +136,7 @@ cons_show_typing(const char * const barejid) display_usr = barejid; } - win_save_vprint(console, '-', NULL, 0, THEME_TYPING, "", "!! %s is typing a message...", display_usr); + win_vprint(console, '-', NULL, 0, THEME_TYPING, "", "!! %s is typing a message...", display_usr); cons_alert(); } @@ -149,7 +149,7 @@ cons_show_incoming_message(const char * const short_from, const int win_index) if (ui_index == 10) { ui_index = 0; } - win_save_vprint(console, '-', NULL, 0, THEME_INCOMING, "", "<< incoming from %s (%d)", short_from, ui_index); + win_vprint(console, '-', NULL, 0, THEME_INCOMING, "", "<< incoming from %s (%d)", short_from, ui_index); cons_alert(); } @@ -167,23 +167,23 @@ cons_about(void) if (strcmp(PACKAGE_STATUS, "development") == 0) { #ifdef HAVE_GIT_VERSION - win_save_vprint(console, '-', NULL, 0, 0, "", "Welcome to Profanity, version %sdev.%s.%s", PACKAGE_VERSION, PROF_GIT_BRANCH, PROF_GIT_REVISION); + win_vprint(console, '-', NULL, 0, 0, "", "Welcome to Profanity, version %sdev.%s.%s", PACKAGE_VERSION, PROF_GIT_BRANCH, PROF_GIT_REVISION); #else - win_save_vprint(console, '-', NULL, 0, 0, "", "Welcome to Profanity, version %sdev", PACKAGE_VERSION); + win_vprint(console, '-', NULL, 0, 0, "", "Welcome to Profanity, version %sdev", PACKAGE_VERSION); #endif } else { - win_save_vprint(console, '-', NULL, 0, 0, "", "Welcome to Profanity, version %s", PACKAGE_VERSION); + win_vprint(console, '-', NULL, 0, 0, "", "Welcome to Profanity, version %s", PACKAGE_VERSION); } } - win_save_vprint(console, '-', NULL, 0, 0, "", "Copyright (C) 2012 - 2014 James Booth <%s>.", PACKAGE_BUGREPORT); - win_save_println(console, "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>"); - win_save_println(console, ""); - win_save_println(console, "This is free software; you are free to change and redistribute it."); - win_save_println(console, "There is NO WARRANTY, to the extent permitted by law."); - win_save_println(console, ""); - win_save_println(console, "Type '/help' to show complete help."); - win_save_println(console, ""); + win_vprint(console, '-', NULL, 0, 0, "", "Copyright (C) 2012 - 2015 James Booth <%s>.", PACKAGE_BUGREPORT); + win_println(console, "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>"); + win_println(console, ""); + win_println(console, "This is free software; you are free to change and redistribute it."); + win_println(console, "There is NO WARRANTY, to the extent permitted by law."); + win_println(console, ""); + win_println(console, "Type '/help' to show complete help."); + win_println(console, ""); if (prefs_get_boolean(PREF_VERCHECK)) { cons_check_version(FALSE); @@ -200,18 +200,18 @@ cons_check_version(gboolean not_available_msg) ProfWin *console = wins_get_console(); char *latest_release = release_get_latest(); - if (latest_release != NULL) { + if (latest_release) { gboolean relase_valid = g_regex_match_simple("^\\d+\\.\\d+\\.\\d+$", latest_release, 0, 0); if (relase_valid) { if (release_is_new(latest_release)) { - win_save_vprint(console, '-', NULL, 0, 0, "", "A new version of Profanity is available: %s", latest_release); - win_save_println(console, "Check <http://www.profanity.im> for details."); - win_save_println(console, ""); + win_vprint(console, '-', NULL, 0, 0, "", "A new version of Profanity is available: %s", latest_release); + win_println(console, "Check <http://www.profanity.im> for details."); + win_println(console, ""); } else { if (not_available_msg) { - win_save_println(console, "No new version available."); - win_save_println(console, ""); + win_println(console, "No new version available."); + win_println(console, ""); } } @@ -225,16 +225,16 @@ void cons_show_login_success(ProfAccount *account) { ProfWin *console = wins_get_console(); - win_save_vprint(console, '-', NULL, NO_EOL, 0, "", "%s logged in successfully, ", account->jid); + win_vprint(console, '-', NULL, NO_EOL, 0, "", "%s logged in successfully, ", account->jid); resource_presence_t presence = accounts_get_login_presence(account->name); const char *presence_str = string_from_resource_presence(presence); theme_item_t presence_colour = theme_main_presence_attrs(presence_str); - win_save_vprint(console, '-', NULL, NO_DATE | NO_EOL, presence_colour, "", "%s", presence_str); - win_save_vprint(console, '-', NULL, NO_DATE | NO_EOL, 0, "", " (priority %d)", + win_vprint(console, '-', NULL, NO_DATE | NO_EOL, presence_colour, "", "%s", presence_str); + win_vprint(console, '-', NULL, NO_DATE | NO_EOL, 0, "", " (priority %d)", accounts_get_priority_for_presence_type(account->name, presence)); - win_save_print(console, '-', NULL, NO_DATE, 0, "", "."); + win_print(console, '-', NULL, NO_DATE, 0, "", "."); cons_alert(); } @@ -247,10 +247,11 @@ cons_show_wins(void) GSList *window_strings = wins_create_summary(); GSList *curr = window_strings; - while (curr != NULL) { - win_save_println(console, curr->data); + while (curr) { + win_println(console, curr->data); curr = g_slist_next(curr); } + g_slist_free_full(window_strings, free); cons_show(""); cons_alert(); @@ -264,7 +265,7 @@ cons_show_room_invites(GSList *invites) cons_show("No outstanding chat room invites."); } else { cons_show("Chat room invites, use /join or /decline commands:"); - while (invites != NULL) { + while (invites) { cons_show(" %s", invites->data); invites = g_slist_next(invites); } @@ -293,53 +294,53 @@ cons_show_caps(const char * const fulljid, resource_presence_t presence) const char *resource_presence = string_from_resource_presence(presence); theme_item_t presence_colour = theme_main_presence_attrs(resource_presence); - win_save_vprint(console, '-', NULL, NO_EOL, presence_colour, "", "%s", fulljid); - win_save_print(console, '-', NULL, NO_DATE, 0, "", ":"); + win_vprint(console, '-', NULL, NO_EOL, presence_colour, "", "%s", fulljid); + win_print(console, '-', NULL, NO_DATE, 0, "", ":"); // show identity - if ((caps->category != NULL) || (caps->type != NULL) || (caps->name != NULL)) { - win_save_print(console, '-', NULL, NO_EOL, 0, "", "Identity: "); - if (caps->name != NULL) { - win_save_print(console, '-', NULL, NO_DATE | NO_EOL, 0, "", caps->name); - if ((caps->category != NULL) || (caps->type != NULL)) { - win_save_print(console, '-', NULL, NO_DATE | NO_EOL, 0, "", " "); + if (caps->category || caps->type || caps->name) { + win_print(console, '-', NULL, NO_EOL, 0, "", "Identity: "); + if (caps->name) { + win_print(console, '-', NULL, NO_DATE | NO_EOL, 0, "", caps->name); + if (caps->category || caps->type) { + win_print(console, '-', NULL, NO_DATE | NO_EOL, 0, "", " "); } } - if (caps->type != NULL) { - win_save_print(console, '-', NULL, NO_DATE | NO_EOL, 0, "", caps->type); - if (caps->category != NULL) { - win_save_print(console, '-', NULL, NO_DATE | NO_EOL, 0, "", " "); + if (caps->type) { + win_print(console, '-', NULL, NO_DATE | NO_EOL, 0, "", caps->type); + if (caps->category) { + win_print(console, '-', NULL, NO_DATE | NO_EOL, 0, "", " "); } } - if (caps->category != NULL) { - win_save_print(console, '-', NULL, NO_DATE | NO_EOL, 0, "", caps->category); + if (caps->category) { + win_print(console, '-', NULL, NO_DATE | NO_EOL, 0, "", caps->category); } - win_save_newline(console); + win_newline(console); } - if (caps->software != NULL) { - win_save_vprint(console, '-', NULL, NO_EOL, 0, "", "Software: %s", caps->software); + if (caps->software) { + win_vprint(console, '-', NULL, NO_EOL, 0, "", "Software: %s", caps->software); } - if (caps->software_version != NULL) { - win_save_vprint(console, '-', NULL, NO_DATE | NO_EOL, 0, "", ", %s", caps->software_version); + if (caps->software_version) { + win_vprint(console, '-', NULL, NO_DATE | NO_EOL, 0, "", ", %s", caps->software_version); } - if ((caps->software != NULL) || (caps->software_version != NULL)) { - win_save_newline(console); + if (caps->software || caps->software_version) { + win_newline(console); } - if (caps->os != NULL) { - win_save_vprint(console, '-', NULL, NO_EOL, 0, "", "OS: %s", caps->os); + if (caps->os) { + win_vprint(console, '-', NULL, NO_EOL, 0, "", "OS: %s", caps->os); } - if (caps->os_version != NULL) { - win_save_vprint(console, '-', NULL, NO_DATE | NO_EOL, 0, "", ", %s", caps->os_version); + if (caps->os_version) { + win_vprint(console, '-', NULL, NO_DATE | NO_EOL, 0, "", ", %s", caps->os_version); } - if ((caps->os != NULL) || (caps->os_version != NULL)) { - win_save_newline(console); + if (caps->os || caps->os_version) { + win_newline(console); } - if (caps->features != NULL) { - win_save_println(console, "Features:"); + if (caps->features) { + win_println(console, "Features:"); GSList *feature = caps->features; - while (feature != NULL) { - win_save_vprint(console, '-', NULL, 0, 0, "", " %s", feature->data); + while (feature) { + win_vprint(console, '-', NULL, 0, 0, "", " %s", feature->data); feature = g_slist_next(feature); } } @@ -357,19 +358,19 @@ 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(); - if ((name != NULL) || (version != NULL) || (os != NULL)) { + if (name || version || os) { cons_show(""); theme_item_t presence_colour = theme_main_presence_attrs(presence); - win_save_vprint(console, '-', NULL, NO_EOL, presence_colour, "", "%s", jid); - win_save_print(console, '-', NULL, NO_DATE, 0, "", ":"); + win_vprint(console, '-', NULL, NO_EOL, presence_colour, "", "%s", jid); + win_print(console, '-', NULL, NO_DATE, 0, "", ":"); } - if (name != NULL) { + if (name) { cons_show("Name : %s", name); } - if (version != NULL) { + if (version) { cons_show("Version : %s", version); } - if (os != NULL) { + if (os) { cons_show("OS : %s", os); } @@ -385,7 +386,7 @@ cons_show_received_subs(void) } else { cons_show("Outstanding subscription requests from:", g_slist_length(received)); - while (received != NULL) { + while (received) { cons_show(" %s", received->data); received = g_slist_next(received); } @@ -402,17 +403,18 @@ cons_show_sent_subs(void) GSList *contacts = roster_get_contacts(); PContact contact = NULL; cons_show("Awaiting subscription responses from:"); - while (contacts != NULL) { - contact = (PContact) contacts->data; + GSList *curr = contacts; + while (curr) { + contact = (PContact) curr->data; if (p_contact_pending_out(contact)) { cons_show(" %s", p_contact_barejid(contact)); } - contacts = g_slist_next(contacts); + curr = g_slist_next(curr); } + g_slist_free(contacts); } else { cons_show("No pending requests sent."); } - cons_alert(); } @@ -420,15 +422,15 @@ 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)) { + if (rooms && (g_slist_length(rooms) > 0)) { cons_show("Chat rooms at %s:", conference_node); - while (rooms != NULL) { + while (rooms) { DiscoItem *room = rooms->data; - win_save_vprint(console, '-', NULL, NO_EOL, 0, "", " %s", room->jid); - if (room->name != NULL) { - win_save_vprint(console, '-', NULL, NO_DATE | NO_EOL, 0, "", ", (%s)", room->name); + win_vprint(console, '-', NULL, NO_EOL, 0, "", " %s", room->jid); + if (room->name) { + win_vprint(console, '-', NULL, NO_DATE | NO_EOL, 0, "", ", (%s)", room->name); } - win_save_newline(console); + win_newline(console); rooms = g_slist_next(rooms); } } else { @@ -450,7 +452,7 @@ cons_show_bookmarks(const GList *list) cons_show(""); cons_show("Bookmarks:"); - while (list != NULL) { + while (list) { Bookmark *item = list->data; theme_item_t presence_colour = THEME_TEXT; @@ -458,24 +460,24 @@ cons_show_bookmarks(const GList *list) if (muc_active(item->jid)) { presence_colour = THEME_ONLINE; } - win_save_vprint(console, '-', NULL, NO_EOL, presence_colour, "", " %s", item->jid); - if (item->nick != NULL) { - win_save_vprint(console, '-', NULL, NO_DATE | NO_EOL, presence_colour, "", "/%s", item->nick); + win_vprint(console, '-', NULL, NO_EOL, presence_colour, "", " %s", item->jid); + if (item->nick) { + win_vprint(console, '-', NULL, NO_DATE | NO_EOL, presence_colour, "", "/%s", item->nick); } if (item->autojoin) { - win_save_print(console, '-', NULL, NO_DATE | NO_EOL, presence_colour, "", " (autojoin)"); + win_print(console, '-', NULL, NO_DATE | NO_EOL, presence_colour, "", " (autojoin)"); } - if (item->password != NULL) { - win_save_print(console, '-', NULL, NO_DATE | NO_EOL, presence_colour, "", " (private)"); + if (item->password) { + win_print(console, '-', NULL, NO_DATE | NO_EOL, presence_colour, "", " (private)"); } if (muc_active(item->jid)) { ProfWin *roomwin = (ProfWin*)wins_get_muc(item->jid); - if (roomwin != NULL) { + if (roomwin) { int num = wins_get_num(roomwin); - win_save_vprint(console, '-', NULL, NO_DATE | NO_EOL, presence_colour, "", " (%d)", num); + win_vprint(console, '-', NULL, NO_DATE | NO_EOL, presence_colour, "", " (%d)", num); } } - win_save_newline(console); + win_newline(console); list = g_list_next(list); } } @@ -485,26 +487,26 @@ cons_show_bookmarks(const GList *list) 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))) { + if ((identities && (g_slist_length(identities) > 0)) || + (features && (g_slist_length(features) > 0))) { cons_show(""); cons_show("Service disovery info for %s", jid); - if (identities != NULL) { + if (identities) { cons_show(" Identities"); } - while (identities != NULL) { + while (identities) { DiscoIdentity *identity = identities->data; // anme trpe, cat GString *identity_str = g_string_new(" "); - if (identity->name != NULL) { + if (identity->name) { identity_str = g_string_append(identity_str, identity->name); identity_str = g_string_append(identity_str, " "); } - if (identity->type != NULL) { + if (identity->type) { identity_str = g_string_append(identity_str, identity->type); identity_str = g_string_append(identity_str, " "); } - if (identity->category != NULL) { + if (identity->category) { identity_str = g_string_append(identity_str, identity->category); } cons_show(identity_str->str); @@ -512,10 +514,10 @@ cons_show_disco_info(const char *jid, GSList *identities, GSList *features) identities = g_slist_next(identities); } - if (features != NULL) { + if (features) { cons_show(" Features:"); } - while (features != NULL) { + while (features) { cons_show(" %s", features->data); features = g_slist_next(features); } @@ -528,16 +530,16 @@ void cons_show_disco_items(GSList *items, const char * const jid) { ProfWin *console = wins_get_console(); - if ((items != NULL) && (g_slist_length(items) > 0)) { + if (items && (g_slist_length(items) > 0)) { cons_show(""); cons_show("Service discovery items for %s:", jid); - while (items != NULL) { + while (items) { DiscoItem *item = items->data; - win_save_vprint(console, '-', NULL, NO_EOL, 0, "", " %s", item->jid); - if (item->name != NULL) { - win_save_vprint(console, '-', NULL, NO_DATE | NO_EOL, 0, "", ", (%s)", item->name); + win_vprint(console, '-', NULL, NO_EOL, 0, "", " %s", item->jid); + if (item->name) { + win_vprint(console, '-', NULL, NO_DATE | NO_EOL, 0, "", ", (%s)", item->name); } - win_save_vprint(console, '-', NULL, NO_DATE, 0, "", ""); + win_vprint(console, '-', NULL, NO_DATE, 0, "", ""); items = g_slist_next(items); } } else { @@ -554,7 +556,7 @@ cons_show_status(const char * const barejid) ProfWin *console = wins_get_console(); PContact pcontact = roster_get_contact(barejid); - if (pcontact != NULL) { + if (pcontact) { win_show_contact(console, pcontact); } else { cons_show("No such contact \"%s\" in roster.", barejid); @@ -569,8 +571,8 @@ cons_show_room_invite(const char * const invitor, const char * const room, { char *display_from = NULL; PContact contact = roster_get_contact(invitor); - if (contact != NULL) { - if (p_contact_name(contact) != NULL) { + if (contact) { + if (p_contact_name(contact)) { display_from = strdup(p_contact_name(contact)); } else { display_from = strdup(invitor); @@ -584,7 +586,7 @@ cons_show_room_invite(const char * const invitor, const char * const room, cons_show(" From : %s", display_from); cons_show(" Room : %s", room); - if (reason != NULL) { + if (reason) { cons_show(" Message: %s", reason); } @@ -612,7 +614,7 @@ cons_show_account_list(gchar **accounts) (g_strcmp0(jabber_get_account_name(), accounts[i]) == 0)) { resource_presence_t presence = accounts_get_last_presence(accounts[i]); theme_item_t presence_colour = theme_main_presence_attrs(string_from_resource_presence(presence)); - win_save_vprint(console, '-', NULL, 0, presence_colour, "", "%s", accounts[i]); + win_vprint(console, '-', NULL, 0, presence_colour, "", "%s", accounts[i]); } else { cons_show(accounts[i]); } @@ -671,9 +673,9 @@ cons_show_account(ProfAccount *account) if (g_list_length(account->otr_manual) > 0) { GString *manual = g_string_new("OTR manual : "); GList *curr = account->otr_manual; - while (curr != NULL) { + while (curr) { g_string_append(manual, curr->data); - if (curr->next != NULL) { + if (curr->next) { g_string_append(manual, ", "); } curr = curr->next; @@ -684,9 +686,9 @@ cons_show_account(ProfAccount *account) if (g_list_length(account->otr_opportunistic) > 0) { GString *opportunistic = g_string_new("OTR opportunistic : "); GList *curr = account->otr_opportunistic; - while (curr != NULL) { + while (curr) { g_string_append(opportunistic, curr->data); - if (curr->next != NULL) { + if (curr->next) { g_string_append(opportunistic, ", "); } curr = curr->next; @@ -697,9 +699,9 @@ cons_show_account(ProfAccount *account) if (g_list_length(account->otr_always) > 0) { GString *always = g_string_new("OTR always : "); GList *curr = account->otr_always; - while (curr != NULL) { + while (curr) { g_string_append(always, curr->data); - if (curr->next != NULL) { + if (curr->next) { g_string_append(always, ", "); } curr = curr->next; @@ -717,76 +719,81 @@ cons_show_account(ProfAccount *account) GList *resources = jabber_get_available_resources(); GList *ordered_resources = NULL; - if (resources != NULL) { - win_save_println(console, "Resources:"); + GList *curr = resources; + if (curr) { + win_println(console, "Resources:"); - // sort in order of availabiltiy - while (resources != NULL) { - Resource *resource = resources->data; + // sort in order of availability + while (curr) { + Resource *resource = curr->data; ordered_resources = g_list_insert_sorted(ordered_resources, resource, (GCompareFunc)resource_compare_availability); - resources = g_list_next(resources); + curr = g_list_next(curr); } } - while (ordered_resources != NULL) { - Resource *resource = ordered_resources->data; + g_list_free(resources); + + curr = ordered_resources; + while (curr) { + Resource *resource = curr->data; const char *resource_presence = string_from_resource_presence(resource->presence); theme_item_t presence_colour = theme_main_presence_attrs(resource_presence); - win_save_vprint(console, '-', NULL, NO_EOL, presence_colour, "", " %s (%d), %s", resource->name, resource->priority, resource_presence); + win_vprint(console, '-', NULL, NO_EOL, presence_colour, "", " %s (%d), %s", resource->name, resource->priority, resource_presence); - if (resource->status != NULL) { - win_save_vprint(console, '-', NULL, NO_DATE | NO_EOL, presence_colour, "", ", \"%s\"", resource->status); + if (resource->status) { + win_vprint(console, '-', NULL, NO_DATE | NO_EOL, presence_colour, "", ", \"%s\"", resource->status); } - win_save_vprint(console, '-', NULL, NO_DATE, 0, "", ""); + win_vprint(console, '-', NULL, NO_DATE, 0, "", ""); Jid *jidp = jid_create_from_bare_and_resource(account->jid, resource->name); Capabilities *caps = caps_lookup(jidp->fulljid); jid_destroy(jidp); - if (caps != NULL) { + if (caps) { // show identity - if ((caps->category != NULL) || (caps->type != NULL) || (caps->name != NULL)) { - win_save_print(console, '-', NULL, NO_EOL, 0, "", " Identity: "); - if (caps->name != NULL) { - win_save_print(console, '-', NULL, NO_DATE | NO_EOL, 0, "", caps->name); - if ((caps->category != NULL) || (caps->type != NULL)) { - win_save_print(console, '-', NULL, NO_DATE | NO_EOL, 0, "", " "); + if (caps->category || caps->type || caps->name) { + win_print(console, '-', NULL, NO_EOL, 0, "", " Identity: "); + if (caps->name) { + win_print(console, '-', NULL, NO_DATE | NO_EOL, 0, "", caps->name); + if (caps->category || caps->type) { + win_print(console, '-', NULL, NO_DATE | NO_EOL, 0, "", " "); } } - if (caps->type != NULL) { - win_save_print(console, '-', NULL, NO_DATE | NO_EOL, 0, "", caps->type); - if (caps->category != NULL) { - win_save_print(console, '-', NULL, NO_DATE | NO_EOL, 0, "", " "); + if (caps->type) { + win_print(console, '-', NULL, NO_DATE | NO_EOL, 0, "", caps->type); + if (caps->category) { + win_print(console, '-', NULL, NO_DATE | NO_EOL, 0, "", " "); } } - if (caps->category != NULL) { - win_save_print(console, '-', NULL, NO_DATE | NO_EOL, 0, "", caps->category); + if (caps->category) { + win_print(console, '-', NULL, NO_DATE | NO_EOL, 0, "", caps->category); } - win_save_newline(console); + win_newline(console); } - if (caps->software != NULL) { - win_save_vprint(console, '-', NULL, NO_EOL, 0, "", " Software: %s", caps->software); + if (caps->software) { + win_vprint(console, '-', NULL, NO_EOL, 0, "", " Software: %s", caps->software); } - if (caps->software_version != NULL) { - win_save_vprint(console, '-', NULL, NO_DATE | NO_EOL, 0, "", ", %s", caps->software_version); + if (caps->software_version) { + win_vprint(console, '-', NULL, NO_DATE | NO_EOL, 0, "", ", %s", caps->software_version); } - if ((caps->software != NULL) || (caps->software_version != NULL)) { - win_save_newline(console); + if (caps->software || caps->software_version) { + win_newline(console); } - if (caps->os != NULL) { - win_save_vprint(console, '-', NULL, NO_EOL, 0, "", " OS: %s", caps->os); + if (caps->os) { + win_vprint(console, '-', NULL, NO_EOL, 0, "", " OS: %s", caps->os); } - if (caps->os_version != NULL) { - win_save_vprint(console, '-', NULL, NO_DATE | NO_EOL, 0, "", ", %s", caps->os_version); + if (caps->os_version) { + win_vprint(console, '-', NULL, NO_DATE | NO_EOL, 0, "", ", %s", caps->os_version); } - if ((caps->os != NULL) || (caps->os_version != NULL)) { - win_save_newline(console); + if (caps->os || caps->os_version) { + win_newline(console); } caps_destroy(caps); } - ordered_resources = g_list_next(ordered_resources); + curr = g_list_next(curr); } + g_list_free(ordered_resources); } cons_alert(); @@ -801,10 +808,10 @@ cons_show_aliases(GList *aliases) } GList *curr = aliases; - if (curr != NULL) { + if (curr) { cons_show("Command aliases:"); } - while (curr != NULL) { + while (curr) { ProfAlias *alias = curr->data; cons_show(" /%s -> %s", alias->name, alias->value); curr = g_list_next(curr); @@ -850,9 +857,9 @@ cons_resource_setting(void) else cons_show("Resource title (/resource) : OFF"); if (prefs_get_boolean(PREF_RESOURCE_MESSAGE)) - cons_show("Message title (/resource) : ON"); + cons_show("Resource message (/resource) : ON"); else - cons_show("Message title (/resource) : OFF"); + cons_show("Resource message (/resource) : OFF"); } void @@ -899,6 +906,11 @@ cons_occupants_setting(void) else cons_show("Occupants (/occupants) : hide"); + if (prefs_get_boolean(PREF_OCCUPANTS_JID)) + cons_show("Occupant jids (/occupants) : show"); + else + cons_show("Occupant jids (/occupants) : hide"); + int size = prefs_get_occupants_size(); cons_show("Occupants size (/occupants) : %d", size); } @@ -907,7 +919,7 @@ void cons_autoconnect_setting(void) { char *pref_connect_account = prefs_get_string(PREF_CONNECT_ACCOUNT); - if (pref_connect_account != NULL) + if (pref_connect_account) cons_show("Autoconnect (/autoconnect) : %s", pref_connect_account); else cons_show("Autoconnect (/autoconnect) : OFF"); @@ -925,6 +937,16 @@ cons_time_setting(void) cons_show("Time (/time) : %s", pref_time); prefs_free_string(pref_time); + + char *pref_time_statusbar = prefs_get_string(PREF_TIME_STATUSBAR); + if (g_strcmp0(pref_time_statusbar, "minutes") == 0) + cons_show("Time statusbar (/time) : minutes"); + else if (g_strcmp0(pref_time_statusbar, "off") == 0) + cons_show("Time statusbar (/time) : OFF"); + else + cons_show("Time statusbar (/time) : seconds"); + + prefs_free_string(pref_time_statusbar); } void @@ -994,6 +1016,9 @@ cons_roster_setting(void) else cons_show("Roster resource (/roster) : hide"); + char *by = prefs_get_string(PREF_ROSTER_BY); + cons_show("Roster by (/roster) : %s", by); + int size = prefs_get_roster_size(); cons_show("Roster size (/roster) : %d", size); } @@ -1120,27 +1145,27 @@ void cons_states_setting(void) { if (prefs_get_boolean(PREF_STATES)) - cons_show("Send chat states (/states) : ON"); + cons_show("Send chat states (/states) : ON"); else - cons_show("Send chat states (/states) : OFF"); + cons_show("Send chat states (/states) : OFF"); } void cons_outtype_setting(void) { if (prefs_get_boolean(PREF_OUTTYPE)) - cons_show("Send composing (/outtype) : ON"); + cons_show("Send composing (/outtype) : ON"); else - cons_show("Send composing (/outtype) : OFF"); + cons_show("Send composing (/outtype) : OFF"); } void cons_intype_setting(void) { if (prefs_get_boolean(PREF_INTYPE)) - cons_show("Show typing (/intype) : ON"); + cons_show("Show typing (/intype) : ON"); else - cons_show("Show typing (/intype) : OFF"); + cons_show("Show typing (/intype) : OFF"); } void @@ -1148,11 +1173,11 @@ cons_gone_setting(void) { gint gone_time = prefs_get_gone(); if (gone_time == 0) { - cons_show("Leave conversation (/gone) : OFF"); + cons_show("Leave conversation (/gone) : OFF"); } else if (gone_time == 1) { - cons_show("Leave conversation (/gone) : 1 minute"); + cons_show("Leave conversation (/gone) : 1 minute"); } else { - cons_show("Leave conversation (/gone) : %d minutes", gone_time); + cons_show("Leave conversation (/gone) : %d minutes", gone_time); } } @@ -1160,9 +1185,33 @@ void cons_history_setting(void) { if (prefs_get_boolean(PREF_HISTORY)) - cons_show("Chat history (/history) : ON"); + cons_show("Chat history (/history) : ON"); else - cons_show("Chat history (/history) : OFF"); + cons_show("Chat history (/history) : OFF"); +} + +void +cons_carbons_setting(void) +{ + if (prefs_get_boolean(PREF_CARBONS)) + cons_show("Message carbons (/carbons) : ON"); + else + cons_show("Message carbons (/carbons) : OFF"); +} + +void +cons_receipts_setting(void) +{ + if (prefs_get_boolean(PREF_RECEIPTS_REQUEST)) + cons_show("Request receipts (/receipts) : ON"); + else + cons_show("Request receipts (/receipts) : OFF"); + + if (prefs_get_boolean(PREF_RECEIPTS_SEND)) + cons_show("Send receipts (/receipts) : ON"); + else + cons_show("Send receipts (/receipts) : OFF"); + } void @@ -1175,6 +1224,8 @@ cons_show_chat_prefs(void) cons_intype_setting(); cons_gone_setting(); cons_history_setting(); + cons_carbons_setting(); + cons_receipts_setting(); cons_alert(); } @@ -1359,7 +1410,7 @@ cons_show_themes(GSList *themes) cons_show("No available themes."); } else { cons_show("Available themes:"); - while (themes != NULL) { + while (themes) { cons_show(themes->data); themes = g_slist_next(themes); } @@ -1400,7 +1451,7 @@ cons_help(void) cons_show("/help basic - List basic commands for getting started."); cons_show("/help chatting - List chat commands."); cons_show("/help groupchat - List groupchat commands."); - cons_show("/help presence - List commands to change presence."); + cons_show("/help presences - List commands to change presence."); cons_show("/help contacts - List commands for manipulating your roster."); cons_show("/help service - List service discovery commands."); cons_show("/help settings - List commands for changing settings."); @@ -1417,27 +1468,10 @@ cons_navigation_help(void) cons_show(""); cons_show("Navigation:"); cons_show(""); - cons_show("Alt-1 : This console window."); - cons_show("F1 : This console window."); - cons_show("Alt-2..Alt-0 : Chat windows."); - cons_show("F2..F10 : Chat windows."); + cons_show("Alt-1..Alt-0, F1..F10 : Choose window."); cons_show("Alt-LEFT, Alt-RIGHT : Previous/next chat window"); - cons_show("UP, DOWN : Navigate input history."); - cons_show("Ctrl-n, Ctrl-p : Navigate input history."); - cons_show("LEFT, RIGHT, HOME, END : Move cursor."); - cons_show("Ctrl-b, Ctrl-f, Ctrl-a, Ctrl-e : Move cursor."); - cons_show("Ctrl-LEFT, Ctrl-RIGHT : Jump word."); - cons_show("Ctrl-w : Delete previous word."); - cons_show("Alt-Backspace : Delete previous word."); - cons_show("Backspace : Delete previous character."); - cons_show("DEL : Delete next character."); - cons_show("Ctrl-d : Delete next character."); - cons_show("ESC : Clear current input."); - cons_show("Ctrl-u : Delete all previous characters."); - cons_show("TAB : Autocomplete."); - cons_show("PAGE UP, PAGE DOWN : Page the main window."); - cons_show("Shift-UP, Shift-DOWN : Page occupants/roster panel."); - cons_show("Ctrl-UP, Ctrl-DOWN : Page occupants/roster panel."); + cons_show("PAGEUP, PAGEDOWN : Page the main window."); + cons_show("Alt-PAGEUP, Alt-PAGEDOWN : Page occupants/roster panel."); cons_show(""); cons_alert(); @@ -1448,7 +1482,7 @@ cons_show_roster_group(const char * const group, GSList *list) { cons_show(""); - if (list != NULL) { + if (list) { cons_show("%s:", group); } else { cons_show("No group named %s exists.", group); @@ -1537,22 +1571,22 @@ cons_theme_colours(void) ProfWin *console = wins_get_console(); cons_show("Theme colours:"); - win_save_print(console, '-', NULL, NO_EOL, THEME_WHITE, "", " white "); - win_save_print(console, '-', NULL, NO_DATE, THEME_WHITE_BOLD, "", " bold_white"); - win_save_print(console, '-', NULL, NO_EOL, THEME_GREEN, "", " green "); - win_save_print(console, '-', NULL, NO_DATE, THEME_GREEN_BOLD, "", " bold_green"); - win_save_print(console, '-', NULL, NO_EOL, THEME_RED, "", " red "); - win_save_print(console, '-', NULL, NO_DATE, THEME_RED_BOLD, "", " bold_red"); - win_save_print(console, '-', NULL, NO_EOL, THEME_YELLOW, "", " yellow "); - win_save_print(console, '-', NULL, NO_DATE, THEME_YELLOW_BOLD, "", " bold_yellow"); - win_save_print(console, '-', NULL, NO_EOL, THEME_BLUE, "", " blue "); - win_save_print(console, '-', NULL, NO_DATE, THEME_BLUE_BOLD, "", " bold_blue"); - win_save_print(console, '-', NULL, NO_EOL, THEME_CYAN, "", " cyan "); - win_save_print(console, '-', NULL, NO_DATE, THEME_CYAN_BOLD, "", " bold_cyan"); - win_save_print(console, '-', NULL, NO_EOL, THEME_MAGENTA, "", " magenta "); - win_save_print(console, '-', NULL, NO_DATE, THEME_MAGENTA_BOLD, "", " bold_magenta"); - win_save_print(console, '-', NULL, NO_EOL, THEME_BLACK, "", " black "); - win_save_print(console, '-', NULL, NO_DATE, THEME_BLACK_BOLD, "", " bold_black"); + win_print(console, '-', NULL, NO_EOL, THEME_WHITE, "", " white "); + win_print(console, '-', NULL, NO_DATE, THEME_WHITE_BOLD, "", " bold_white"); + win_print(console, '-', NULL, NO_EOL, THEME_GREEN, "", " green "); + win_print(console, '-', NULL, NO_DATE, THEME_GREEN_BOLD, "", " bold_green"); + win_print(console, '-', NULL, NO_EOL, THEME_RED, "", " red "); + win_print(console, '-', NULL, NO_DATE, THEME_RED_BOLD, "", " bold_red"); + win_print(console, '-', NULL, NO_EOL, THEME_YELLOW, "", " yellow "); + win_print(console, '-', NULL, NO_DATE, THEME_YELLOW_BOLD, "", " bold_yellow"); + win_print(console, '-', NULL, NO_EOL, THEME_BLUE, "", " blue "); + win_print(console, '-', NULL, NO_DATE, THEME_BLUE_BOLD, "", " bold_blue"); + win_print(console, '-', NULL, NO_EOL, THEME_CYAN, "", " cyan "); + win_print(console, '-', NULL, NO_DATE, THEME_CYAN_BOLD, "", " bold_cyan"); + win_print(console, '-', NULL, NO_EOL, THEME_MAGENTA, "", " magenta "); + win_print(console, '-', NULL, NO_DATE, THEME_MAGENTA_BOLD, "", " bold_magenta"); + win_print(console, '-', NULL, NO_EOL, THEME_BLACK, "", " black "); + win_print(console, '-', NULL, NO_DATE, THEME_BLACK_BOLD, "", " bold_black"); cons_show(""); } @@ -1560,25 +1594,25 @@ static void _cons_splash_logo(void) { ProfWin *console = wins_get_console(); - win_save_println(console, "Welcome to"); + win_println(console, "Welcome to"); - win_save_print(console, '-', NULL, 0, THEME_SPLASH, "", " ___ _ "); - win_save_print(console, '-', NULL, 0, THEME_SPLASH, "", " / __) (_)_ "); - win_save_print(console, '-', NULL, 0, THEME_SPLASH, "", " ____ ____ ___ | |__ ____ ____ _| |_ _ _ "); - win_save_print(console, '-', NULL, 0, THEME_SPLASH, "", "| _ \\ / ___) _ \\| __) _ | _ \\| | _) | | |"); - win_save_print(console, '-', NULL, 0, THEME_SPLASH, "", "| | | | | | |_| | | ( ( | | | | | | |_| |_| |"); - win_save_print(console, '-', NULL, 0, THEME_SPLASH, "", "| ||_/|_| \\___/|_| \\_||_|_| |_|_|\\___)__ |"); - win_save_print(console, '-', NULL, 0, THEME_SPLASH, "", "|_| (____/ "); - win_save_print(console, '-', NULL, 0, THEME_SPLASH, "", ""); + win_print(console, '-', NULL, 0, THEME_SPLASH, "", " ___ _ "); + win_print(console, '-', NULL, 0, THEME_SPLASH, "", " / __) (_)_ "); + win_print(console, '-', NULL, 0, THEME_SPLASH, "", " ____ ____ ___ | |__ ____ ____ _| |_ _ _ "); + win_print(console, '-', NULL, 0, THEME_SPLASH, "", "| _ \\ / ___) _ \\| __) _ | _ \\| | _) | | |"); + win_print(console, '-', NULL, 0, THEME_SPLASH, "", "| | | | | | |_| | | ( ( | | | | | | |_| |_| |"); + win_print(console, '-', NULL, 0, THEME_SPLASH, "", "| ||_/|_| \\___/|_| \\_||_|_| |_|_|\\___)__ |"); + win_print(console, '-', NULL, 0, THEME_SPLASH, "", "|_| (____/ "); + win_print(console, '-', NULL, 0, THEME_SPLASH, "", ""); if (strcmp(PACKAGE_STATUS, "development") == 0) { #ifdef HAVE_GIT_VERSION - win_save_vprint(console, '-', NULL, 0, 0, "", "Version %sdev.%s.%s", PACKAGE_VERSION, PROF_GIT_BRANCH, PROF_GIT_REVISION); + win_vprint(console, '-', NULL, 0, 0, "", "Version %sdev.%s.%s", PACKAGE_VERSION, PROF_GIT_BRANCH, PROF_GIT_REVISION); #else - win_save_vprint(console, '-', NULL, 0, 0, "", "Version %sdev", PACKAGE_VERSION); + win_vprint(console, '-', NULL, 0, 0, "", "Version %sdev", PACKAGE_VERSION); #endif } else { - win_save_vprint(console, '-', NULL, 0, 0, "", "Version %s", PACKAGE_VERSION); + win_vprint(console, '-', NULL, 0, 0, "", "Version %s", PACKAGE_VERSION); } } @@ -1592,7 +1626,7 @@ _show_roster_contacts(GSList *list, gboolean show_groups) PContact contact = curr->data; GString *title = g_string_new(" "); title = g_string_append(title, p_contact_barejid(contact)); - if (p_contact_name(contact) != NULL) { + if (p_contact_name(contact)) { title = g_string_append(title, " ("); title = g_string_append(title, p_contact_name(contact)); title = g_string_append(title, ")"); @@ -1605,11 +1639,11 @@ _show_roster_contacts(GSList *list, gboolean show_groups) } else { presence_colour = theme_main_presence_attrs("offline"); } - win_save_vprint(console, '-', NULL, NO_EOL, presence_colour, "", title->str); + win_vprint(console, '-', NULL, NO_EOL, presence_colour, "", title->str); g_string_free(title, TRUE); - win_save_print(console, '-', NULL, NO_DATE | NO_EOL, 0, "", " - "); + win_print(console, '-', NULL, NO_DATE | NO_EOL, 0, "", " - "); GString *sub = g_string_new(""); sub = g_string_append(sub, p_contact_subscription(contact)); if (p_contact_pending_out(contact)) { @@ -1625,28 +1659,28 @@ _show_roster_contacts(GSList *list, gboolean show_groups) } if (show_groups) { - win_save_vprint(console, '-', NULL, NO_DATE | NO_EOL, presence_colour, "", "%s", sub->str); + win_vprint(console, '-', NULL, NO_DATE | NO_EOL, presence_colour, "", "%s", sub->str); } else { - win_save_vprint(console, '-', NULL, NO_DATE, presence_colour, "", "%s", sub->str); + win_vprint(console, '-', NULL, NO_DATE, presence_colour, "", "%s", sub->str); } g_string_free(sub, TRUE); if (show_groups) { GSList *groups = p_contact_groups(contact); - if (groups != NULL) { + if (groups) { GString *groups_str = g_string_new(" - "); - while (groups != NULL) { + while (groups) { g_string_append(groups_str, groups->data); - if (g_slist_next(groups) != NULL) { + if (g_slist_next(groups)) { g_string_append(groups_str, ", "); } groups = g_slist_next(groups); } - win_save_vprint(console, '-', NULL, NO_DATE, 0, "", "%s", groups_str->str); + win_vprint(console, '-', NULL, NO_DATE, 0, "", "%s", groups_str->str); g_string_free(groups_str, TRUE); } else { - win_save_print(console, '-', NULL, NO_DATE, 0, "", " "); + win_print(console, '-', NULL, NO_DATE, 0, "", " "); } } |