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

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