[gnome-software/wip/rancell/permissions] Put explicit close button on permissions dialog (can't work out how to make standard close show...



commit 1add21c26c8a0d305936297af4350453ee848236
Author: Robert Ancell <robert ancell canonical com>
Date:   Tue Aug 15 14:22:31 2017 +1200

    Put explicit close button on permissions dialog (can't work out how to make standard close show...

 src/gs-permission-dialog.c  |   11 +++++++++++
 src/gs-permission-dialog.ui |   11 +++++++++++
 2 files changed, 22 insertions(+), 0 deletions(-)
---
diff --git a/src/gs-permission-dialog.c b/src/gs-permission-dialog.c
index d8609cc..9bb213d 100644
--- a/src/gs-permission-dialog.c
+++ b/src/gs-permission-dialog.c
@@ -29,14 +29,24 @@ struct _GsPermissionDialog
 
        GsApp           *app;
        GtkWidget       *permission_grid;
+       GtkWidget       *close_button;
 };
 
 G_DEFINE_TYPE (GsPermissionDialog, gs_permission_dialog, GTK_TYPE_DIALOG)
 
 static void
+close_button_clicked (GtkWidget *widget, GsPermissionDialog *dialog)
+{
+       gtk_widget_destroy (GTK_WIDGET (dialog));
+}
+
+static void
 gs_permission_dialog_init (GsPermissionDialog *dialog)
 {
        gtk_widget_init_template (GTK_WIDGET (dialog));
+
+       g_signal_connect (dialog->close_button, "clicked",
+                         G_CALLBACK (close_button_clicked), dialog);
 }
 
 static void
@@ -60,6 +70,7 @@ gs_permission_dialog_class_init (GsPermissionDialogClass *klass)
        gtk_widget_class_set_template_from_resource (widget_class, 
"/org/gnome/Software/gs-permission-dialog.ui");
 
        gtk_widget_class_bind_template_child (widget_class, GsPermissionDialog, permission_grid);
+       gtk_widget_class_bind_template_child (widget_class, GsPermissionDialog, close_button);
 }
 
 static void
diff --git a/src/gs-permission-dialog.ui b/src/gs-permission-dialog.ui
index 57a3f87..fcf113f 100644
--- a/src/gs-permission-dialog.ui
+++ b/src/gs-permission-dialog.ui
@@ -77,6 +77,17 @@
         <property name="can_focus">False</property>
         <property name="title">Permissions</property>
         <property name="show_close_button">True</property>
+        <child>
+          <object class="GtkButton" id="close_button">
+            <property name="label" translatable="yes">Close</property>
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="receives_default">True</property>
+            <style>
+              <class name="suggested-action"/>
+            </style>
+          </object>
+        </child>
       </object>
     </child>
   </template>


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