[recipes] Add API to step through cooking view



commit 213f8ab1b27ac0c5446753eb29d122148d9775d5
Author: Matthias Clasen <mclasen redhat com>
Date:   Wed Feb 22 14:31:20 2017 -0500

    Add API to step through cooking view
    
    And use it in the consumers, rather than explicitly calculating
    the next step.

 src/gr-cooking-page.c |   10 ++--------
 src/gr-cooking-view.c |   12 ++++++++++++
 src/gr-cooking-view.h |    2 ++
 src/gr-edit-page.c    |   14 ++------------
 4 files changed, 18 insertions(+), 20 deletions(-)
---
diff --git a/src/gr-cooking-page.c b/src/gr-cooking-page.c
index 5ad081c..8c8d5c1 100644
--- a/src/gr-cooking-page.c
+++ b/src/gr-cooking-page.c
@@ -222,20 +222,14 @@ stop_cooking (GrCookingPage *page)
 static void
 prev_step (GrCookingPage *page)
 {
-        int step;
-
-        step = gr_cooking_view_get_step (GR_COOKING_VIEW (page->cooking_view));
-        gr_cooking_view_set_step (GR_COOKING_VIEW (page->cooking_view), step - 1);
+        gr_cooking_view_prev_step (GR_COOKING_VIEW (page->cooking_view));
         update_steppers (page);
 }
 
 static void
 next_step (GrCookingPage *page)
 {
-        int step;
-
-        step = gr_cooking_view_get_step (GR_COOKING_VIEW (page->cooking_view));
-        gr_cooking_view_set_step (GR_COOKING_VIEW (page->cooking_view), step + 1);
+        gr_cooking_view_next_step (GR_COOKING_VIEW (page->cooking_view));
         update_steppers (page);
 }
 
diff --git a/src/gr-cooking-view.c b/src/gr-cooking-view.c
index 5ce9e2c..9c4b3fa 100644
--- a/src/gr-cooking-view.c
+++ b/src/gr-cooking-view.c
@@ -478,3 +478,15 @@ gr_cooking_view_set_step (GrCookingView *view,
 {
         set_step (view, step);
 }
+
+void
+gr_cooking_view_next_step (GrCookingView *view)
+{
+        set_step (view, view->step + 1);
+}
+
+void
+gr_cooking_view_prev_step (GrCookingView *view)
+{
+        set_step (view, view->step - 1);
+}
diff --git a/src/gr-cooking-view.h b/src/gr-cooking-view.h
index 00b2a6c..ad22202 100644
--- a/src/gr-cooking-view.h
+++ b/src/gr-cooking-view.h
@@ -41,6 +41,8 @@ int            gr_cooking_view_get_n_steps   (GrCookingView *view);
 int            gr_cooking_view_get_step      (GrCookingView *view);
 void           gr_cooking_view_set_step      (GrCookingView *view,
                                               int            step);
+void           gr_cooking_view_next_step     (GrCookingView *view);
+void           gr_cooking_view_prev_step     (GrCookingView *view);
 
 G_END_DECLS
 
diff --git a/src/gr-edit-page.c b/src/gr-edit-page.c
index f0555df..64265b3 100644
--- a/src/gr-edit-page.c
+++ b/src/gr-edit-page.c
@@ -1386,24 +1386,14 @@ preview_visible_changed (GrEditPage *page)
 static void
 prev_step (GrEditPage *page)
 {
-        int step;
-
-        step = gr_cooking_view_get_step (GR_COOKING_VIEW (page->cooking_view)) - 1;
-        if (step >= 0)
-                gr_cooking_view_set_step (GR_COOKING_VIEW (page->cooking_view), step);
-
+        gr_cooking_view_prev_step (GR_COOKING_VIEW (page->cooking_view));
         update_steppers (page);
 }
 
 static void
 next_step (GrEditPage *page)
 {
-        int step;
-
-        step = gr_cooking_view_get_step (GR_COOKING_VIEW (page->cooking_view)) + 1;
-        if (step < gr_cooking_view_get_n_steps (GR_COOKING_VIEW (page->cooking_view)))
-                gr_cooking_view_set_step (GR_COOKING_VIEW (page->cooking_view), step);
-
+        gr_cooking_view_next_step (GR_COOKING_VIEW (page->cooking_view));
         update_steppers (page);
 }
 


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