[recipes] edit: Scroll up



commit 3241f40a96931854455a928c60abb154ce047810
Author: Matthias Clasen <mclasen redhat com>
Date:   Sat Mar 11 18:22:30 2017 -0500

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

 src/gr-edit-page.c  |   15 +++++++++++++++
 src/gr-edit-page.ui |    2 +-
 2 files changed, 16 insertions(+), 1 deletions(-)
---
diff --git a/src/gr-edit-page.c b/src/gr-edit-page.c
index 65397b6..7df70f4 100644
--- a/src/gr-edit-page.c
+++ b/src/gr-edit-page.c
@@ -58,6 +58,7 @@ struct _GrEditPage
 
         GrRecipe *recipe;
 
+        GtkWidget *main_content;
         GtkWidget *error_revealer;
         GtkWidget *error_label;
         GtkWidget *name_label;
@@ -1482,6 +1483,7 @@ gr_edit_page_class_init (GrEditPageClass *klass)
 
         gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/Recipes/gr-edit-page.ui");
 
+        gtk_widget_class_bind_template_child (widget_class, GrEditPage, main_content);
         gtk_widget_class_bind_template_child (widget_class, GrEditPage, error_revealer);
         gtk_widget_class_bind_template_child (widget_class, GrEditPage, error_label);
         gtk_widget_class_bind_template_child (widget_class, GrEditPage, name_label);
@@ -1879,6 +1881,15 @@ populate_ingredients (GrEditPage *page,
         update_segments (page);
 }
 
+static void
+scroll_up (GrEditPage *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_edit_page_clear (GrEditPage *page)
 {
@@ -1921,6 +1932,8 @@ gr_edit_page_clear (GrEditPage *page)
 
         g_free (page->author);
         page->author = g_strdup (gr_recipe_store_get_user_key (store));
+
+        scroll_up (page);
 }
 
 static void
@@ -2102,6 +2115,8 @@ gr_edit_page_edit (GrEditPage *page,
         }
 
         update_default_image_button (page);
+
+        scroll_up (page);
 }
 
 gboolean
diff --git a/src/gr-edit-page.ui b/src/gr-edit-page.ui
index 14a7f6c..597913e 100644
--- a/src/gr-edit-page.ui
+++ b/src/gr-edit-page.ui
@@ -62,7 +62,7 @@
           </object>
         </child>
         <child>
-          <object class="GtkScrolledWindow">
+          <object class="GtkScrolledWindow" id="main_content">
             <property name="visible">1</property>
             <property name="expand">1</property>
             <property name="hscrollbar-policy">never</property>


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