summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libmetacity/meta-theme-gtk.c144
1 files changed, 73 insertions, 71 deletions
diff --git a/libmetacity/meta-theme-gtk.c b/libmetacity/meta-theme-gtk.c
index 4b2d9565..f4ff47ef 100644
--- a/libmetacity/meta-theme-gtk.c
+++ b/libmetacity/meta-theme-gtk.c
@@ -38,79 +38,8 @@ meta_theme_gtk_load (MetaThemeImpl *impl,
const gchar *name,
GError **error)
{
- MetaFrameType type;
-
g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
- for (type = 0; type < META_FRAME_TYPE_LAST; type++)
- {
- MetaFrameStyleSet *style_set;
- MetaFrameStyle *style;
- gint i;
- gint j;
-
- style_set = meta_frame_style_set_new (NULL);
-
- style = meta_frame_style_new (NULL);
- style->layout = meta_frame_layout_new ();
-
- switch (type)
- {
- case META_FRAME_TYPE_NORMAL:
- case META_FRAME_TYPE_DIALOG:
- case META_FRAME_TYPE_MODAL_DIALOG:
- case META_FRAME_TYPE_ATTACHED:
- break;
-
- case META_FRAME_TYPE_MENU:
- case META_FRAME_TYPE_UTILITY:
- style->layout->title_scale = PANGO_SCALE_SMALL;
- break;
-
- case META_FRAME_TYPE_BORDER:
- style->layout->has_title = FALSE;
- style->layout->hide_buttons = TRUE;
- break;
-
- case META_FRAME_TYPE_LAST:
- default:
- g_assert_not_reached ();
- }
-
- for (i = 0; i < META_FRAME_FOCUS_LAST; i++)
- {
- for (j = 0; j < META_FRAME_RESIZE_LAST; j++)
- {
- meta_frame_style_ref (style);
- style_set->normal_styles[j][i] = style;
-
- meta_frame_style_ref (style);
- style_set->shaded_styles[j][i] = style;
- }
-
- meta_frame_style_ref (style);
- style_set->maximized_styles[i] = style;
-
- meta_frame_style_ref (style);
- style_set->tiled_left_styles[i] = style;
-
- meta_frame_style_ref (style);
- style_set->tiled_right_styles[i] = style;
-
- meta_frame_style_ref (style);
- style_set->maximized_and_shaded_styles[i] = style;
-
- meta_frame_style_ref (style);
- style_set->tiled_left_and_shaded_styles[i] = style;
-
- meta_frame_style_ref (style);
- style_set->tiled_right_and_shaded_styles[i] = style;
- }
-
- meta_frame_style_unref (style);
- meta_theme_impl_add_style_set (impl, type, style_set);
- }
-
return TRUE;
}
@@ -1033,4 +962,77 @@ meta_theme_gtk_class_init (MetaThemeGtkClass *gtk_class)
static void
meta_theme_gtk_init (MetaThemeGtk *gtk)
{
+ MetaThemeImpl *impl;
+ MetaFrameType type;
+
+ impl = META_THEME_IMPL (gtk);
+
+ for (type = 0; type < META_FRAME_TYPE_LAST; type++)
+ {
+ MetaFrameStyleSet *style_set;
+ MetaFrameStyle *style;
+ gint i;
+ gint j;
+
+ style_set = meta_frame_style_set_new (NULL);
+
+ style = meta_frame_style_new (NULL);
+ style->layout = meta_frame_layout_new ();
+
+ switch (type)
+ {
+ case META_FRAME_TYPE_NORMAL:
+ case META_FRAME_TYPE_DIALOG:
+ case META_FRAME_TYPE_MODAL_DIALOG:
+ case META_FRAME_TYPE_ATTACHED:
+ break;
+
+ case META_FRAME_TYPE_MENU:
+ case META_FRAME_TYPE_UTILITY:
+ style->layout->title_scale = PANGO_SCALE_SMALL;
+ break;
+
+ case META_FRAME_TYPE_BORDER:
+ style->layout->has_title = FALSE;
+ style->layout->hide_buttons = TRUE;
+ break;
+
+ case META_FRAME_TYPE_LAST:
+ default:
+ g_assert_not_reached ();
+ }
+
+ for (i = 0; i < META_FRAME_FOCUS_LAST; i++)
+ {
+ for (j = 0; j < META_FRAME_RESIZE_LAST; j++)
+ {
+ meta_frame_style_ref (style);
+ style_set->normal_styles[j][i] = style;
+
+ meta_frame_style_ref (style);
+ style_set->shaded_styles[j][i] = style;
+ }
+
+ meta_frame_style_ref (style);
+ style_set->maximized_styles[i] = style;
+
+ meta_frame_style_ref (style);
+ style_set->tiled_left_styles[i] = style;
+
+ meta_frame_style_ref (style);
+ style_set->tiled_right_styles[i] = style;
+
+ meta_frame_style_ref (style);
+ style_set->maximized_and_shaded_styles[i] = style;
+
+ meta_frame_style_ref (style);
+ style_set->tiled_left_and_shaded_styles[i] = style;
+
+ meta_frame_style_ref (style);
+ style_set->tiled_right_and_shaded_styles[i] = style;
+ }
+
+ meta_frame_style_unref (style);
+ meta_theme_impl_add_style_set (impl, type, style_set);
+ }
}