[recipes] edit page: Ensure to clear the preview
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [recipes] edit page: Ensure to clear the preview
- Date: Sun, 16 Apr 2017 02:21:07 +0000 (UTC)
commit 8cc8693402641bca2942240214d80d9f28ede472
Author: Matthias Clasen <mclasen redhat com>
Date: Sat Apr 15 22:16:51 2017 -0400
edit page: Ensure to clear the preview
When clearing the edit page, we were forgetting the
instructions preview. To fix this, reset the cooking
preview data and make sure that the preview itself
cleans up its internal state when new data is set.
https://bugzilla.gnome.org/show_bug.cgi?id=781247
src/gr-cooking-view.c | 7 ++++++-
src/gr-edit-page.c | 5 +++++
2 files changed, 11 insertions(+), 1 deletions(-)
---
diff --git a/src/gr-cooking-view.c b/src/gr-cooking-view.c
index e6eb832..ed1ca6b 100644
--- a/src/gr-cooking-view.c
+++ b/src/gr-cooking-view.c
@@ -596,7 +596,6 @@ setup_steps (GrCookingView *view)
step = g_ptr_array_index (steps, i);
data = step_data_new (i, steps->len, step->text, step->timer, step->title, step->image,
view);
g_ptr_array_add (view->steps, data);
-
}
}
@@ -613,6 +612,12 @@ gr_cooking_view_set_data (GrCookingView *view,
g_clear_pointer (&view->images, g_ptr_array_unref);
view->images = g_ptr_array_ref (images);
+ gtk_widget_hide (view->cooking_heading);
+ gtk_widget_hide (view->cooking_label);
+ gtk_widget_hide (view->cooking_stack);
+ gtk_widget_set_halign (view->text_box, GTK_ALIGN_CENTER);
+ gtk_stack_set_visible_child_name (GTK_STACK (view->cooking_stack), "empty");
+
setup_steps (view);
}
diff --git a/src/gr-edit-page.c b/src/gr-edit-page.c
index 0b47b79..ac67075 100644
--- a/src/gr-edit-page.c
+++ b/src/gr-edit-page.c
@@ -2026,6 +2026,11 @@ gr_edit_page_clear (GrEditPage *page)
images = gr_image_array_new ();
g_object_set (page->images, "images", images, NULL);
+ gr_cooking_view_set_data (GR_COOKING_VIEW (page->cooking_view), NULL, "", images);
+ gr_cooking_view_set_step (GR_COOKING_VIEW (page->cooking_view), 0);
+ gtk_stack_set_visible_child_name (GTK_STACK (page->preview_stack), "edit");
+ preview_visible_changed (page);
+
if (page->index_handler_id) {
g_signal_handler_disconnect (page->recipe, page->index_handler_id);
page->index_handler_id = 0;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]