Branch: refs/heads/master Author: Nick Treleaven nick.treleaven@btinternet.com Committer: Nick Treleaven nick.treleaven@btinternet.com Date: Thu, 12 Apr 2012 16:51:16 Commit: 9fad7aaa55bbe4eeef6e4fd89ea6767c0325d846 https://github.com/geany/geany/commit/9fad7aaa55bbe4eeef6e4fd89ea6767c0325d8...
Log Message: ----------- Hide autocompletion when the only entry has been typed
Fixes #3516212.
Modified Paths: -------------- src/editor.c
Modified: src/editor.c 17 files changed, 12 insertions(+), 5 deletions(-) =================================================================== @@ -594,11 +594,18 @@ static void check_line_breaking(GeanyEditor *editor, gint pos, gchar c) }
-static void show_autocomplete(ScintillaObject *sci, gsize rootlen, const gchar *words) +static void show_autocomplete(ScintillaObject *sci, gsize rootlen, GString *words) { + /* hide autocompletion if only option is already typed */ + if (rootlen >= words->len || + (words->str[rootlen] == '?' && rootlen >= words->len - 2)) + { + sci_send_command(sci, SCI_AUTOCCANCEL); + return; + } /* store whether a calltip is showing, so we can reshow it after autocompletion */ calltip.set = (gboolean) SSM(sci, SCI_CALLTIPACTIVE, 0, 0); - SSM(sci, SCI_AUTOCSHOW, rootlen, (sptr_t) words); + SSM(sci, SCI_AUTOCSHOW, rootlen, (sptr_t) words->str); }
@@ -633,7 +640,7 @@ static void show_tags_list(GeanyEditor *editor, const GPtrArray *tags, gsize roo else g_string_append(words, "?1"); } - show_autocomplete(sci, rootlen, words->str); + show_autocomplete(sci, rootlen, words); g_string_free(words, TRUE); } } @@ -1994,7 +2001,7 @@ gboolean editor_show_calltip(GeanyEditor *editor, gint pos) } } if (found) - show_autocomplete(sci, rootlen, words->str); + show_autocomplete(sci, rootlen, words);
g_string_free(words, TRUE); return found; @@ -2128,7 +2135,7 @@ static gboolean autocomplete_doc_word(GeanyEditor *editor, gchar *root, gsize ro
g_slist_free(words);
- show_autocomplete(sci, rootlen, str->str); + show_autocomplete(sci, rootlen, str); g_string_free(str, TRUE); return TRUE; }
@@ Diff output truncated at 100000 characters. @@
-------------- This E-Mail was brought to you by github_commit_mail.py (Source: TBD).