[gnome-flashback] desktop: use GfIconSize type for icon_size



commit 3f324e5c5ae5d722ab2886ffaab2293a05d3b098
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date:   Mon Nov 4 23:06:47 2019 +0200

    desktop: use GfIconSize type for icon_size

 gnome-flashback/libdesktop/gf-icon-view.c    | 36 ++++------------------------
 gnome-flashback/libdesktop/gf-icon.c         | 26 +++++++++++---------
 gnome-flashback/libdesktop/gf-monitor-view.c | 14 ++++++-----
 gnome-flashback/libdesktop/gf-monitor-view.h |  3 ++-
 4 files changed, 29 insertions(+), 50 deletions(-)
---
diff --git a/gnome-flashback/libdesktop/gf-icon-view.c b/gnome-flashback/libdesktop/gf-icon-view.c
index b0fb78d..e25cea1 100644
--- a/gnome-flashback/libdesktop/gf-icon-view.c
+++ b/gnome-flashback/libdesktop/gf-icon-view.c
@@ -74,35 +74,11 @@ workarea_cb (GdkMonitor *monitor,
   gtk_fixed_move (GTK_FIXED (self->fixed), view, workarea.x, workarea.y);
 }
 
-static gboolean
-enum_to_uint (GValue   *value,
-              GVariant *variant,
-              gpointer  user_data)
-{
-  const char *nick;
-  GEnumClass *enum_class;
-  GEnumValue *enum_value;
-
-  nick = g_variant_get_string (variant, NULL);
-
-  enum_class = g_type_class_ref (GF_TYPE_ICON_SIZE);
-  enum_value = g_enum_get_value_by_nick (enum_class, nick);
-  g_type_class_unref (enum_class);
-
-  if (enum_value != NULL)
-    {
-      g_value_set_uint (value, enum_value->value);
-      return TRUE;
-    }
-
-  return FALSE;
-}
-
 static void
 create_monitor_view (GfIconView *self,
                      GdkMonitor *monitor)
 {
-  guint icon_size;
+  GfIconSize icon_size;
   guint extra_text_width;
   guint column_spacing;
   guint row_spacing;
@@ -125,13 +101,9 @@ create_monitor_view (GfIconView *self,
   gtk_fixed_put (GTK_FIXED (self->fixed), view, workarea.x, workarea.y);
   gtk_widget_show (view);
 
-  g_settings_bind_with_mapping (self->settings, "icon-size",
-                                view, "icon-size",
-                                G_SETTINGS_BIND_GET,
-                                enum_to_uint,
-                                NULL,
-                                self,
-                                NULL);
+  g_settings_bind (self->settings, "icon-size",
+                   view, "icon-size",
+                   G_SETTINGS_BIND_GET);
 
   g_settings_bind (self->settings, "extra-text-width",
                    view, "extra-text-width",
diff --git a/gnome-flashback/libdesktop/gf-icon.c b/gnome-flashback/libdesktop/gf-icon.c
index 5510038..eb2d232 100644
--- a/gnome-flashback/libdesktop/gf-icon.c
+++ b/gnome-flashback/libdesktop/gf-icon.c
@@ -18,20 +18,23 @@
 #include "config.h"
 #include "gf-icon.h"
 
+#include "gf-desktop-enums.h"
+#include "gf-desktop-enum-types.h"
+
 struct _GfIcon
 {
-  GtkButton  parent;
+  GtkButton   parent;
 
-  GFile     *file;
-  GFileInfo *info;
+  GFile      *file;
+  GFileInfo  *info;
 
-  guint      icon_size;
-  guint      extra_text_width;
+  GfIconSize  icon_size;
+  guint       extra_text_width;
 
-  GtkWidget *image;
-  GtkWidget *label;
+  GtkWidget  *image;
+  GtkWidget  *label;
 
-  gboolean   selected;
+  gboolean    selected;
 };
 
 enum
@@ -120,7 +123,7 @@ gf_icon_set_property (GObject      *object,
         break;
 
       case PROP_ICON_SIZE:
-        self->icon_size = g_value_get_uint (value);
+        self->icon_size = g_value_get_enum (value);
         gtk_image_set_pixel_size (GTK_IMAGE (self->image), self->icon_size);
         break;
 
@@ -176,10 +179,11 @@ install_properties (GObjectClass *object_class)
                          G_PARAM_STATIC_STRINGS);
 
   icon_properties[PROP_ICON_SIZE] =
-    g_param_spec_uint ("icon-size",
+    g_param_spec_enum ("icon-size",
                        "icon-size",
                        "icon-size",
-                       16, 128, 48,
+                       GF_TYPE_ICON_SIZE,
+                       GF_ICON_SIZE_48PX,
                        G_PARAM_CONSTRUCT |
                        G_PARAM_WRITABLE |
                        G_PARAM_STATIC_STRINGS);
diff --git a/gnome-flashback/libdesktop/gf-monitor-view.c b/gnome-flashback/libdesktop/gf-monitor-view.c
index 4b74a91..fbcee21 100644
--- a/gnome-flashback/libdesktop/gf-monitor-view.c
+++ b/gnome-flashback/libdesktop/gf-monitor-view.c
@@ -18,6 +18,7 @@
 #include "config.h"
 #include "gf-monitor-view.h"
 
+#include "gf-desktop-enum-types.h"
 #include "gf-icon.h"
 #include "gf-utils.h"
 
@@ -29,7 +30,7 @@ struct _GfMonitorView
 
   gboolean    grid_points;
 
-  guint       icon_size;
+  GfIconSize  icon_size;
   guint       extra_text_width;
   guint       column_spacing;
   guint       row_spacing;
@@ -404,7 +405,7 @@ gf_monitor_view_get_property (GObject    *object,
         break;
 
       case PROP_ICON_SIZE:
-        g_value_set_uint (value, self->icon_size);
+        g_value_set_enum (value, self->icon_size);
         break;
 
       case PROP_EXTRA_TEXT_WIDTH:
@@ -440,7 +441,7 @@ gf_monitor_view_set_property (GObject      *object,
         break;
 
       case PROP_ICON_SIZE:
-        set_icon_size (self, g_value_get_uint (value));
+        set_icon_size (self, g_value_get_enum (value));
         break;
 
       case PROP_EXTRA_TEXT_WIDTH:
@@ -514,10 +515,11 @@ install_properties (GObjectClass *object_class)
                           G_PARAM_STATIC_STRINGS);
 
   view_properties[PROP_ICON_SIZE] =
-    g_param_spec_uint ("icon-size",
+    g_param_spec_enum ("icon-size",
                        "icon-size",
                        "icon-size",
-                       16, 128, 48,
+                       GF_TYPE_ICON_SIZE,
+                       GF_ICON_SIZE_48PX,
                        G_PARAM_CONSTRUCT |
                        G_PARAM_READWRITE |
                        G_PARAM_STATIC_STRINGS);
@@ -582,7 +584,7 @@ gf_monitor_view_init (GfMonitorView *self)
 
 GtkWidget *
 gf_monitor_view_new (GdkMonitor *monitor,
-                     guint       icon_size,
+                     GfIconSize  icon_size,
                      guint       extra_text_width,
                      guint       column_spacing,
                      guint       row_spacing)
diff --git a/gnome-flashback/libdesktop/gf-monitor-view.h b/gnome-flashback/libdesktop/gf-monitor-view.h
index 28063dd..1004921 100644
--- a/gnome-flashback/libdesktop/gf-monitor-view.h
+++ b/gnome-flashback/libdesktop/gf-monitor-view.h
@@ -19,6 +19,7 @@
 #define GF_MONITOR_VIEW_H
 
 #include <gtk/gtk.h>
+#include "gf-desktop-enums.h"
 
 G_BEGIN_DECLS
 
@@ -26,7 +27,7 @@ G_BEGIN_DECLS
 G_DECLARE_FINAL_TYPE (GfMonitorView, gf_monitor_view, GF, MONITOR_VIEW, GtkFixed)
 
 GtkWidget  *gf_monitor_view_new         (GdkMonitor    *monitor,
-                                         guint          icon_size,
+                                         GfIconSize     icon_size,
                                          guint          extra_text_width,
                                          guint          column_spacing,
                                          guint          row_spacing);


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