[gnome-shell] dialogs: Hide caps lock warning if password entry is hidden



commit 45c5f21f6c3060101a58247290cea5f81c2b9a88
Author: Jonas Dreßler <verdre v0yd nl>
Date:   Thu Jan 30 11:27:25 2020 +0100

    dialogs: Hide caps lock warning if password entry is hidden
    
    If all password entries in dialogs are hidden, there is either an entry
    that has visible characters or no entry at all. That means we don't have
    to show the caps lock warning at all, so hide it.
    
    https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/942

 js/ui/components/keyring.js     | 6 ++++++
 js/ui/components/polkitAgent.js | 3 +++
 2 files changed, 9 insertions(+)
---
diff --git a/js/ui/components/keyring.js b/js/ui/components/keyring.js
index 46c61ace04..c0191fbba9 100644
--- a/js/ui/components/keyring.js
+++ b/js/ui/components/keyring.js
@@ -59,6 +59,12 @@ class KeyringDialog extends ModalDialog.ModalDialog {
         let warningBox = new St.BoxLayout({ vertical: true });
 
         let capsLockWarning = new ShellEntry.CapsLockWarning();
+        let syncCapsLockWarningVisibility = () => {
+            capsLockWarning.visible =
+                this.prompt.password_visible || this.prompt.confirm_visible;
+        };
+        this.prompt.connect('notify::password-visible', syncCapsLockWarningVisibility);
+        this.prompt.connect('notify::confirm-visible', syncCapsLockWarningVisibility);
         warningBox.add_child(capsLockWarning);
 
         let warning = new St.Label({ style_class: 'prompt-dialog-error-label' });
diff --git a/js/ui/components/polkitAgent.js b/js/ui/components/polkitAgent.js
index 2e154ff99a..4228cac4b8 100644
--- a/js/ui/components/polkitAgent.js
+++ b/js/ui/components/polkitAgent.js
@@ -103,6 +103,9 @@ var AuthenticationDialog = GObject.registerClass({
         let warningBox = new St.BoxLayout({ vertical: true });
 
         let capsLockWarning = new ShellEntry.CapsLockWarning();
+        this._passwordEntry.bind_property('visible',
+            capsLockWarning, 'visible',
+            GObject.BindingFlags.SYNC_CREATE);
         warningBox.add_child(capsLockWarning);
 
         this._errorMessageLabel = new St.Label({


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]