[gnome-photos] tool-filter-button, tool-filters: Select previous filter (if any)



commit ad44fa2275700a3d73c4a33a93fb53093cccd388
Author: Umang Jain <mailumangjain gmail com>
Date:   Fri Jan 29 13:32:08 2016 +0530

    tool-filter-button, tool-filters: Select previous filter (if any)
    
    https://bugzilla.gnome.org/show_bug.cgi?id=761158

 src/photos-tool-filter-button.c |    7 +++++++
 src/photos-tool-filter-button.h |    3 +++
 src/photos-tool-filters.c       |   22 ++++++++++++++++++++++
 3 files changed, 32 insertions(+), 0 deletions(-)
---
diff --git a/src/photos-tool-filter-button.c b/src/photos-tool-filter-button.c
index 08efb6e..bd04984 100644
--- a/src/photos-tool-filter-button.c
+++ b/src/photos-tool-filter-button.c
@@ -301,6 +301,13 @@ photos_tool_filter_button_get_group (PhotosToolFilterButton *self)
 
 
 void
+photos_tool_filter_button_set_active (PhotosToolFilterButton *self, gboolean is_active)
+{
+  gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (self->button), is_active);
+}
+
+
+void
 photos_tool_filter_button_set_image (PhotosToolFilterButton *self, GtkWidget *image)
 {
   PhotosWidgetShader *shader;
diff --git a/src/photos-tool-filter-button.h b/src/photos-tool-filter-button.h
index 3c25b68..ffe9555 100644
--- a/src/photos-tool-filter-button.h
+++ b/src/photos-tool-filter-button.h
@@ -45,6 +45,9 @@ GtkWidget             *photos_tool_filter_button_new                    (GtkWidg
 
 GtkWidget             *photos_tool_filter_button_get_group              (PhotosToolFilterButton *self);
 
+void                   photos_tool_filter_button_set_active             (PhotosToolFilterButton *self,
+                                                                         gboolean is_active);
+
 void                   photos_tool_filter_button_set_image              (PhotosToolFilterButton *self,
                                                                          GtkWidget *image);
 
diff --git a/src/photos-tool-filters.c b/src/photos-tool-filters.c
index 2928882..a5758a7 100644
--- a/src/photos-tool-filters.c
+++ b/src/photos-tool-filters.c
@@ -106,6 +106,7 @@ static void
 photos_tool_filters_activate (PhotosTool *tool, PhotosBaseItem *item, GeglGtkView *view)
 {
   PhotosToolFilters *self = PHOTOS_TOOL_FILTERS (tool);
+  PhotosOperationInstaPreset preset;
 
   if (self->buttons == NULL || self->create_preview_id != 0)
     return;
@@ -114,6 +115,27 @@ photos_tool_filters_activate (PhotosTool *tool, PhotosBaseItem *item, GeglGtkVie
   self->item = g_object_ref (item);
 
   self->create_preview_id = g_idle_add_full (G_PRIORITY_LOW, photos_tool_filters_create_preview_idle, self, 
NULL);
+
+  if (photos_base_item_operation_get (item, "photos:insta-filter", "preset", &preset, NULL))
+    {
+      GList *l;
+
+      for (l = self->buttons; l != NULL; l = l->next)
+        {
+          GtkWidget *button = GTK_WIDGET (l->data);
+          GVariant *target_value;
+          PhotosOperationInstaPreset button_preset;
+
+          target_value = gtk_actionable_get_action_target_value (GTK_ACTIONABLE (button));
+          button_preset = (PhotosOperationInstaPreset) g_variant_get_int16 (target_value);
+
+          if (preset == button_preset)
+            {
+              photos_tool_filter_button_set_active (PHOTOS_TOOL_FILTER_BUTTON (button), TRUE);
+              break;
+            }
+        }
+    }
 }
 
 


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