From b166de08dc6e3023bb451f7df81b80e383f072bc Mon Sep 17 00:00:00 2001 From: Umang Jain Date: Thu, 12 Dec 2019 14:38:42 +0530 Subject: [PATCH] shellEntry: Handle PasswordEntries automatically shellEntry should not need to query the clutter-text directly in order to know if the entry is for passport-input purpose. shellEntry can easily determine a password-entry by querying if it is an instance of StPasswordEntry and use it's API whereever relevant. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/619 --- js/ui/shellEntry.js | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/js/ui/shellEntry.js b/js/ui/shellEntry.js index f7961af39..79a38bf56 100644 --- a/js/ui/shellEntry.js +++ b/js/ui/shellEntry.js @@ -27,7 +27,8 @@ var EntryMenu = class extends PopupMenu.PopupMenu { this.addMenuItem(item); this._pasteItem = item; - this._passwordItem = null; + if (entry instanceof St.PasswordEntry) + this._makePasswordItem(); Main.uiGroup.add_actor(this.actor); this.actor.hide(); @@ -86,8 +87,7 @@ var EntryMenu = class extends PopupMenu.PopupMenu { } _updatePasswordItem() { - let textHidden = this._entry.clutter_text.password_char; - if (textHidden) + if (!this._entry.password_visible) this._passwordItem.label.set_text(_("Show Text")); else this._passwordItem.label.set_text(_("Hide Text")); @@ -110,8 +110,7 @@ var EntryMenu = class extends PopupMenu.PopupMenu { } _onPasswordActivated() { - let visible = !!this._entry.clutter_text.password_char; - this._entry.clutter_text.set_password_char(visible ? '' : '\u25cf'); + this._entry.password_visible = !this._entry.password_visible; } };