Also see http://stackoverflow.com/q/13138266/1076463
The use-case is having an editable auto-complete combobox where you want to trigger a long-running task when the user has finished changing the selection. You do not want to trigger the long-running task when
- the user is still typing
- the user is navigating with the keyboard arrows
- the user is navigating with the mouse
You do want to trigger the long-running task when
- the user selects an item with the mouse
- the user types an item and confirms with ENTER
- the user selects an item using keyboard arrow navigation and confirms with ENTER
I did not manage to fulfill all these requirements. Attached to this issue 3 classes which show 3 approaches, but none of them work completely. The ImprovedApproach comes closest, but still requires an ENTER after mouse selection.
The last issue usability issue is editing of an existing item to a slightly different one. This is present in all 3 of the samples attached to this issue. You override way too easily the auto-completed part, e.g. in the ImprovedApproach sample do
The actual example which was reported by one of our users was the editing of //SERVER1/Data/... to /server/data/..., so having an option to switch off case-insensitive auto-completion is not enough.