diff options
author | Vesa Pirila <vesa@pirila.fi> | 2015-02-08 16:58:30 +0200 |
---|---|---|
committer | Vesa Pirila <vesa@pirila.fi> | 2015-02-08 16:58:30 +0200 |
commit | cd5a571fd8aba12b6b8ddbf54e947ac4cc1e516e (patch) | |
tree | 81fa09e1cc4ce95e9cc93e76aa02fc168cfc60bf /src/fe-text | |
parent | 466166010b751efc622af444e00c33a843c98063 (diff) | |
download | irssi-cd5a571fd8aba12b6b8ddbf54e947ac4cc1e516e.zip |
Added customization possibility for the lastlog date format, lastlog_date
Diffstat (limited to 'src/fe-text')
-rw-r--r-- | src/fe-text/lastlog.c | 22 | ||||
-rw-r--r-- | src/fe-text/module-formats.c | 1 | ||||
-rw-r--r-- | src/fe-text/module-formats.h | 1 |
3 files changed, 17 insertions, 7 deletions
diff --git a/src/fe-text/lastlog.c b/src/fe-text/lastlog.c index fe3cf5af..3c700d76 100644 --- a/src/fe-text/lastlog.c +++ b/src/fe-text/lastlog.c @@ -74,15 +74,23 @@ int cmd_options_get_level(const char *cmd, GHashTable *optlist) return retlevel; } -static void prepend_date(LINE_REC *rec, GString *line) +static void prepend_date(WINDOW_REC *window, LINE_REC *rec, GString *line) { + THEME_REC *theme = NULL; + TEXT_DEST_REC dest = {0}; + char *format = NULL, datestamp[20] = {0}; struct tm *tm = localtime(&rec->info.time); - char timestamp[12]; + int ret = 0; - g_snprintf(timestamp, sizeof(timestamp), - "%04d-%02d-%02d ", - tm->tm_year+1900, tm->tm_mon, tm->tm_mday); - g_string_prepend(line, timestamp); + theme = window->theme != NULL ? window->theme : current_theme; + format_create_dest(&dest, NULL, NULL, MSGLEVEL_LASTLOG, window); + format = format_get_text_theme(theme, MODULE_NAME, &dest, TXT_LASTLOG_DATE); + + ret = strftime(datestamp, sizeof(datestamp), format, tm); + g_free(format); + if (ret <= 0) return; + + g_string_prepend(line, datestamp); } static void show_lastlog(const char *searchtext, GHashTable *optlist, @@ -214,7 +222,7 @@ static void show_lastlog(const char *searchtext, GHashTable *optlist, } if (date == TRUE) - prepend_date(rec, line); + prepend_date(window, rec, line); /* write to file/window */ if (fhandle != NULL) { diff --git a/src/fe-text/module-formats.c b/src/fe-text/module-formats.c index 1d905095..899827c2 100644 --- a/src/fe-text/module-formats.c +++ b/src/fe-text/module-formats.c @@ -33,6 +33,7 @@ FORMAT_REC gui_text_formats[] = { "lastlog_start", "{hilight Lastlog}:", 0 }, { "lastlog_end", "{hilight End of Lastlog}", 0 }, { "lastlog_separator", "--", 0 }, + { "lastlog_date", "%%F ", 0 }, /* ---- */ { NULL, "Windows", 0 }, diff --git a/src/fe-text/module-formats.h b/src/fe-text/module-formats.h index 4eebfc3e..3fa8c511 100644 --- a/src/fe-text/module-formats.h +++ b/src/fe-text/module-formats.h @@ -10,6 +10,7 @@ enum { TXT_LASTLOG_START, TXT_LASTLOG_END, TXT_LASTLOG_SEPARATOR, + TXT_LASTLOG_DATE, TXT_FILL_2, |