[gnome-control-center/wip/feborges/avatar-chooser: 2/4] user-accounts: Introduce a UI template for UmPhotoDialog



commit dfd995841c2f109dba9eb2deeccc90e3755dbd77
Author: Felipe Borges <felipeborges gnome org>
Date:   Tue Jan 9 16:07:45 2018 +0100

    user-accounts: Introduce a UI template for UmPhotoDialog

 panels/user-accounts/data/avatar-chooser.ui      |    6 ++++++
 panels/user-accounts/um-photo-dialog.c           |    8 ++++++--
 panels/user-accounts/user-accounts.gresource.xml |    1 +
 3 files changed, 13 insertions(+), 2 deletions(-)
---
diff --git a/panels/user-accounts/data/avatar-chooser.ui b/panels/user-accounts/data/avatar-chooser.ui
new file mode 100644
index 0000000..c906d0b
--- /dev/null
+++ b/panels/user-accounts/data/avatar-chooser.ui
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<interface>
+  <!-- interface-requires gtk+ 3.8 -->
+  <template class="UmPhotoDialog" parent="GtkPopover">
+  </template>
+</interface>
diff --git a/panels/user-accounts/um-photo-dialog.c b/panels/user-accounts/um-photo-dialog.c
index 32f5af6..f42e375 100644
--- a/panels/user-accounts/um-photo-dialog.c
+++ b/panels/user-accounts/um-photo-dialog.c
@@ -569,7 +569,7 @@ um_photo_dialog_new (GtkWidget *button)
 {
         UmPhotoDialog *um;
 
-        um = g_new0 (UmPhotoDialog, 1);
+        um = g_object_new (UM_TYPE_PHOTO_DIALOG, NULL);
 
         um->thumb_factory = gnome_desktop_thumbnail_factory_new (GNOME_DESKTOP_THUMBNAIL_SIZE_NORMAL);
 
@@ -608,12 +608,16 @@ um_photo_dialog_dispose (GObject *object)
 static void
 um_photo_dialog_init (UmPhotoDialog *um)
 {
+        gtk_widget_init_template (GTK_WIDGET (um));
 }
 
 static void
 um_photo_dialog_class_init (UmPhotoDialogClass *klass)
 {
-        GObjectClass *oclass = G_OBJECT_CLASS (klass);
+        GtkWidgetClass *wclass = GTK_WIDGET_CLASS (klass);
+        GObjectClass   *oclass = G_OBJECT_CLASS (klass);
+
+        gtk_widget_class_set_template_from_resource (wclass, 
"/org/gnome/control-center/user-accounts/avatar-chooser.ui");
 
         oclass->dispose = um_photo_dialog_dispose;
 }
diff --git a/panels/user-accounts/user-accounts.gresource.xml 
b/panels/user-accounts/user-accounts.gresource.xml
index d59e642..3c7c8dc 100644
--- a/panels/user-accounts/user-accounts.gresource.xml
+++ b/panels/user-accounts/user-accounts.gresource.xml
@@ -2,6 +2,7 @@
 <gresources>
   <gresource prefix="/org/gnome/control-center/user-accounts">
     <file alias="account-dialog.ui" preprocess="xml-stripblanks">data/account-dialog.ui</file>
+    <file alias="avatar-chooser.ui" preprocess="xml-stripblanks">data/avatar-chooser.ui</file>
     <file alias="join-dialog.ui" preprocess="xml-stripblanks">data/join-dialog.ui</file>
     <file alias="account-fingerprint.ui" preprocess="xml-stripblanks">data/account-fingerprint.ui</file>
     <file alias="password-dialog.ui" preprocess="xml-stripblanks">data/password-dialog.ui</file>


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