[metacity] theme: move frame_layouts to MetaThemeMetacity



commit 5cb8141c260610be40985b115505ea603a905d49
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date:   Sun Jan 31 02:58:59 2016 +0200

    theme: move frame_layouts to MetaThemeMetacity

 libmetacity/meta-theme-metacity.c |   22 +++++++++++++
 libmetacity/meta-theme-metacity.h |   60 +++++++++++++++++++++----------------
 src/ui/theme-parser.c             |    9 ++---
 src/ui/theme-private.h            |    6 ----
 src/ui/theme.c                    |   23 --------------
 5 files changed, 60 insertions(+), 60 deletions(-)
---
diff --git a/libmetacity/meta-theme-metacity.c b/libmetacity/meta-theme-metacity.c
index c6eebb6..6b2dbb5 100644
--- a/libmetacity/meta-theme-metacity.c
+++ b/libmetacity/meta-theme-metacity.c
@@ -21,6 +21,7 @@
 #include <glib/gi18n-lib.h>
 
 #include "meta-draw-op.h"
+#include "meta-frame-layout.h"
 #include "meta-theme.h"
 #include "meta-theme-metacity.h"
 
@@ -33,6 +34,7 @@ struct _MetaThemeMetacity
   GHashTable    *colors;
 
   GHashTable    *draw_op_lists;
+  GHashTable    *frame_layouts;
 };
 
 G_DEFINE_TYPE (MetaThemeMetacity, meta_theme_metacity, META_TYPE_THEME_IMPL)
@@ -55,6 +57,7 @@ meta_theme_metacity_dispose (GObject *object)
   g_clear_pointer (&metacity->colors, g_hash_table_destroy);
 
   g_clear_pointer (&metacity->draw_op_lists, g_hash_table_destroy);
+  g_clear_pointer (&metacity->frame_layouts, g_hash_table_destroy);
 
   G_OBJECT_CLASS (meta_theme_metacity_parent_class)->dispose (object);
 }
@@ -74,6 +77,9 @@ meta_theme_metacity_init (MetaThemeMetacity *metacity)
 {
   metacity->draw_op_lists = g_hash_table_new_full (g_str_hash, g_str_equal, g_free,
                                                    (GDestroyNotify) meta_draw_op_list_unref);
+
+  metacity->frame_layouts = g_hash_table_new_full (g_str_hash, g_str_equal, g_free,
+                                                   (GDestroyNotify) meta_frame_layout_unref);
 }
 
 gboolean
@@ -264,3 +270,19 @@ meta_theme_metacity_insert_draw_op_list (MetaThemeMetacity *metacity,
   meta_draw_op_list_ref (op_list);
   g_hash_table_replace (metacity->draw_op_lists, g_strdup (name), op_list);
 }
+
+MetaFrameLayout *
+meta_theme_metacity_lookup_layout (MetaThemeMetacity *metacity,
+                                   const gchar       *name)
+{
+  return g_hash_table_lookup (metacity->frame_layouts, name);
+}
+
+void
+meta_theme_metacity_insert_layout (MetaThemeMetacity *metacity,
+                                   const gchar       *name,
+                                   MetaFrameLayout   *layout)
+{
+  meta_frame_layout_ref (layout);
+  g_hash_table_replace (metacity->frame_layouts, g_strdup (name), layout);
+}
diff --git a/libmetacity/meta-theme-metacity.h b/libmetacity/meta-theme-metacity.h
index 9e27a8f..5d7a0b9 100644
--- a/libmetacity/meta-theme-metacity.h
+++ b/libmetacity/meta-theme-metacity.h
@@ -24,44 +24,52 @@
 G_BEGIN_DECLS
 
 typedef struct _MetaDrawOpList MetaDrawOpList;
+typedef struct _MetaFrameLayout MetaFrameLayout;
 
 #define META_TYPE_THEME_METACITY meta_theme_metacity_get_type ()
 G_DECLARE_FINAL_TYPE (MetaThemeMetacity, meta_theme_metacity,
                       META, THEME_METACITY, MetaThemeImpl)
 
-gboolean        meta_theme_metacity_define_int          (MetaThemeMetacity  *metacity,
-                                                         const gchar        *name,
-                                                         gint                value,
-                                                         GError            **error);
+gboolean         meta_theme_metacity_define_int          (MetaThemeMetacity  *metacity,
+                                                          const gchar        *name,
+                                                          gint                value,
+                                                          GError            **error);
 
-gboolean        meta_theme_metacity_lookup_int          (MetaThemeMetacity  *metacity,
-                                                         const gchar        *name,
-                                                         gint               *value);
+gboolean         meta_theme_metacity_lookup_int          (MetaThemeMetacity  *metacity,
+                                                          const gchar        *name,
+                                                          gint               *value);
 
-gboolean        meta_theme_metacity_define_float        (MetaThemeMetacity  *metacity,
-                                                         const gchar        *name,
-                                                         gdouble             value,
-                                                         GError            **error);
+gboolean         meta_theme_metacity_define_float        (MetaThemeMetacity  *metacity,
+                                                          const gchar        *name,
+                                                          gdouble             value,
+                                                          GError            **error);
 
-gboolean        meta_theme_metacity_lookup_float        (MetaThemeMetacity  *metacity,
-                                                         const gchar        *name,
-                                                         gdouble            *value);
+gboolean         meta_theme_metacity_lookup_float        (MetaThemeMetacity  *metacity,
+                                                          const gchar        *name,
+                                                          gdouble            *value);
 
-gboolean        meta_theme_metacity_define_color        (MetaThemeMetacity  *metacity,
-                                                         const gchar        *name,
-                                                         const gchar        *value,
-                                                         GError            **error);
+gboolean         meta_theme_metacity_define_color        (MetaThemeMetacity  *metacity,
+                                                          const gchar        *name,
+                                                          const gchar        *value,
+                                                          GError            **error);
 
-gboolean        meta_theme_metacity_lookup_color        (MetaThemeMetacity  *metacity,
-                                                         const gchar        *name,
-                                                         gchar             **value);
+gboolean         meta_theme_metacity_lookup_color        (MetaThemeMetacity  *metacity,
+                                                          const gchar        *name,
+                                                          gchar             **value);
 
-MetaDrawOpList *meta_theme_metacity_lookup_draw_op_list (MetaThemeMetacity  *metacity,
-                                                         const gchar        *name);
+MetaDrawOpList  *meta_theme_metacity_lookup_draw_op_list (MetaThemeMetacity  *metacity,
+                                                          const gchar        *name);
 
-void            meta_theme_metacity_insert_draw_op_list (MetaThemeMetacity  *metacity,
-                                                         const gchar        *name,
-                                                         MetaDrawOpList     *op_list);
+void             meta_theme_metacity_insert_draw_op_list (MetaThemeMetacity  *metacity,
+                                                          const gchar        *name,
+                                                          MetaDrawOpList     *op_list);
+
+MetaFrameLayout *meta_theme_metacity_lookup_layout       (MetaThemeMetacity  *metacity,
+                                                          const gchar        *name);
+
+void             meta_theme_metacity_insert_layout       (MetaThemeMetacity  *metacity,
+                                                          const gchar        *name,
+                                                          MetaFrameLayout    *layout);
 
 G_END_DECLS
 
diff --git a/src/ui/theme-parser.c b/src/ui/theme-parser.c
index a16159d..332a856 100644
--- a/src/ui/theme-parser.c
+++ b/src/ui/theme-parser.c
@@ -916,7 +916,7 @@ parse_toplevel_element (GMarkupParseContext  *context,
       if (title_scale && !parse_title_scale (title_scale, &title_scale_val, context, error))
         return;
 
-      if (meta_theme_lookup_layout (info->theme, name))
+      if (meta_theme_metacity_lookup_layout (metacity, name))
         {
           set_error (error, context, G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE,
                      _("<%s> name \"%s\" used a second time"),
@@ -927,7 +927,7 @@ parse_toplevel_element (GMarkupParseContext  *context,
       parent_layout = NULL;
       if (parent)
         {
-          parent_layout = meta_theme_lookup_layout (info->theme, parent);
+          parent_layout = meta_theme_metacity_lookup_layout (metacity, parent);
           if (parent_layout == NULL)
             {
               set_error (error, context, G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE,
@@ -965,7 +965,7 @@ parse_toplevel_element (GMarkupParseContext  *context,
       if (rounded_bottom_right)
         info->layout->bottom_right_corner_rounded_radius = rounded_bottom_right_val;
 
-      meta_theme_insert_layout (info->theme, name, info->layout);
+      meta_theme_metacity_insert_layout (metacity, name, info->layout);
 
       push_state (info, STATE_FRAME_GEOMETRY);
     }
@@ -1037,7 +1037,7 @@ parse_toplevel_element (GMarkupParseContext  *context,
       layout = NULL;
       if (geometry)
         {
-          layout = meta_theme_lookup_layout (info->theme, geometry);
+          layout = meta_theme_metacity_lookup_layout (metacity, geometry);
           if (layout == NULL)
             {
               set_error (error, context, G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE,
@@ -4152,7 +4152,6 @@ clear_theme (MetaTheme *theme)
     }
 
   g_hash_table_remove_all (theme->images_by_filename);
-  g_hash_table_remove_all (theme->layouts_by_name);
   g_hash_table_remove_all (theme->styles_by_name);
   g_hash_table_remove_all (theme->style_sets_by_name);
 
diff --git a/src/ui/theme-private.h b/src/ui/theme-private.h
index 3493b48..2743c9d 100644
--- a/src/ui/theme-private.h
+++ b/src/ui/theme-private.h
@@ -218,7 +218,6 @@ struct _MetaTheme
   PangoFontDescription *titlebar_font;
 
   GHashTable *images_by_filename;
-  GHashTable *layouts_by_name;
   GHashTable *styles_by_name;
   GHashTable *style_sets_by_name;
 
@@ -252,11 +251,6 @@ MetaFrameStyle        *meta_theme_get_frame_style              (MetaTheme
 PangoFontDescription  *meta_style_info_create_font_desc        (MetaTheme                   *theme,
                                                                 MetaStyleInfo               *style_info);
 
-MetaFrameLayout       *meta_theme_lookup_layout                (MetaTheme                   *theme,
-                                                                const char                  *name);
-void                   meta_theme_insert_layout                (MetaTheme                   *theme,
-                                                                const char                  *name,
-                                                                MetaFrameLayout             *layout);
 MetaFrameStyle        *meta_theme_lookup_style                 (MetaTheme                   *theme,
                                                                 const char                  *name);
 void                   meta_theme_insert_style                 (MetaTheme                   *theme,
diff --git a/src/ui/theme.c b/src/ui/theme.c
index 77c12c5..a6b2676 100644
--- a/src/ui/theme.c
+++ b/src/ui/theme.c
@@ -2129,12 +2129,6 @@ meta_theme_new (MetaThemeType type)
                            g_free,
                            (GDestroyNotify) g_object_unref);
 
-  theme->layouts_by_name =
-    g_hash_table_new_full (g_str_hash,
-                           g_str_equal,
-                           g_free,
-                           (GDestroyNotify) meta_frame_layout_unref);
-
   theme->styles_by_name =
     g_hash_table_new_full (g_str_hash,
                            g_str_equal,
@@ -2177,7 +2171,6 @@ meta_theme_free (MetaTheme *theme)
     pango_font_description_free (theme->titlebar_font);
 
   g_hash_table_destroy (theme->images_by_filename);
-  g_hash_table_destroy (theme->layouts_by_name);
   g_hash_table_destroy (theme->styles_by_name);
   g_hash_table_destroy (theme->style_sets_by_name);
 
@@ -2467,22 +2460,6 @@ meta_theme_calc_geometry (MetaTheme              *theme,
                                    theme);
 }
 
-MetaFrameLayout*
-meta_theme_lookup_layout (MetaTheme         *theme,
-                          const char        *name)
-{
-  return g_hash_table_lookup (theme->layouts_by_name, name);
-}
-
-void
-meta_theme_insert_layout (MetaTheme         *theme,
-                          const char        *name,
-                          MetaFrameLayout   *layout)
-{
-  meta_frame_layout_ref (layout);
-  g_hash_table_replace (theme->layouts_by_name, g_strdup (name), layout);
-}
-
 MetaFrameStyle*
 meta_theme_lookup_style (MetaTheme         *theme,
                          const char        *name)


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