[gtk/matthiasc/for-master: 18/22] viewport: Drop shadow-type



commit 30abcf9e82ddee9ff27cf16ab4b89b61fc10bff9
Author: Matthias Clasen <mclasen redhat com>
Date:   Thu Apr 16 23:58:01 2020 -0400

    viewport: Drop shadow-type
    
    We were only using this as a boolean, so change it
    to a boolean property named has-frame.

 docs/reference/gtk/gtk4-sections.txt |  4 +-
 gtk/gtkviewport.c                    | 72 ++++++++++++++++++------------------
 gtk/gtkviewport.h                    |  6 +--
 gtk/ui/gtkplacesview.ui              |  4 +-
 gtk/ui/gtkprintunixdialog.ui         |  8 ++--
 5 files changed, 47 insertions(+), 47 deletions(-)
---
diff --git a/docs/reference/gtk/gtk4-sections.txt b/docs/reference/gtk/gtk4-sections.txt
index a5213f04f2..83abf7645f 100644
--- a/docs/reference/gtk/gtk4-sections.txt
+++ b/docs/reference/gtk/gtk4-sections.txt
@@ -3843,8 +3843,8 @@ gtk_list_store_get_type
 <TITLE>GtkViewport</TITLE>
 GtkViewport
 gtk_viewport_new
-gtk_viewport_set_shadow_type
-gtk_viewport_get_shadow_type
+gtk_viewport_set_has_frame
+gtk_viewport_get_has_frame
 <SUBSECTION Standard>
 GTK_VIEWPORT
 GTK_IS_VIEWPORT
diff --git a/gtk/gtkviewport.c b/gtk/gtkviewport.c
index fafdfb7eb4..c5a78c7f9b 100644
--- a/gtk/gtkviewport.c
+++ b/gtk/gtkviewport.c
@@ -75,7 +75,8 @@ struct _GtkViewportPrivate
 {
   GtkAdjustment  *hadjustment;
   GtkAdjustment  *vadjustment;
-  GtkShadowType   shadow_type;
+ 
+  guint has_frame      : 1;
 
   /* GtkScrollablePolicy needs to be checked when
    * driving the scrollable adjustment values */
@@ -94,7 +95,7 @@ enum {
   PROP_VADJUSTMENT,
   PROP_HSCROLL_POLICY,
   PROP_VSCROLL_POLICY,
-  PROP_SHADOW_TYPE
+  PROP_HAS_FRAME
 };
 
 
@@ -255,13 +256,12 @@ gtk_viewport_class_init (GtkViewportClass *class)
   g_object_class_override_property (gobject_class, PROP_VSCROLL_POLICY, "vscroll-policy");
 
   g_object_class_install_property (gobject_class,
-                                   PROP_SHADOW_TYPE,
-                                   g_param_spec_enum ("shadow-type",
-                                                     P_("Shadow type"),
-                                                     P_("Determines how the shadowed box around the viewport 
is drawn"),
-                                                     GTK_TYPE_SHADOW_TYPE,
-                                                     GTK_SHADOW_IN,
-                                                     GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
+                                   PROP_HAS_FRAME,
+                                   g_param_spec_boolean ("has-frame",
+                                                        P_("Has frame"),
+                                                         P_("Whether to draw a frame"),
+                                                        TRUE,
+                                                        GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
 
   gtk_widget_class_set_css_name (widget_class, I_("viewport"));
 }
@@ -299,8 +299,8 @@ gtk_viewport_set_property (GObject         *object,
           g_object_notify_by_pspec (object, pspec);
         }
       break;
-    case PROP_SHADOW_TYPE:
-      gtk_viewport_set_shadow_type (viewport, g_value_get_enum (value));
+    case PROP_HAS_FRAME:
+      gtk_viewport_set_has_frame (viewport, g_value_get_boolean (value));
       break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -331,8 +331,8 @@ gtk_viewport_get_property (GObject         *object,
     case PROP_VSCROLL_POLICY:
       g_value_set_enum (value, priv->vscroll_policy);
       break;
-    case PROP_SHADOW_TYPE:
-      g_value_set_enum (value, priv->shadow_type);
+    case PROP_HAS_FRAME:
+      g_value_set_boolean (value, priv->has_frame);
       break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -350,7 +350,7 @@ gtk_viewport_init (GtkViewport *viewport)
 
   gtk_widget_set_overflow (widget, GTK_OVERFLOW_HIDDEN);
 
-  priv->shadow_type = GTK_SHADOW_IN;
+  priv->has_frame = TRUE;
   priv->hadjustment = NULL;
   priv->vadjustment = NULL;
 
@@ -442,50 +442,50 @@ viewport_set_adjustment (GtkViewport    *viewport,
 }
 
 /** 
- * gtk_viewport_set_shadow_type:
+ * gtk_viewport_set_has_frame:
  * @viewport: a #GtkViewport.
- * @type: the new shadow type.
+ * @has_frame: whether to draw a visible frame
  *
- * Sets the shadow type of the viewport.
+ * Sets whether to draw a visible frame around the viewport
  **/ 
 void
-gtk_viewport_set_shadow_type (GtkViewport   *viewport,
-                              GtkShadowType  type)
+gtk_viewport_set_has_frame (GtkViewport *viewport,
+                            gboolean     has_frame)
 {
   GtkViewportPrivate *priv = gtk_viewport_get_instance_private (viewport);
 
   g_return_if_fail (GTK_IS_VIEWPORT (viewport));
 
-  if ((GtkShadowType) priv->shadow_type != type)
-    {
-      priv->shadow_type = type;
+  if (priv->has_frame == has_frame)
+    return;
 
-      if (type != GTK_SHADOW_NONE)
-        gtk_widget_add_css_class (GTK_WIDGET (viewport), GTK_STYLE_CLASS_FRAME);
-      else
-        gtk_widget_remove_css_class (GTK_WIDGET (viewport), GTK_STYLE_CLASS_FRAME);
+  priv->has_frame = has_frame;
 
-      g_object_notify (G_OBJECT (viewport), "shadow-type");
-    }
+  if (priv->has_frame)
+    gtk_widget_add_css_class (GTK_WIDGET (viewport), GTK_STYLE_CLASS_FRAME);
+  else
+    gtk_widget_remove_css_class (GTK_WIDGET (viewport), GTK_STYLE_CLASS_FRAME);
+
+  g_object_notify (G_OBJECT (viewport), "has-frame");
 }
 
 /**
- * gtk_viewport_get_shadow_type:
+ * gtk_viewport_get_has_frame:
  * @viewport: a #GtkViewport
  *
- * Gets the shadow type of the #GtkViewport. See
- * gtk_viewport_set_shadow_type().
+ * Gets whether the viewport has a visible frame.
+ * See gtk_viewport_set_has_frame().
  *
- * Returns: the shadow type 
+ * Returns: %TRUE if the viewport has a visible frame
  **/
-GtkShadowType
-gtk_viewport_get_shadow_type (GtkViewport *viewport)
+gboolean
+gtk_viewport_get_has_frame (GtkViewport *viewport)
 {
   GtkViewportPrivate *priv = gtk_viewport_get_instance_private (viewport);
 
-  g_return_val_if_fail (GTK_IS_VIEWPORT (viewport), GTK_SHADOW_NONE);
+  g_return_val_if_fail (GTK_IS_VIEWPORT (viewport), TRUE);
 
-  return priv->shadow_type;
+  return priv->has_frame;
 }
 
 static void
diff --git a/gtk/gtkviewport.h b/gtk/gtkviewport.h
index f034c4c055..0ad9472356 100644
--- a/gtk/gtkviewport.h
+++ b/gtk/gtkviewport.h
@@ -51,10 +51,10 @@ GtkWidget*     gtk_viewport_new             (GtkAdjustment *hadjustment,
                                             GtkAdjustment *vadjustment);
 
 GDK_AVAILABLE_IN_ALL
-void           gtk_viewport_set_shadow_type (GtkViewport   *viewport,
-                                            GtkShadowType  type);
+void           gtk_viewport_set_has_frame (GtkViewport   *viewport,
+                                          gboolean       has_frame);
 GDK_AVAILABLE_IN_ALL
-GtkShadowType  gtk_viewport_get_shadow_type (GtkViewport   *viewport);
+gboolean       gtk_viewport_get_has_frame (GtkViewport   *viewport);
 
 
 G_END_DECLS
diff --git a/gtk/ui/gtkplacesview.ui b/gtk/ui/gtkplacesview.ui
index eb0d524c55..729454b97d 100644
--- a/gtk/ui/gtkplacesview.ui
+++ b/gtk/ui/gtkplacesview.ui
@@ -153,7 +153,7 @@
                     <property name="min-content-height">200</property>
                     <child>
                       <object class="GtkViewport">
-                        <property name="shadow-type">none</property>
+                        <property name="has-frame">0</property>
                         <child>
                           <object class="GtkListBox" id="recent_servers_listbox">
                             <property name="selection-mode">none</property>
@@ -189,7 +189,7 @@
                     <property name="vexpand">1</property>
                     <child>
                       <object class="GtkViewport">
-                        <property name="shadow-type">none</property>
+                        <property name="has-frame">0</property>
                         <child>
                           <object class="GtkListBox" id="listbox">
                             <property name="selection-mode">none</property>
diff --git a/gtk/ui/gtkprintunixdialog.ui b/gtk/ui/gtkprintunixdialog.ui
index cd3801b3e6..71adf7c602 100644
--- a/gtk/ui/gtkprintunixdialog.ui
+++ b/gtk/ui/gtkprintunixdialog.ui
@@ -977,7 +977,7 @@
                         <property name="hexpand">1</property>
                         <child>
                           <object class="GtkViewport" id="viewport1">
-                            <property name="shadow-type">none</property>
+                            <property name="has-frame">0</property>
                             <child>
                               <object class="GtkGrid" id="image_quality_table">
                                 <property name="row-spacing">6</property>
@@ -1007,7 +1007,7 @@
                         <property name="hscrollbar-policy">never</property>
                         <child>
                           <object class="GtkViewport" id="viewport2">
-                            <property name="shadow-type">none</property>
+                            <property name="has-frame">0</property>
                             <child>
                               <object class="GtkGrid" id="color_table">
                                 <property name="row-spacing">6</property>
@@ -1037,7 +1037,7 @@
                         <property name="hscrollbar-policy">never</property>
                         <child>
                           <object class="GtkViewport" id="viewport3">
-                            <property name="shadow-type">none</property>
+                            <property name="has-frame">0</property>
                             <child>
                               <object class="GtkGrid" id="finishing_table">
                                 <property name="row-spacing">6</property>
@@ -1067,7 +1067,7 @@
                         <property name="hscrollbar-policy">never</property>
                         <child>
                           <object class="GtkViewport" id="viewport4">
-                            <property name="shadow-type">none</property>
+                            <property name="has-frame">0</property>
                             <child>
                               <object class="GtkBox" id="advanced_vbox">
                                 <property name="orientation">vertical</property>


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