[gnome-photos/wip/abono/gui-refactoring: 1/8] Dropdown: Port to template
- From: Alessandro Bono <abono src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-photos/wip/abono/gui-refactoring: 1/8] Dropdown: Port to template
- Date: Fri, 17 Feb 2017 01:13:14 +0000 (UTC)
commit 3de43f99a7ce7c16fb4b0f6da376535a10d973ca
Author: Alessandro Bono <abono gnome org>
Date: Thu Feb 16 22:31:12 2017 +0100
Dropdown: Port to template
src/photos-dropdown.c | 16 +++++++---------
src/photos-dropdown.ui | 16 ++++++++++++++++
src/photos.gresource.xml | 1 +
3 files changed, 24 insertions(+), 9 deletions(-)
---
diff --git a/src/photos-dropdown.c b/src/photos-dropdown.c
index 386a6f4..a64fead 100644
--- a/src/photos-dropdown.c
+++ b/src/photos-dropdown.c
@@ -99,7 +99,6 @@ static void
photos_dropdown_init (PhotosDropdown *self)
{
GApplication *app;
- GtkStyleContext *context;
PhotosSearchContextState *state;
app = g_application_get_default ();
@@ -109,18 +108,12 @@ photos_dropdown_init (PhotosDropdown *self)
self->srch_typ_mngr = g_object_ref (state->srch_typ_mngr);
self->src_mngr = g_object_ref (state->src_mngr);
- self->grid = gtk_grid_new ();
- gtk_orientable_set_orientation (GTK_ORIENTABLE (self->grid), GTK_ORIENTATION_HORIZONTAL);
- gtk_grid_set_row_homogeneous (GTK_GRID (self->grid), TRUE);
- gtk_container_add (GTK_CONTAINER (self), self->grid);
+ gtk_widget_init_template (GTK_WIDGET (self));
photos_dropdown_add_manager (self, self->src_mngr);
photos_dropdown_add_manager (self, self->srch_typ_mngr);
photos_dropdown_add_manager (self, self->srch_mtch_mngr);
- context = gtk_widget_get_style_context (GTK_WIDGET (self));
- gtk_style_context_add_class (context, "photos-dropdown");
- gtk_widget_hide (GTK_WIDGET(self));
gtk_widget_show_all (GTK_WIDGET (self->grid));
}
@@ -129,13 +122,18 @@ static void
photos_dropdown_class_init (PhotosDropdownClass *class)
{
GObjectClass *object_class = G_OBJECT_CLASS (class);
+ GtkWidgetClass *widget_class;
object_class->dispose = photos_dropdown_dispose;
+
+ widget_class = GTK_WIDGET_CLASS (class);
+ gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/Photos/dropdown.ui");
+ gtk_widget_class_bind_template_child (widget_class, PhotosDropdown, grid);
}
GtkWidget *
photos_dropdown_new (void)
{
- return g_object_new (PHOTOS_TYPE_DROPDOWN, "position", GTK_POS_BOTTOM, NULL);
+ return g_object_new (PHOTOS_TYPE_DROPDOWN, NULL);
}
diff --git a/src/photos-dropdown.ui b/src/photos-dropdown.ui
new file mode 100644
index 0000000..4805717
--- /dev/null
+++ b/src/photos-dropdown.ui
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <requires lib="gtk+" version="3.20"/>
+ <template class="PhotosDropdown" parent="GtkPopover">
+ <property name="position">GTK_POS_BOTTOM</property>
+ <style>
+ <class name="photos-dropdown"/>
+ </style>
+ <child>
+ <object class="GtkGrid" id="grid">
+ <property name="orientation">GTK_ORIENTATION_HORIZONTAL</property>
+ <property name="row-homogeneous">1</property>
+ </object>
+ </child>
+ </template>
+</interface>
diff --git a/src/photos.gresource.xml b/src/photos.gresource.xml
index 6a60998..5cac26c 100644
--- a/src/photos.gresource.xml
+++ b/src/photos.gresource.xml
@@ -4,6 +4,7 @@
<file alias="Adwaita.css">../data/Adwaita.css</file>
<file alias="dlna-renderers-dialog.ui" preprocess="xml-stripblanks"
compressed="true">photos-dlna-renderers-dialog.ui</file>
<file alias="dnd-counter.svg" preprocess="to-pixdata">../data/dnd-counter.svg</file>
+ <file alias="dropdown.ui" preprocess="xml-stripblanks" compressed="true">photos-dropdown.ui</file>
<file alias="export-dialog.ui" preprocess="xml-stripblanks"
compressed="true">photos-export-dialog.ui</file>
<file alias="preview-menu.ui" preprocess="xml-stripblanks"
compressed="true">photos-preview-menu.ui</file>
<file alias="selection-menu.ui" preprocess="xml-stripblanks"
compressed="true">photos-selection-menu.ui</file>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]