[gnome-initial-setup/youre-welcome: 1/6] page: Add a has-forward property




commit 2ed5e1b7c5cfe74d87e76c01d12842421131da59
Author: Matthias Clasen <mclasen redhat com>
Date:   Wed Aug 5 17:59:45 2020 -0400

    page: Add a has-forward property
    
    This will be used to signal the assistant that we
    don't need a "Next" button, because we have our own
    inside the page.

 gnome-initial-setup/gis-page.c | 29 +++++++++++++++++++++++++++++
 gnome-initial-setup/gis-page.h |  2 ++
 2 files changed, 31 insertions(+)
---
diff --git a/gnome-initial-setup/gis-page.c b/gnome-initial-setup/gis-page.c
index d92b11c9..23d8f875 100644
--- a/gnome-initial-setup/gis-page.c
+++ b/gnome-initial-setup/gis-page.c
@@ -37,6 +37,7 @@ struct _GisPagePrivate
   guint complete : 1;
   guint skippable : 1;
   guint needs_accept : 1;
+  guint has_forward : 1;
   guint padding : 5;
 };
 typedef struct _GisPagePrivate GisPagePrivate;
@@ -53,6 +54,7 @@ enum
   PROP_NEEDS_ACCEPT,
   PROP_APPLYING,
   PROP_SMALL_SCREEN,
+  PROP_HAS_FORWARD,
   PROP_LAST,
 };
 
@@ -83,6 +85,9 @@ gis_page_get_property (GObject    *object,
     case PROP_NEEDS_ACCEPT:
       g_value_set_boolean (value, priv->needs_accept);
       break;
+    case PROP_HAS_FORWARD:
+      g_value_set_boolean (value, priv->has_forward);
+      break;
     case PROP_APPLYING:
       g_value_set_boolean (value, gis_page_get_applying (page));
       break;
@@ -129,6 +134,9 @@ gis_page_set_property (GObject      *object,
     case PROP_NEEDS_ACCEPT:
       priv->needs_accept = g_value_get_boolean (value);
       break;
+    case PROP_HAS_FORWARD:
+      priv->has_forward = g_value_get_boolean (value);
+      break;
     case PROP_COMPLETE:
       priv->complete = g_value_get_boolean (value);
       break;
@@ -214,6 +222,9 @@ gis_page_class_init (GisPageClass *klass)
   obj_props[PROP_NEEDS_ACCEPT] =
     g_param_spec_boolean ("needs-accept", "", "", FALSE,
                           G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE);
+  obj_props[PROP_HAS_FORWARD] =
+    g_param_spec_boolean ("has-forward", "", "", FALSE,
+                          G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE);
   obj_props[PROP_APPLYING] =
     g_param_spec_boolean ("applying", "", "", FALSE,
                           G_PARAM_STATIC_STRINGS | G_PARAM_READABLE);
@@ -297,6 +308,24 @@ gis_page_set_needs_accept (GisPage *page, gboolean needs_accept)
   g_object_notify_by_pspec (G_OBJECT (page), obj_props[PROP_NEEDS_ACCEPT]);
 }
 
+gboolean
+gis_page_get_has_forward (GisPage *page)
+{
+  GisPagePrivate *priv = gis_page_get_instance_private (page);
+  return priv->has_forward;
+}
+
+void
+gis_page_set_has_forward (GisPage *page, gboolean has_forward)
+{
+  GisPagePrivate *priv = gis_page_get_instance_private (page);
+  if (priv->has_forward != has_forward)
+    {
+      priv->has_forward = has_forward;
+      g_object_notify_by_pspec (G_OBJECT (page), obj_props[PROP_HAS_FORWARD]);
+    }
+}
+
 void
 gis_page_locale_changed (GisPage *page)
 {
diff --git a/gnome-initial-setup/gis-page.h b/gnome-initial-setup/gis-page.h
index d98590a2..96191b16 100644
--- a/gnome-initial-setup/gis-page.h
+++ b/gnome-initial-setup/gis-page.h
@@ -76,6 +76,8 @@ gboolean     gis_page_get_skippable (GisPage *page);
 void         gis_page_set_skippable (GisPage *page, gboolean skippable);
 gboolean     gis_page_get_needs_accept (GisPage *page);
 void         gis_page_set_needs_accept (GisPage *page, gboolean needs_accept);
+gboolean     gis_page_get_has_forward (GisPage *page);
+void         gis_page_set_has_forward (GisPage *page, gboolean has_forward);
 void         gis_page_locale_changed (GisPage *page);
 void         gis_page_apply_begin (GisPage *page, GisPageApplyCallback callback, gpointer user_data);
 void         gis_page_apply_cancel (GisPage *page);


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