[gnome-photos] preview-view: Shuffle some code around
- From: Debarshi Ray <debarshir src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-photos] preview-view: Shuffle some code around
- Date: Fri, 27 Nov 2015 14:24:44 +0000 (UTC)
commit 7b929e49afc3faaafe98473c6d2ade68b34908f9
Author: Debarshi Ray <debarshir gnome org>
Date: Fri Nov 27 12:08:07 2015 +0100
preview-view: Shuffle some code around
Rename the functions and variables to differentiate between the
GeglGtkView widget and its parent GtkScrolledWindow. Also add a
convenience function to extract the view from the container.
src/photos-preview-view.c | 95 +++++++++++++++++++++++---------------------
1 files changed, 50 insertions(+), 45 deletions(-)
---
diff --git a/src/photos-preview-view.c b/src/photos-preview-view.c
index 0ffe096..2478639 100644
--- a/src/photos-preview-view.c
+++ b/src/photos-preview-view.c
@@ -63,7 +63,7 @@ enum
G_DEFINE_TYPE_WITH_PRIVATE (PhotosPreviewView, photos_preview_view, GTK_TYPE_BIN);
-static GtkWidget *photos_preview_view_create_view (PhotosPreviewView *self);
+static GtkWidget *photos_preview_view_create_view_with_container (PhotosPreviewView *self);
static gboolean
@@ -147,29 +147,29 @@ photos_preview_view_draw_overlay (PhotosPreviewView *self, cairo_t *cr, GdkRecta
static GtkWidget *
-photos_preview_view_get_invisible_view (PhotosPreviewView *self)
+photos_preview_view_get_invisible_child (PhotosPreviewView *self)
{
PhotosPreviewViewPrivate *priv = self->priv;
GList *children;
GList *l;
- GtkWidget *current_view;
- GtkWidget *next_view = NULL;
+ GtkWidget *current_view_container;
+ GtkWidget *next_view_container = NULL;
- current_view = gtk_stack_get_visible_child (GTK_STACK (priv->stack));
+ current_view_container = gtk_stack_get_visible_child (GTK_STACK (priv->stack));
children = gtk_container_get_children (GTK_CONTAINER (priv->stack));
for (l = children; l != NULL; l = l->next)
{
- GtkWidget *view = GTK_WIDGET (l->data);
+ GtkWidget *view_container = GTK_WIDGET (l->data);
- if (current_view != view)
+ if (current_view_container != view_container)
{
- next_view = view;
+ next_view_container = view_container;
break;
}
}
g_list_free (children);
- return next_view;
+ return next_view_container;
}
@@ -193,20 +193,20 @@ static void
photos_preview_view_navigate (PhotosPreviewView *self, gint position)
{
PhotosPreviewViewPrivate *priv = self->priv;
- GtkWidget *current_view;
- GtkWidget *new_view;
- GtkWidget *next_view;
+ GtkWidget *current_view_container;
+ GtkWidget *new_view_container;
+ GtkWidget *next_view_container;
- current_view = gtk_stack_get_visible_child (GTK_STACK (priv->stack));
- gtk_container_child_set (GTK_CONTAINER (priv->stack), current_view, "position", position, NULL);
+ current_view_container = gtk_stack_get_visible_child (GTK_STACK (priv->stack));
+ gtk_container_child_set (GTK_CONTAINER (priv->stack), current_view_container, "position", position, NULL);
- next_view = photos_preview_view_get_invisible_view (self);
- gtk_stack_set_visible_child (GTK_STACK (priv->stack), next_view);
+ next_view_container = photos_preview_view_get_invisible_child (self);
+ gtk_stack_set_visible_child (GTK_STACK (priv->stack), next_view_container);
- gtk_container_remove (GTK_CONTAINER (priv->stack), current_view);
+ gtk_container_remove (GTK_CONTAINER (priv->stack), current_view_container);
- new_view = photos_preview_view_create_view (self);
- gtk_container_add (GTK_CONTAINER (priv->stack), new_view);
+ new_view_container = photos_preview_view_create_view_with_container (self);
+ gtk_container_add (GTK_CONTAINER (priv->stack), new_view_container);
}
@@ -225,7 +225,7 @@ photos_preview_view_navigate_previous (PhotosPreviewView *self)
static GtkWidget *
-photos_preview_view_create_view (PhotosPreviewView *self)
+photos_preview_view_create_view_with_container (PhotosPreviewView *self)
{
GtkStyleContext *context;
GtkWidget *sw;
@@ -258,15 +258,26 @@ photos_preview_view_create_view (PhotosPreviewView *self)
}
+static GtkWidget *
+photos_preview_view_get_view_from_view_container (GtkWidget *view_container)
+{
+ GtkWidget *view;
+ GtkWidget *viewport;
+
+ viewport = gtk_bin_get_child (GTK_BIN (view_container));
+ view = gtk_bin_get_child (GTK_BIN (viewport));
+ return view;
+}
+
+
static void
photos_preview_view_process (GObject *source_object, GAsyncResult *res, gpointer user_data)
{
PhotosPreviewView *self = PHOTOS_PREVIEW_VIEW (user_data);
PhotosPreviewViewPrivate *priv = self->priv;
GError *error = NULL;
- GtkWidget *sw;
+ GtkWidget *view_container;
GtkWidget *view;
- GtkWidget *viewport;
PhotosBaseItem *item = PHOTOS_BASE_ITEM (source_object);
photos_base_item_process_finish (item, res, &error);
@@ -276,9 +287,8 @@ photos_preview_view_process (GObject *source_object, GAsyncResult *res, gpointer
g_error_free (error);
}
- sw = gtk_stack_get_visible_child (GTK_STACK (priv->stack));
- viewport = gtk_bin_get_child (GTK_BIN (sw));
- view = gtk_bin_get_child (GTK_BIN (viewport));
+ view_container = gtk_stack_get_visible_child (GTK_STACK (priv->stack));
+ view = photos_preview_view_get_view_from_view_container (view_container);
gtk_widget_queue_draw (view);
}
@@ -409,9 +419,8 @@ static void
photos_preview_view_tool_changed (PhotosPreviewView *self, PhotosTool *tool)
{
PhotosPreviewViewPrivate *priv = self->priv;
- GtkWidget *sw;
+ GtkWidget *view_container;
GtkWidget *view;
- GtkWidget *viewport;
if (priv->current_tool == tool)
return;
@@ -420,9 +429,8 @@ photos_preview_view_tool_changed (PhotosPreviewView *self, PhotosTool *tool)
photos_tool_deactivate (priv->current_tool);
g_clear_object (&priv->current_tool);
- sw = gtk_stack_get_visible_child (GTK_STACK (priv->stack));
- viewport = gtk_bin_get_child (GTK_BIN (sw));
- view = gtk_bin_get_child (GTK_BIN (viewport));
+ view_container = gtk_stack_get_visible_child (GTK_STACK (priv->stack));
+ view = photos_preview_view_get_view_from_view_container (view_container);
if (tool != NULL)
{
@@ -541,7 +549,7 @@ photos_preview_view_init (PhotosPreviewView *self)
GtkWidget *grid;
GtkWidget *palette;
GtkWidget *sw;
- GtkWidget *view;
+ GtkWidget *view_container;
PhotosSearchContextState *state;
self->priv = photos_preview_view_get_instance_private (self);
@@ -570,12 +578,12 @@ photos_preview_view_init (PhotosPreviewView *self)
gtk_widget_set_vexpand (priv->stack, TRUE);
gtk_container_add (GTK_CONTAINER (grid), priv->stack);
- view = photos_preview_view_create_view (self);
- gtk_container_add (GTK_CONTAINER (priv->stack), view);
- gtk_stack_set_visible_child (GTK_STACK (priv->stack), view);
+ view_container = photos_preview_view_create_view_with_container (self);
+ gtk_container_add (GTK_CONTAINER (priv->stack), view_container);
+ gtk_stack_set_visible_child (GTK_STACK (priv->stack), view_container);
- view = photos_preview_view_create_view (self);
- gtk_container_add (GTK_CONTAINER (priv->stack), view);
+ view_container = photos_preview_view_create_view_with_container (self);
+ gtk_container_add (GTK_CONTAINER (priv->stack), view_container);
priv->revealer = gtk_revealer_new ();
gtk_revealer_set_transition_type (GTK_REVEALER (priv->revealer), GTK_REVEALER_TRANSITION_TYPE_SLIDE_LEFT);
@@ -663,30 +671,27 @@ void
photos_preview_view_set_node (PhotosPreviewView *self, GeglNode *node)
{
PhotosPreviewViewPrivate *priv = self->priv;
- GtkWidget *sw;
+ GtkWidget *view_container;;
if (priv->node == node)
return;
- sw = gtk_stack_get_visible_child (GTK_STACK (priv->stack));
+ view_container = gtk_stack_get_visible_child (GTK_STACK (priv->stack));
g_clear_object (&priv->node);
if (node == NULL)
{
- gtk_container_remove (GTK_CONTAINER (priv->stack), sw);
+ gtk_container_remove (GTK_CONTAINER (priv->stack), view_container);
- sw = photos_preview_view_create_view (self);
- gtk_container_add (GTK_CONTAINER (priv->stack), sw);
+ view_container = photos_preview_view_create_view_with_container (self);
+ gtk_container_add (GTK_CONTAINER (priv->stack), view_container);
}
else
{
GtkWidget *view;
- GtkWidget *viewport;
priv->node = g_object_ref (node);
-
- viewport = gtk_bin_get_child (GTK_BIN (sw));
- view = gtk_bin_get_child (GTK_BIN (viewport));
+ view = photos_preview_view_get_view_from_view_container (view_container);
/* Steals the reference to the GeglNode. */
gegl_gtk_view_set_node (GEGL_GTK_VIEW (view), g_object_ref (priv->node));
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]