[recipes] details: scroll up



commit b54ecc9fde12b3e95af55b1b2b28346466935589
Author: Matthias Clasen <mclasen redhat com>
Date:   Sat Mar 11 18:21:52 2017 -0500

    details: scroll up
    
    When presenting the details page, make sure we
    scroll up to the top of the page.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=779889

 src/gr-details-page.c  |   13 +++++++++++++
 src/gr-details-page.ui |    2 +-
 2 files changed, 14 insertions(+), 1 deletions(-)
---
diff --git a/src/gr-details-page.c b/src/gr-details-page.c
index 6a72aaf..fadd4da 100644
--- a/src/gr-details-page.c
+++ b/src/gr-details-page.c
@@ -56,6 +56,7 @@ struct _GrDetailsPage
         GrRecipePrinter *printer;
         GrRecipeExporter *exporter;
 
+        GtkWidget *main_content;
         GtkWidget *recipe_image;
         GtkWidget *prep_time_desc;
         GtkWidget *prep_time_label;
@@ -392,6 +393,7 @@ gr_details_page_class_init (GrDetailsPageClass *klass)
 
         gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/Recipes/gr-details-page.ui");
 
+        gtk_widget_class_bind_template_child (widget_class, GrDetailsPage, main_content);
         gtk_widget_class_bind_template_child (widget_class, GrDetailsPage, recipe_image);
         gtk_widget_class_bind_template_child (widget_class, GrDetailsPage, prep_time_desc);
         gtk_widget_class_bind_template_child (widget_class, GrDetailsPage, prep_time_label);
@@ -598,6 +600,15 @@ process_instructions (const char *instructions)
         return g_string_free (s, FALSE);
 }
 
+static void
+scroll_up (GrDetailsPage *page)
+{
+        GtkAdjustment *adj;
+
+        adj = gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (page->main_content));
+        gtk_adjustment_set_value (adj, gtk_adjustment_get_lower (adj));
+}
+
 void
 gr_details_page_set_recipe (GrDetailsPage *page,
                             GrRecipe      *recipe)
@@ -769,6 +780,8 @@ gr_details_page_set_recipe (GrDetailsPage *page,
                 gtk_widget_show (page->edit_button);
                 gtk_widget_show (page->delete_button);
         }
+
+        scroll_up (page);
 }
 
 GrRecipe *
diff --git a/src/gr-details-page.ui b/src/gr-details-page.ui
index 14dc2d3..882d01f 100644
--- a/src/gr-details-page.ui
+++ b/src/gr-details-page.ui
@@ -65,7 +65,7 @@
             <property name="visible">1</property>
             <property name="orientation">vertical</property>
             <child>
-              <object class="GtkScrolledWindow">
+              <object class="GtkScrolledWindow" id="main_content">
                 <property name="visible">1</property>
                 <property name="hscrollbar-policy">never</property>
                 <child>


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