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
This commit is contained in:
parent
281c87d11b
commit
b166de08dc
@ -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;
|
||||
}
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user