[connections/wip/let-users-peek-password] auth-notification: Show option to peek on password




commit c368dbd3c047fb4af3739211d7343b8d8c0549ff
Author: Felipe Borges <felipeborges gnome org>
Date:   Thu Jul 29 16:51:04 2021 +0200

    auth-notification: Show option to peek on password
    
    This will be even more useful when we will be saving user passwords
    in the keyring.

 src/connections.gresource.xml                |  3 +++
 src/notifications.vala                       |  9 +++++++++
 src/ui/auth-notification.ui                  |  3 +++
 src/ui/eye-not-looking-symbolic.svg          |  4 ++++
 src/ui/eye-open-negative-filled-symbolic.svg | 27 +++++++++++++++++++++++++++
 5 files changed, 46 insertions(+)
---
diff --git a/src/connections.gresource.xml b/src/connections.gresource.xml
index 52eddd5..17b70a2 100644
--- a/src/connections.gresource.xml
+++ b/src/connections.gresource.xml
@@ -14,6 +14,9 @@
     <file>ui/topbar.ui</file>
     <file>ui/window.ui</file>
 
+    <file>ui/eye-not-looking-symbolic.svg</file>
+    <file>ui/eye-open-negative-filled-symbolic.svg</file>
+
     <!-- Onboarding dialog -->
     <file>ui/onboarding-dialog.ui</file>
     <file>ui/onboarding-dialog-page.ui</file>
diff --git a/src/notifications.vala b/src/notifications.vala
index 84d250e..6937993 100644
--- a/src/notifications.vala
+++ b/src/notifications.vala
@@ -223,6 +223,15 @@ namespace Connections {
             dismiss ();
         }
 
+        [GtkCallback]
+        private void on_secondary_icon_clicked () {
+            password_entry.visibility = !password_entry.visibility;
+
+            password_entry.secondary_icon_name = password_entry.visibility ?
+                                                 "eye-open-negative-filled-symbolic" :
+                                                 "eye-not-looking-symbolic";
+        }
+
         public void dismiss () {
             set_reveal_child (false);
             dismissed ();
diff --git a/src/ui/auth-notification.ui b/src/ui/auth-notification.ui
index 4a10443..8a3dfb4 100644
--- a/src/ui/auth-notification.ui
+++ b/src/ui/auth-notification.ui
@@ -84,8 +84,11 @@
           <object class="GtkEntry" id="password_entry">
             <property name="visible">True</property>
             <property name="visibility">False</property>
+            <property name="secondary-icon-activatable">True</property>
+            <property name="secondary-icon-name">eye-not-looking-symbolic</property>
             <signal name="map" handler="on_password_entry_map"/>
             <signal name="activate" handler="on_password_entry_activated"/>
+            <signal name="icon-release" handler="on_secondary_icon_clicked"/>
           </object>
 
           <packing>
diff --git a/src/ui/eye-not-looking-symbolic.svg b/src/ui/eye-not-looking-symbolic.svg
new file mode 100644
index 0000000..a168c87
--- /dev/null
+++ b/src/ui/eye-not-looking-symbolic.svg
@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg"; width="16" height="16">
+    <path d="M13.98 1.99a1 1 0 0 0-.687.303l-.984.984A8 8 0 0 0 8 2 8 8 0 0 0 .262 8.01a8 8 0 0 0 2.943 
4.37l-.912.913a1 1 0 1 0 1.414 1.414l11-11a1 1 0 0 0-.727-1.717zM8 4a4 4 0 0 1 2.611.974l-1.42 1.42A2 2 0 0 0 
8 6a2 2 0 0 0-2 2 2 2 0 0 0 .396 1.19l-1.42 1.42A4 4 0 0 1 4 8a4 4 0 0 1 4-4zm7.03 2.209l-3.344 3.343a4 4 0 0 
1-2.127 2.127l-2.28 2.28a8 8 0 0 0 .721.04 8 8 0 0 0 7.738-6.01 8 8 0 0 0-.709-1.78zm-7.53.79a.5.5 0 0 1 
.5.5.5.5 0 0 1-.5.5.5.5 0 0 1-.5-.5.5.5 0 0 1 .5-.5z" fill="#2e3436"/>
+</svg>
+
diff --git a/src/ui/eye-open-negative-filled-symbolic.svg b/src/ui/eye-open-negative-filled-symbolic.svg
new file mode 100644
index 0000000..1e5351c
--- /dev/null
+++ b/src/ui/eye-open-negative-filled-symbolic.svg
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"; xmlns:dc="http://purl.org/dc/elements/1.1/"; 
xmlns:cc="http://creativecommons.org/ns#"; xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"; 
xmlns:svg="http://www.w3.org/2000/svg"; xmlns="http://www.w3.org/2000/svg"; width="16" viewBox="0 0 16 16" 
version="1.1" id="svg7384" height="16">
+  <metadata id="metadata90">
+    <rdf:RDF>
+      <cc:Work rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+        <dc:title>Gnome Symbolic Icon Theme</dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <title id="title9167">Gnome Symbolic Icon Theme</title>
+  <defs id="defs7386">
+    <linearGradient osb:paint="solid" id="linearGradient7212">
+      <stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop7214"/>
+    </linearGradient>
+  </defs>
+  <g transform="translate(-341.0002,-13.000323)" style="display:inline" id="layer9"/>
+  <g transform="translate(-100,-380.00032)" id="layer1"/>
+  <g transform="translate(-100,-380.00032)" style="display:inline" id="layer10">
+    <path d="m 108,382 a 8,8 0 0 0 -7.73828,6.00977 A 8,8 0 0 0 108,394 8,8 0 0 0 115.73828,387.99023 8,8 0 
0 0 108,382 Z m 0,2 a 4,4 0 0 1 4,4 4,4 0 0 1 -4,4 4,4 0 0 1 -4,-4 4,4 0 0 1 4,-4 z" id="path2314" 
style="opacity:1;vector-effect:none;fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"/>
+    <path id="path2318" d="m 110,388.00003 a 2,2 0 0 1 -2,2 2,2 0 0 1 -2,-2 2,2 0 0 1 2,-2 2,2 0 0 1 2,2 z" 
style="vector-effect:none;fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/>
+  </g>
+  <g transform="translate(-100,-380.00032)" id="g6387"/>
+  <g transform="translate(-100,-380.00032)" id="layer11"/>
+</svg>
+


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