ibusCandidatePopup: Feed OSK suggestions from ibus panel candidates
We don't currently hide the ibus completion panel, and this is done from within the popup that we are meant to hide itself, so thoroughly sucks.
This commit is contained in:
@ -253,10 +253,18 @@ var CandidatePopup = new Lang.Class({
|
||||
for (let i = 0; indexLabel = lookupTable.get_label(i); ++i)
|
||||
indexes.push(indexLabel.get_text());
|
||||
|
||||
Main.keyboard.resetSuggestions();
|
||||
|
||||
let candidates = [];
|
||||
for (let i = startIndex; i < endIndex; ++i)
|
||||
for (let i = startIndex; i < endIndex; ++i) {
|
||||
candidates.push(lookupTable.get_candidate(i).get_text());
|
||||
|
||||
Main.keyboard.addSuggestion(lookupTable.get_candidate(i).get_text(), Lang.bind(this, function() {
|
||||
let index = i;
|
||||
this._panelService.candidate_clicked(index, 1, 0);
|
||||
}));
|
||||
}
|
||||
|
||||
this._candidateArea.setCandidates(indexes,
|
||||
candidates,
|
||||
cursorPos % pageSize,
|
||||
@ -277,6 +285,7 @@ var CandidatePopup = new Lang.Class({
|
||||
panelService.connect('focus-out',
|
||||
Lang.bind(this, function(ps) {
|
||||
this._boxPointer.hide(BoxPointer.PopupAnimation.NONE);
|
||||
Main.keyboard.resetSuggestions();
|
||||
}));
|
||||
},
|
||||
|
||||
@ -287,9 +296,10 @@ var CandidatePopup = new Lang.Class({
|
||||
},
|
||||
|
||||
_updateVisibility: function() {
|
||||
let isVisible = (this._preeditText.visible ||
|
||||
this._auxText.visible ||
|
||||
this._candidateArea.actor.visible);
|
||||
let isVisible = (!Main.keyboard.visible &&
|
||||
(this._preeditText.visible ||
|
||||
this._auxText.visible ||
|
||||
this._candidateArea.actor.visible));
|
||||
|
||||
if (isVisible) {
|
||||
this._boxPointer.setPosition(Main.layoutManager.dummyCursor, 0);
|
||||
|
Reference in New Issue
Block a user