Merge remote-tracking branch 'incertia/time'
Conflicts: src/config/preferences.c
This commit is contained in:
@@ -701,18 +701,21 @@ static struct cmd_t command_defs[] =
|
||||
NULL } } },
|
||||
|
||||
{ "/time",
|
||||
cmd_time, parse_args, 1, 2, &cons_time_setting,
|
||||
{ "/time setting|statusbar [setting]", "Time display.",
|
||||
{ "/time setting|statusbar [setting]",
|
||||
"---------------------------------",
|
||||
cmd_time, parse_args, 1, 3, &cons_time_setting,
|
||||
{ "/time main|statusbar set|off [format]", "Time display.",
|
||||
{ "/time main|statusbar set|off [format]",
|
||||
"-------------------------------------",
|
||||
"Configure time display preferences.",
|
||||
"",
|
||||
"minutes : Use minutes precision in main window.",
|
||||
"seconds : Use seconds precision in main window.",
|
||||
"off : Do not show time in main window.",
|
||||
"statusbar minutes : Show minutes precision in status bar.",
|
||||
"statusbar seconds : Show seconds precision in status bar.",
|
||||
"statusbar off : Do not show time in status bar.",
|
||||
"main set <format> : Change time format to <format> in main window.",
|
||||
"main off : Do not show time in main window.",
|
||||
"statusbar set <format> : Change time format to <format> in statusbar.",
|
||||
"statusbar off : Do not show time in status bar.",
|
||||
"",
|
||||
"Time formats are strings supported by g_date_time_format.",
|
||||
"See https://developer.gnome.org/glib/stable/glib-GDateTime.html#g-date-time-format for more details.",
|
||||
"Example: /time main set %H:%M (main time will be set to HH:MM)",
|
||||
"Example: /time statusbar set yolo (statusbar time will all be changed to a static yolo)",
|
||||
NULL } } },
|
||||
|
||||
{ "/inpblock",
|
||||
@@ -1235,7 +1238,7 @@ static Autocomplete occupants_ac;
|
||||
static Autocomplete occupants_default_ac;
|
||||
static Autocomplete occupants_show_ac;
|
||||
static Autocomplete time_ac;
|
||||
static Autocomplete time_statusbar_ac;
|
||||
static Autocomplete time_format_ac;
|
||||
static Autocomplete resource_ac;
|
||||
static Autocomplete inpblock_ac;
|
||||
static Autocomplete receipts_ac;
|
||||
@@ -1585,15 +1588,12 @@ cmd_init(void)
|
||||
autocomplete_add(occupants_show_ac, "jid");
|
||||
|
||||
time_ac = autocomplete_new();
|
||||
autocomplete_add(time_ac, "minutes");
|
||||
autocomplete_add(time_ac, "seconds");
|
||||
autocomplete_add(time_ac, "off");
|
||||
autocomplete_add(time_ac, "main");
|
||||
autocomplete_add(time_ac, "statusbar");
|
||||
|
||||
time_statusbar_ac = autocomplete_new();
|
||||
autocomplete_add(time_statusbar_ac, "minutes");
|
||||
autocomplete_add(time_statusbar_ac, "seconds");
|
||||
autocomplete_add(time_statusbar_ac, "off");
|
||||
time_format_ac = autocomplete_new();
|
||||
autocomplete_add(time_format_ac, "set");
|
||||
autocomplete_add(time_format_ac, "off");
|
||||
|
||||
resource_ac = autocomplete_new();
|
||||
autocomplete_add(resource_ac, "set");
|
||||
@@ -1677,7 +1677,7 @@ cmd_uninit(void)
|
||||
autocomplete_free(occupants_default_ac);
|
||||
autocomplete_free(occupants_show_ac);
|
||||
autocomplete_free(time_ac);
|
||||
autocomplete_free(time_statusbar_ac);
|
||||
autocomplete_free(time_format_ac);
|
||||
autocomplete_free(resource_ac);
|
||||
autocomplete_free(inpblock_ac);
|
||||
autocomplete_free(receipts_ac);
|
||||
@@ -1851,7 +1851,7 @@ cmd_reset_autocomplete(ProfWin *window)
|
||||
autocomplete_reset(occupants_default_ac);
|
||||
autocomplete_reset(occupants_show_ac);
|
||||
autocomplete_reset(time_ac);
|
||||
autocomplete_reset(time_statusbar_ac);
|
||||
autocomplete_reset(time_format_ac);
|
||||
autocomplete_reset(resource_ac);
|
||||
autocomplete_reset(inpblock_ac);
|
||||
autocomplete_reset(receipts_ac);
|
||||
@@ -2763,7 +2763,12 @@ _time_autocomplete(ProfWin *window, const char * const input)
|
||||
{
|
||||
char *found = NULL;
|
||||
|
||||
found = autocomplete_param_with_ac(input, "/time statusbar", time_statusbar_ac, TRUE);
|
||||
found = autocomplete_param_with_ac(input, "/time statusbar", time_format_ac, TRUE);
|
||||
if (found) {
|
||||
return found;
|
||||
}
|
||||
|
||||
found = autocomplete_param_with_ac(input, "/time main", time_format_ac, TRUE);
|
||||
if (found) {
|
||||
return found;
|
||||
}
|
||||
|
||||
@@ -3407,18 +3407,16 @@ gboolean
|
||||
cmd_time(ProfWin *window, gchar **args, struct cmd_help_t help)
|
||||
{
|
||||
if (g_strcmp0(args[0], "statusbar") == 0) {
|
||||
if (g_strcmp0(args[1], "minutes") == 0) {
|
||||
prefs_set_string(PREF_TIME_STATUSBAR, "minutes");
|
||||
cons_show("Status bar time precision set to minutes.");
|
||||
ui_redraw();
|
||||
if (args[1] == NULL) {
|
||||
cons_show("Current status bar time format is '%s'.", prefs_get_string(PREF_TIME_STATUSBAR));
|
||||
return TRUE;
|
||||
} else if (g_strcmp0(args[1], "seconds") == 0) {
|
||||
prefs_set_string(PREF_TIME_STATUSBAR, "seconds");
|
||||
cons_show("Status bar time precision set to seconds.");
|
||||
} else if (g_strcmp0(args[1], "set") == 0 && args[2] != NULL) {
|
||||
prefs_set_string(PREF_TIME_STATUSBAR, args[2]);
|
||||
cons_show("Status bar time format set to '%s'.", args[2]);
|
||||
ui_redraw();
|
||||
return TRUE;
|
||||
} else if (g_strcmp0(args[1], "off") == 0) {
|
||||
prefs_set_string(PREF_TIME_STATUSBAR, "off");
|
||||
prefs_set_string(PREF_TIME_STATUSBAR, "");
|
||||
cons_show("Status bar time display disabled.");
|
||||
ui_redraw();
|
||||
return TRUE;
|
||||
@@ -3426,19 +3424,17 @@ cmd_time(ProfWin *window, gchar **args, struct cmd_help_t help)
|
||||
cons_show("Usage: %s", help.usage);
|
||||
return TRUE;
|
||||
}
|
||||
} else {
|
||||
if (g_strcmp0(args[0], "minutes") == 0) {
|
||||
prefs_set_string(PREF_TIME, "minutes");
|
||||
cons_show("Time precision set to minutes.");
|
||||
} else if (g_strcmp0(args[0], "main") == 0) {
|
||||
if (args[1] == NULL) {
|
||||
cons_show("Current time format is '%s'.", prefs_get_string(PREF_TIME));
|
||||
return TRUE;
|
||||
} else if (g_strcmp0(args[1], "set") == 0 && args[2] != NULL) {
|
||||
prefs_set_string(PREF_TIME, args[2]);
|
||||
cons_show("Time format set to '%s'.", args[2]);
|
||||
wins_resize_all();
|
||||
return TRUE;
|
||||
} else if (g_strcmp0(args[0], "seconds") == 0) {
|
||||
prefs_set_string(PREF_TIME, "seconds");
|
||||
cons_show("Time precision set to seconds.");
|
||||
wins_resize_all();
|
||||
return TRUE;
|
||||
} else if (g_strcmp0(args[0], "off") == 0) {
|
||||
prefs_set_string(PREF_TIME, "off");
|
||||
} else if (g_strcmp0(args[1], "off") == 0) {
|
||||
prefs_set_string(PREF_TIME, "");
|
||||
cons_show("Time display disabled.");
|
||||
wins_resize_all();
|
||||
return TRUE;
|
||||
@@ -3446,6 +3442,9 @@ cmd_time(ProfWin *window, gchar **args, struct cmd_help_t help)
|
||||
cons_show("Usage: %s", help.usage);
|
||||
return TRUE;
|
||||
}
|
||||
} else {
|
||||
cons_show("Usage: %s", help.usage);
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user