diff options
author | James Booth <boothj5@gmail.com> | 2015-09-30 22:34:27 +0100 |
---|---|---|
committer | James Booth <boothj5@gmail.com> | 2015-09-30 22:34:27 +0100 |
commit | b9948a4c018b25b3d5dc0a876740d8621b210070 (patch) | |
tree | 917b5ea296aab390aaee6b9f74b04f8ec042fcbd /src/ui | |
parent | d2b991de1d5948410c1ded0ac0dca1c7adc8117d (diff) | |
download | profani-tty-b9948a4c018b25b3d5dc0a876740d8621b210070.tar.gz |
Added time format perferences per window type
Diffstat (limited to 'src/ui')
-rw-r--r-- | src/ui/console.c | 45 | ||||
-rw-r--r-- | src/ui/statusbar.c | 22 | ||||
-rw-r--r-- | src/ui/window.c | 29 |
3 files changed, 84 insertions, 12 deletions
diff --git a/src/ui/console.c b/src/ui/console.c index 1bbaac38..5445a503 100644 --- a/src/ui/console.c +++ b/src/ui/console.c @@ -997,12 +997,47 @@ cons_autoconnect_setting(void) void cons_time_setting(void) { - char *pref_time = prefs_get_string(PREF_TIME); - if (g_strcmp0(pref_time, "off") == 0) - cons_show("Time main (/time) : OFF"); + char *pref_time_console = prefs_get_string(PREF_TIME_CONSOLE); + if (g_strcmp0(pref_time_console, "off") == 0) + cons_show("Time console (/time) : OFF"); else - cons_show("Time main (/time) : %s", pref_time); - prefs_free_string(pref_time); + cons_show("Time console (/time) : %s", pref_time_console); + prefs_free_string(pref_time_console); + + char *pref_time_chat = prefs_get_string(PREF_TIME_CHAT); + if (g_strcmp0(pref_time_chat, "off") == 0) + cons_show("Time chat (/time) : OFF"); + else + cons_show("Time chat (/time) : %s", pref_time_chat); + prefs_free_string(pref_time_chat); + + char *pref_time_muc = prefs_get_string(PREF_TIME_MUC); + if (g_strcmp0(pref_time_muc, "off") == 0) + cons_show("Time MUC (/time) : OFF"); + else + cons_show("Time MUC (/time) : %s", pref_time_muc); + prefs_free_string(pref_time_muc); + + char *pref_time_mucconf = prefs_get_string(PREF_TIME_MUCCONFIG); + if (g_strcmp0(pref_time_mucconf, "off") == 0) + cons_show("Time MUC config (/time) : OFF"); + else + cons_show("Time MUC config (/time) : %s", pref_time_mucconf); + prefs_free_string(pref_time_mucconf); + + char *pref_time_private = prefs_get_string(PREF_TIME_PRIVATE); + if (g_strcmp0(pref_time_private, "off") == 0) + cons_show("Time private (/time) : OFF"); + else + cons_show("Time private (/time) : %s", pref_time_private); + prefs_free_string(pref_time_private); + + char *pref_time_xml = prefs_get_string(PREF_TIME_XMLCONSOLE); + if (g_strcmp0(pref_time_xml, "off") == 0) + cons_show("Time XML Console (/time) : OFF"); + else + cons_show("Time XML Console (/time) : %s", pref_time_xml); + prefs_free_string(pref_time_xml); char *pref_time_statusbar = prefs_get_string(PREF_TIME_STATUSBAR); if (g_strcmp0(pref_time_statusbar, "off") == 0) diff --git a/src/ui/statusbar.c b/src/ui/statusbar.c index 5541f648..47aa1b1a 100644 --- a/src/ui/statusbar.c +++ b/src/ui/statusbar.c @@ -129,11 +129,17 @@ status_bar_resize(void) if (message) { char *time_pref = prefs_get_string(PREF_TIME_STATUSBAR); - gchar *date_fmt = g_date_time_format(last_time, time_pref); + + gchar *date_fmt = NULL; + if (g_strcmp0(time_pref, "off") == 0) { + date_fmt = g_strdup(""); + } else { + date_fmt = g_date_time_format(last_time, time_pref); + } assert(date_fmt != NULL); size_t len = strlen(date_fmt); g_free(date_fmt); - if (g_strcmp0(time_pref, "") != 0) { + if (g_strcmp0(time_pref, "off") != 0) { /* 01234567890123456 * [HH:MM] message */ mvwprintw(status_bar, 0, 5 + len, message); @@ -308,11 +314,17 @@ status_bar_print_message(const char * const msg) message = strdup(msg); char *time_pref = prefs_get_string(PREF_TIME_STATUSBAR); - gchar *date_fmt = g_date_time_format(last_time, time_pref); + gchar *date_fmt = NULL; + if (g_strcmp0(time_pref, "off") == 0) { + date_fmt = g_strdup(""); + } else { + date_fmt = g_date_time_format(last_time, time_pref); + } + assert(date_fmt != NULL); size_t len = strlen(date_fmt); g_free(date_fmt); - if (g_strcmp0(time_pref, "") != 0) { + if (g_strcmp0(time_pref, "off") != 0) { mvwprintw(status_bar, 0, 5 + len, message); } else { mvwprintw(status_bar, 0, 1, message); @@ -444,7 +456,7 @@ _status_bar_draw(void) int bracket_attrs = theme_attrs(THEME_STATUS_BRACKET); char *time_pref = prefs_get_string(PREF_TIME_STATUSBAR); - if (g_strcmp0(time_pref, "") != 0) { + if (g_strcmp0(time_pref, "off") != 0) { gchar *date_fmt = g_date_time_format(last_time, time_pref); assert(date_fmt != NULL); size_t len = strlen(date_fmt); diff --git a/src/ui/window.c b/src/ui/window.c index 5a2196f2..8579b02f 100644 --- a/src/ui/window.c +++ b/src/ui/window.c @@ -982,9 +982,34 @@ _win_print(ProfWin *window, const char show_char, int pad_indent, GDateTime *tim int colour = theme_attrs(THEME_ME); size_t indent = 0; + char *time_pref = NULL; + switch (window->type) { + case WIN_CHAT: + time_pref = prefs_get_string(PREF_TIME_CHAT); + break; + case WIN_MUC: + time_pref = prefs_get_string(PREF_TIME_MUC); + break; + case WIN_MUC_CONFIG: + time_pref = prefs_get_string(PREF_TIME_MUCCONFIG); + break; + case WIN_PRIVATE: + time_pref = prefs_get_string(PREF_TIME_PRIVATE); + break; + case WIN_XML: + time_pref = prefs_get_string(PREF_TIME_XMLCONSOLE); + break; + default: + time_pref = prefs_get_string(PREF_TIME_CONSOLE); + break; + } + gchar *date_fmt = NULL; - char *time_pref = prefs_get_string(PREF_TIME); - date_fmt = g_date_time_format(time, time_pref); + if (g_strcmp0(time_pref, "off") == 0) { + date_fmt = g_strdup(""); + } else { + date_fmt = g_date_time_format(time, time_pref); + } prefs_free_string(time_pref); assert(date_fmt != NULL); |