mirror of
https://git.jabber.space/devs/cproof.git
synced 2026-08-03 07:36:21 +00:00
More tidy of bookmark autocomplete
This commit is contained in:
@@ -1665,21 +1665,21 @@ _bookmark_autocomplete(char *input, int *size)
|
|||||||
|
|
||||||
gboolean result;
|
gboolean result;
|
||||||
gchar **args = parse_args(input, 3, 8, &result);
|
gchar **args = parse_args(input, 3, 8, &result);
|
||||||
|
gboolean handle_options = result && (g_strv_length(args) > 2);
|
||||||
|
|
||||||
if (result && ((strcmp(args[0], "add") == 0) || (strcmp(args[0], "update") == 0)) ) {
|
if (handle_options && ((strcmp(args[0], "add") == 0) || (strcmp(args[0], "update") == 0)) ) {
|
||||||
GString *beginning = g_string_new("/bookmark ");
|
GString *beginning = g_string_new("/bookmark");
|
||||||
gboolean autojoin = FALSE;
|
gboolean autojoin = FALSE;
|
||||||
int num_args = g_strv_length(args);
|
int num_args = g_strv_length(args);
|
||||||
|
|
||||||
if (num_args > 2) {
|
g_string_append(beginning, " ");
|
||||||
g_string_append(beginning, args[0]);
|
g_string_append(beginning, args[0]);
|
||||||
|
g_string_append(beginning, " ");
|
||||||
|
g_string_append(beginning, args[1]);
|
||||||
|
if (num_args == 4 && g_strcmp0(args[2], "autojoin") == 0) {
|
||||||
g_string_append(beginning, " ");
|
g_string_append(beginning, " ");
|
||||||
g_string_append(beginning, args[1]);
|
g_string_append(beginning, args[2]);
|
||||||
if (num_args == 4 && g_strcmp0(args[2], "autojoin") == 0) {
|
autojoin = TRUE;
|
||||||
g_string_append(beginning, " ");
|
|
||||||
g_string_append(beginning, args[2]);
|
|
||||||
autojoin = TRUE;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (num_args > 4) {
|
if (num_args > 4) {
|
||||||
@@ -1706,16 +1706,14 @@ _bookmark_autocomplete(char *input, int *size)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (num_args > 2) {
|
if (autojoin) {
|
||||||
if (autojoin) {
|
found = autocomplete_param_with_func(input, size, beginning->str, prefs_autocomplete_boolean_choice);
|
||||||
found = autocomplete_param_with_func(input, size, beginning->str, prefs_autocomplete_boolean_choice);
|
} else {
|
||||||
} else {
|
found = autocomplete_param_with_ac(input, size, beginning->str, bookmark_property_ac);
|
||||||
found = autocomplete_param_with_ac(input, size, beginning->str, bookmark_property_ac);
|
}
|
||||||
}
|
g_string_free(beginning, TRUE);
|
||||||
g_string_free(beginning, TRUE);
|
if (found != NULL) {
|
||||||
if (found != NULL) {
|
return found;
|
||||||
return found;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user