More tidy of bookmark autocomplete

This commit is contained in:
James Booth
2014-05-14 21:01:54 +01:00
parent bd55e7a978
commit 75898a777a

View File

@@ -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;
}
} }
} }