Skip to content

hideOnNoText doesn't seems to work properly : the popup will always reappear with arrow keys #94

@olivbrau

Description

@olivbrau

Description
I would like that when the popup is visible, and I type ; or space, it disappears.
So call setHideOnNoText(true) (via a sub class because the method is protected : should it be public, by the way ?)
It works well.

But I would also like that when I move the caret with Left/Right key, the behaviour is the same.
For example :

a line contains the text toto(); I want to modify the function name with 'tata'
I show the popup with Ctrl-Space but I will eventually not use it
after typing tata, i move the caret on the right (on the ;)
I would like that le popup disappear in this case
But the popup is still there

I think it is because AutoCompletePopupWindow receive 2 events

  1. right arrow -> it calls refreshPopupWindow()
    as the popup is visible and text.length==0 this method hide it
  2. caretUpdate -> it calls refreshPopupWindow() again !!
    as the popup is not visible, refreshPopupWindow() ignore the flag hideOnNoText and continue and then show the popup again ...
    To correct this, I think that in the refreshPopupWindow() method :
    return getLineOfCaret(); shoud be out of the test if (isPopupVisible())
    and executed each time (textLen == 0 && isHideOnNoText()) is true
    like this :
if (textLen == 0 && isHideOnNoText()) {
	if (isPopupVisible()) {
		hidePopupWindow();
	}
	return getLineOfCaret();
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions