GNOME Bugzilla – Bug 545160
Feature request: Type ahead search when entering the accounts to a transaction
Last modified: 2018-06-29 22:08:03 UTC
When you enter transactions (or transaction splits), you enter the first few letters of the destination account, say "Expenses:Gr". A drop-down list is shown where all the accounts are listed in the natural tree order and the first account that matches the entered expression is highlighted, say "Expenses:Groceries". The drop down list idea can be improved this way 1) The drop down list shows only the accounts that match the entered expression instead of ALL the accounts in the tree. 2) The drop down list shows matches not just for the first few letters but also throughout. That is, if I enter "Groc", then the list must show "Expenses:Groceries" as one of the matched items. Currently, you must type in "Expenses:Groc" to get the correct match. This feature request is somewhat similar to the "Smart location bar" feature in Firefox 3. I think it will improve usability to a very great deal.
See also http://gnucash.uservoice.com/suggestions/1589607
*** Bug 679803 has been marked as a duplicate of this bug. ***
Created attachment 250240 [details] [review] Proposed fix This patch adds a custom match function to the account column on the register and changes gtv_sr_acct_cb() so that the account field does substring matching (and auto-completion, when possible) instead of just prefix matching.
Comment on attachment 250240 [details] [review] Proposed fix The patch looks very interesting. Thanks for trying to implement this! Unfortunately I haven't found the time to test it, but will try in near future. Is this really enough to get a full substring matching? Indeed very interesting.
Comment on attachment 250240 [details] [review] Proposed fix Thanks for the first implementation. However, I'm not fully satisfied with this feature, because it requires the user to stop the typing right when the match is filled. In contrast to this, as a user I want to type my full account name, regardless of whether the match happens after the 2nd or 3rd character or any other. This can be achieved by placing the cursor right at the place where the match is matching, so that typing the subsequent characters of the matched account name will only overwrite the existing name.
As an example: I have an account "Expenses:Groceries", and say the name "groceries" is uniqe after the "gr" prefix. During entering a transaction, I want to be able to enter either "gro" or "grocer" or "groceries" and reach this very account in all three cases. However, with this patch I would get (the typed characters are shown upper case) "GROceriesCER" if I type "grocer" and only after this stop and look at the result.
Thank you for your patch. I hadn't seen it because the assignee and qa contact were pointing at people that are no longer actively involved in GnuCash. I have reset both contacts now. That way more people will be able to follow updates. Other than that, I agree with Christian's comments on how to improve the patch.
GnuCash bug tracking has moved to a new Bugzilla host. The new URL for this bug is https://bugs.gnucash.org/show_bug.cgi?id=545160. Please continue processing the bug there and please update any external references or bookmarks.