Blame SOURCES/0002-shellEntry-Give-password-menu-item-text-when-it-s-cr.patch

477568
From de7df6c7248c39d7cce1c70485df72a398da92a3 Mon Sep 17 00:00:00 2001
477568
From: Ray Strode <rstrode@redhat.com>
477568
Date: Wed, 21 Aug 2019 15:48:33 -0400
477568
Subject: [PATCH 2/4] shellEntry: Give password menu item text when it's
477568
 created
477568
477568
At the moment, the "Show Text" menu item is only given its text
477568
at the time the menu is opened.  This is because the text might
477568
be "Hide Text" or "Show Text" depending on state, so the text
477568
is set up lazily.
477568
477568
That behavior means the menu item can't get added after the
477568
menu is already shown, which is something we'ree going to need
477568
in the future to support lockdown of the "Show Text" item.
477568
477568
This commit ensures the menu item is given text when it's first
477568
created, in addition to when the menu is opened.
477568
477568
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/687
477568
---
477568
 js/ui/shellEntry.js | 1 +
477568
 1 file changed, 1 insertion(+)
477568
477568
diff --git a/js/ui/shellEntry.js b/js/ui/shellEntry.js
477568
index cac4ec9c2..603a9c64a 100644
477568
--- a/js/ui/shellEntry.js
477568
+++ b/js/ui/shellEntry.js
477568
@@ -11,60 +11,61 @@ const Tweener = imports.ui.tweener;
477568
 var EntryMenu = class extends PopupMenu.PopupMenu {
477568
     constructor(entry) {
477568
         super(entry, 0, St.Side.TOP);
477568
 
477568
         this._entry = entry;
477568
         this._clipboard = St.Clipboard.get_default();
477568
 
477568
         // Populate menu
477568
         let item;
477568
         item = new PopupMenu.PopupMenuItem(_("Copy"));
477568
         item.connect('activate', this._onCopyActivated.bind(this));
477568
         this.addMenuItem(item);
477568
         this._copyItem = item;
477568
 
477568
         item = new PopupMenu.PopupMenuItem(_("Paste"));
477568
         item.connect('activate', this._onPasteActivated.bind(this));
477568
         this.addMenuItem(item);
477568
         this._pasteItem = item;
477568
 
477568
         this._passwordItem = null;
477568
 
477568
         Main.uiGroup.add_actor(this.actor);
477568
         this.actor.hide();
477568
     }
477568
 
477568
     _makePasswordItem() {
477568
         let item = new PopupMenu.PopupMenuItem('');
477568
         item.connect('activate', this._onPasswordActivated.bind(this));
477568
         this.addMenuItem(item);
477568
         this._passwordItem = item;
477568
+        this._updatePasswordItem();
477568
     }
477568
 
477568
     get isPassword() {
477568
         return this._entry.input_purpose == Clutter.InputContentPurpose.PASSWORD;
477568
     }
477568
 
477568
     set isPassword(v) {
477568
         if (v == this.isPassword)
477568
             return;
477568
 
477568
         if (v) {
477568
             this._makePasswordItem();
477568
             this._entry.input_purpose = Clutter.InputContentPurpose.PASSWORD;
477568
         } else {
477568
             this._passwordItem.destroy();
477568
             this._passwordItem = null;
477568
             this._entry.input_purpose = Clutter.InputContentPurpose.NORMAL;
477568
         }
477568
     }
477568
 
477568
     open(animate) {
477568
         this._updatePasteItem();
477568
         this._updateCopyItem();
477568
         if (this._passwordItem)
477568
             this._updatePasswordItem();
477568
 
477568
         super.open(animate);
477568
         this._entry.add_style_pseudo_class('focus');
477568
 
477568
         let direction = St.DirectionType.TAB_FORWARD;
477568
-- 
477568
2.27.0
477568