[krb5-auth-dialog] prefs: Switch PKINIT page to AdwActionRow



commit c3861e3a0ac1f66d50b8ebb1c40a3e8a0fbb82cd
Author: Guido Günther <agx sigxcpu org>
Date:   Thu Oct 20 17:00:15 2022 +0200

    prefs: Switch PKINIT page to AdwActionRow

 src/ka-preferences.c               | 15 +++++-----
 src/resources/ui/ka-preferences.ui | 58 ++++++++++++++++++--------------------
 2 files changed, 36 insertions(+), 37 deletions(-)
---
diff --git a/src/ka-preferences.c b/src/ka-preferences.c
index da61a0a..7a1ca87 100644
--- a/src/ka-preferences.c
+++ b/src/ka-preferences.c
@@ -263,12 +263,13 @@ ka_preferences_toggle_pkuserid_entry (KaPreferences *self, gboolean state)
 
 
 static void
-ka_preferences_smartcard_toggled (GtkWidget *toggle,
-                                  gpointer   userdata)
+on_smartcard_toggled_active_changd (GtkWidget  *toggle,
+                                    GParamSpec *pspec,
+                                    gpointer    userdata)
 {
-    gboolean smartcard = gtk_check_button_get_active (GTK_CHECK_BUTTON (toggle));
+    gboolean smartcard = gtk_switch_get_active (GTK_SWITCH (toggle));
     static gchar *old_path = NULL;
-    KaPreferences *self = KA_PREFERENCES(userdata);
+    KaPreferences *self = KA_PREFERENCES (userdata);
 
     if (smartcard) {
         const char *path;
@@ -301,13 +302,13 @@ ka_preferences_setup_smartcard_toggle (KaPreferences *self)
     if (!pkuserid)
         g_warning ("Getting pk userid failed");
 
-    g_signal_connect (self->smartcard_toggle, "toggled",
-                      G_CALLBACK (ka_preferences_smartcard_toggled), self);
+    g_signal_connect (self->smartcard_toggle, "notify::active",
+                      G_CALLBACK (on_smartcard_toggled_active_changd), self);
 
     if (g_strcmp0 (pkuserid, PKINIT_SMARTCARD) == 0)
         active = TRUE;
 
-    gtk_check_button_set_active (GTK_CHECK_BUTTON (self->smartcard_toggle), active);
+    gtk_switch_set_active (GTK_SWITCH (self->smartcard_toggle), active);
 }
 
 
diff --git a/src/resources/ui/ka-preferences.ui b/src/resources/ui/ka-preferences.ui
index ae7bc97..b38e1b7 100644
--- a/src/resources/ui/ka-preferences.ui
+++ b/src/resources/ui/ka-preferences.ui
@@ -79,37 +79,33 @@
                 <child>
                   <object class="AdwPreferencesGroup">
                     <property name="title" translatable="yes">Userid</property>
+                    <property name="description" translatable="yes">Principal certificate and private 
key</property>
                     <child>
-                      <object class="GtkBox">
-                        <property name="orientation">vertical</property>
-                        <property name="spacing">6</property>
+                      <object class="AdwActionRow">
+                        <property name="title" translatable="yes">Use Smartcard</property>
                         <child>
-                          <object class="GtkBox">
-                            <property name="orientation">vertical</property>
-                            <child>
-                              <object class="GtkCheckButton" id="smartcard_toggle">
-                                <property name="label" translatable="yes">Use Smartcard</property>
-                                <property name="tooltip-text" translatable="yes">If checked, use a security 
token (Smartcard) to authenticate.</property>
-                                <property name="halign">start</property>
-                              </object>
-                            </child>
+                          <object class="GtkSwitch" id="smartcard_toggle">
+                            <property name="tooltip-text" translatable="yes">If checked, use a security 
token (Smartcard) to authenticate.</property>
+                            <property name="valign">center</property>
+                          </object>
+                        </child>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="AdwActionRow">
+                        <property name="title" translatable="yes">Certificate and private key file</property>
+                        <property name="sensitive" bind-source="smartcard_toggle" bind-property="active" 
bind-flags="sync-create|invert-boolean"/>
+                        <child>
+                          <object class="GtkEntry" id="pkuserid_entry">
+                            <property name="valign">center</property>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkButton" id="pkuserid_button">
+                            <property name="valign">center</property>
                             <child>
-                              <object class="GtkBox">
-                                <child>
-                                  <object class="GtkEntry" id="pkuserid_entry">
-                                    <property name="tooltip-text" translatable="yes">Certificate and private 
key used for authentication</property>
-                                    <property name="activates_default">True</property>
-                                  </object>
-                                </child>
-                                <child>
-                                  <object class="GtkButton" id="pkuserid_button">
-                                    <child>
-                                      <object class="GtkImage">
-                                        <property name="icon-name">folder-open-symbolic</property>
-                                      </object>
-                                    </child>
-                                  </object>
-                                </child>
+                              <object class="GtkImage">
+                                <property name="icon-name">folder-open-symbolic</property>
                               </object>
                             </child>
                           </object>
@@ -122,15 +118,17 @@
                   <object class="AdwPreferencesGroup">
                     <property name="title" translatable="yes">X509 trust anchors</property>
                     <child>
-                      <object class="GtkBox">
+                      <object class="AdwActionRow">
+                        <property name="title" translatable="yes">KDC trust anchor</property>
                         <child>
                           <object class="GtkEntry" id="pkanchors_entry">
+                            <property name="valign">center</property>
                             <property name="tooltip-text" translatable="yes">Certificate used to verify 
digital signatures.</property>
-                            <property name="activates_default">True</property>
                           </object>
                         </child>
                         <child>
                           <object class="GtkButton" id="pkanchors_button">
+                            <property name="valign">center</property>
                             <child>
                               <object class="GtkImage">
                                 <property name="icon-name">folder-open-symbolic</property>


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