Added /roster size and /occupants size settings

This commit is contained in:
James Booth
2014-11-15 23:47:27 +00:00
parent 3a778cc974
commit 1479a5e134
6 changed files with 93 additions and 9 deletions

View File

@@ -169,9 +169,9 @@ static struct cmd_t command_defs[] =
{ "/roster",
cmd_roster, parse_args_with_freetext, 0, 3, NULL,
{ "/roster [show|hide|by|add|remove|nick|clearnick] [offline|resource] [group|presence|none] [jid] [nickname]", "Manage your roster.",
{ "/roster [show|hide|by|add|remove|nick|clearnick] [offline|resource] [group|presence|none] [jid] [nickname]",
"----------------------------------------------------------------------------------------------------------",
{ "/roster [show|hide|by|size|add|remove|nick|clearnick] [offline|resource] [percent] [group|presence|none] [jid] [nickname]", "Manage your roster.",
{ "/roster [show|hide|by|size|add|remove|nick|clearnick] [offline|resource] [percent] [group|presence|none] [jid] [nickname]",
"-------------------------------------------------------------------------------------------------------------------------",
"View, add to, and remove from your roster.",
"Passing no arguments lists all contacts in your roster.",
"show - Show the roster panel in the console window.",
@@ -183,6 +183,7 @@ static struct cmd_t command_defs[] =
"by group - Group contacts in the roster panel by roster group.",
"by presence - Group contacts in the roster panel by presence.",
"by none - No grouping in the roster panel.",
"size - Percentage of the screen taken up by the roster (1-99).",
"add - Add a new item, jid is required, nickname is optional.",
"remove - Removes a contact, jid is required.",
"nick - Changes a contacts nickname, both jid and nickname are required,",
@@ -383,12 +384,13 @@ static struct cmd_t command_defs[] =
{ "/occupants",
cmd_occupants, parse_args, 1, 2, &cons_occupants_setting,
{ "/occupants show|hide|default [show|hide]", "Show or hide room occupants.",
{ "/occupants show|hide|default [show|hide]",
"----------------------------------------",
{ "/occupants show|hide|default|size [show|hide] [percent]", "Show or hide room occupants.",
{ "/occupants show|hide|default|size [show|hide] [percent]",
"-------------------------------------------------------",
"show - Show the occupants panel in chat rooms.",
"hide - Hide the occupants panel in chat rooms.",
"default - Whether occupants are shown by default in new rooms, 'show' or 'hide'",
"size - Percentage of the screen taken by the occupants list in rooms (1-99).",
NULL } } },
{ "/form",
@@ -1244,6 +1246,7 @@ cmd_init(void)
autocomplete_add(roster_ac, "show");
autocomplete_add(roster_ac, "hide");
autocomplete_add(roster_ac, "by");
autocomplete_add(roster_ac, "size");
roster_option_ac = autocomplete_new();
autocomplete_add(roster_option_ac, "offline");
@@ -1388,6 +1391,7 @@ cmd_init(void)
autocomplete_add(occupants_ac, "show");
autocomplete_add(occupants_ac, "hide");
autocomplete_add(occupants_ac, "default");
autocomplete_add(occupants_ac, "size");
occupants_default_ac = autocomplete_new();
autocomplete_add(occupants_default_ac, "show");

View File

@@ -1330,6 +1330,23 @@ cmd_roster(gchar **args, struct cmd_help_t help)
cons_show_roster(list);
return TRUE;
// set roster size
} else if (g_strcmp0(args[0], "size") == 0) {
int intval = 0;
if (!args[1]) {
cons_show("Usage: %s", help.usage);
return TRUE;
} else if (_strtoi(args[1], &intval, 1, 99) == 0) {
prefs_set_roster_size(intval);
cons_show("Roster screen size set to: %d%%", intval);
if (prefs_get_boolean(PREF_ROSTER)) {
wins_resize_all();
}
return TRUE;
} else {
return TRUE;
}
// show/hide roster
} else if (g_strcmp0(args[0], "show") == 0) {
if (args[1] == NULL) {
@@ -2491,6 +2508,19 @@ cmd_occupants(gchar **args, struct cmd_help_t help)
return TRUE;
}
if (g_strcmp0(args[0], "size") == 0) {
int intval = 0;
if (!args[1]) {
cons_show("Usage: %s", help.usage);
return TRUE;
} else if (_strtoi(args[1], &intval, 1, 99) == 0) {
prefs_set_occupants_size(intval);
cons_show("Occupants screen size set to: %d%%", intval);
wins_resize_all();
return TRUE;
}
}
if (g_strcmp0(args[0], "default") == 0) {
if (g_strcmp0(args[1], "show") == 0) {
cons_show("Occupant list enabled.");