[recipes] Properly handle timer widget state
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [recipes] Properly handle timer widget state
- Date: Tue, 7 Feb 2017 05:16:12 +0000 (UTC)
commit 71b406bd34c0373f075495eef488e7ba57e1f124
Author: Matthias Clasen <mclasen redhat com>
Date: Mon Feb 6 15:46:57 2017 +0100
Properly handle timer widget state
We were not getting the blue start button back in all cases
when switching between preview and edit.
https://bugzilla.gnome.org/show_bug.cgi?id=778202
src/gr-cooking-view.c | 8 +++-----
src/gr-time-widget.c | 5 +++++
2 files changed, 8 insertions(+), 5 deletions(-)
---
diff --git a/src/gr-cooking-view.c b/src/gr-cooking-view.c
index 77cb2ce..75c2034 100644
--- a/src/gr-cooking-view.c
+++ b/src/gr-cooking-view.c
@@ -161,6 +161,7 @@ setup_step (GrCookingView *view)
if (s->timer) {
gboolean active;
+
g_object_get (s->timer, "active", &active, NULL);
g_object_set (view->cooking_timer, "timer", s->timer, NULL);
gtk_stack_set_visible_child_name (GTK_STACK (view->cooking_stack), "timer");
@@ -260,8 +261,6 @@ setup_steps (GrCookingView *view)
{
g_auto(GStrv) steps = NULL;
int i;
- int image;
- guint64 timer;
if (!view->instructions || !view->images)
return;
@@ -273,11 +272,10 @@ setup_steps (GrCookingView *view)
g_ptr_array_set_size (view->steps, 0);
for (i = 0; steps[i]; i++) {
const char *p, *q;
+ int image = -1;
+ guint64 timer = 0;
g_autofree char *step = NULL;
- image = -1;
- timer = 0;
-
p = strstr (steps[i], "[image:");
if (p) {
g_autofree char *prefix = NULL;
diff --git a/src/gr-time-widget.c b/src/gr-time-widget.c
index bfe02ca..e68a76a 100644
--- a/src/gr-time-widget.c
+++ b/src/gr-time-widget.c
@@ -82,6 +82,8 @@ set_timer (GrTimeWidget *self,
GrTimer *old = self->timer;
if (g_set_object (&self->timer, timer)) {
+ gboolean active;
+
if (self->handler) {
g_signal_handler_disconnect (old, self->handler);
self->handler = 0;
@@ -92,6 +94,9 @@ set_timer (GrTimeWidget *self,
}
g_object_set (self->timer_widget, "timer", timer, NULL);
g_object_notify (G_OBJECT (self), "timer");
+
+ g_object_get (timer, "active", &active, NULL);
+ gtk_stack_set_visible_child_name (GTK_STACK (self->timer_button_stack), active ? "active" :
"start");
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]