[gnome-shell/wip/carlosg/osk-cldr: 31/43] ibusCandidatePopup: Feed OSK suggestions from ibus panel candidates
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell/wip/carlosg/osk-cldr: 31/43] ibusCandidatePopup: Feed OSK suggestions from ibus panel candidates
- Date: Mon, 5 Feb 2018 13:59:30 +0000 (UTC)
commit 29011dd60d119de22f52a83a1a25a8834a8fc220
Author: Carlos Garnacho <carlosg gnome org>
Date: Wed Dec 6 14:44:16 2017 +0100
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.
js/ui/ibusCandidatePopup.js | 18 ++++++++++++++----
1 file changed, 14 insertions(+), 4 deletions(-)
---
diff --git a/js/ui/ibusCandidatePopup.js b/js/ui/ibusCandidatePopup.js
index 1571224e6..43626af87 100644
--- a/js/ui/ibusCandidatePopup.js
+++ b/js/ui/ibusCandidatePopup.js
@@ -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);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]