[mutter/wip/cb2eb3: 42/55] prefs: Remove titlebar font and use-system-font preferences



commit ecac8c9d0956dd8e411c9b7ee5f075be3f667f77
Author: Jasper St. Pierre <jstpierre mecheye net>
Date:   Thu May 3 23:21:37 2012 -0400

    prefs: Remove titlebar font and use-system-font preferences
    
    Specify them in CSS instead.

 src/core/prefs.c |   70 ----------------------------------------------
 src/meta/prefs.h |    1 -
 src/ui/frames.c  |   81 ------------------------------------------------------
 3 files changed, 0 insertions(+), 152 deletions(-)
---
diff --git a/src/core/prefs.c b/src/core/prefs.c
index 3f3050d..3ae6d00 100644
--- a/src/core/prefs.c
+++ b/src/core/prefs.c
@@ -42,7 +42,6 @@
  * not given a name here, because the purpose of the unified handlers
  * is that keys should be referred to exactly once.
  */
-#define KEY_TITLEBAR_FONT "titlebar-font"
 #define KEY_NUM_WORKSPACES "num-workspaces"
 #define KEY_WORKSPACE_NAMES "workspace-names"
 
@@ -69,8 +68,6 @@ static guint changed_idle;
 static GList *listeners = NULL;
 static GHashTable *settings_schemas;
 
-static gboolean use_system_font = FALSE;
-static PangoFontDescription *titlebar_font = NULL;
 static MetaVirtualModifier mouse_button_mods = Mod1Mask;
 static GDesktopFocusMode focus_mode = G_DESKTOP_FOCUS_MODE_CLICK;
 static GDesktopFocusNewWindows focus_new_windows = G_DESKTOP_FOCUS_NEW_WINDOWS_SMART;
@@ -127,7 +124,6 @@ static void queue_changed (MetaPreference  pref);
 
 static void maybe_give_disable_workarounds_warning (void);
 
-static gboolean titlebar_handler (GVariant*, gpointer*, gpointer);
 static gboolean theme_name_handler (GVariant*, gpointer*, gpointer);
 static gboolean mouse_button_mods_handler (GVariant*, gpointer*, gpointer);
 static gboolean button_layout_handler (GVariant*, gpointer*, gpointer);
@@ -267,13 +263,6 @@ static MetaBoolPreference preferences_bool[] =
       &raise_on_click,
     },
     {
-      { "titlebar-uses-system-font",
-        SCHEMA_GENERAL,
-        META_PREF_TITLEBAR_FONT, /* note! shares a pref */
-      },
-      &use_system_font,
-    },
-    {
       { "dynamic-workspaces",
         SCHEMA_MUTTER,
         META_PREF_DYNAMIC_WORKSPACES,
@@ -379,14 +368,6 @@ static MetaStringPreference preferences_string[] =
       NULL,
     },
     {
-      { KEY_TITLEBAR_FONT,
-        SCHEMA_GENERAL,
-        META_PREF_TITLEBAR_FONT,
-      },
-      titlebar_handler,
-      NULL,
-    },
-    {
       { "button-layout",
         SCHEMA_GENERAL,
         META_PREF_BUTTON_LAYOUT,
@@ -1123,45 +1104,6 @@ meta_prefs_get_cursor_size (void)
 /****************************************************************************/
 
 static gboolean
-titlebar_handler (GVariant *value,
-                  gpointer *result,
-                  gpointer data)
-{
-  PangoFontDescription *desc;
-  const gchar *string_value;
-
-  *result = NULL; /* ignored */
-  string_value = g_variant_get_string (value, NULL);
-  desc = pango_font_description_from_string (string_value);
-
-  if (desc == NULL)
-    {
-      meta_warning (_("Could not parse font description "
-                      "\"%s\" from GSettings key %s\n"),
-                    string_value ? string_value : "(null)",
-                    KEY_TITLEBAR_FONT);
-      return FALSE;
-    }
-
-  /* Is the new description the same as the old? */
-  if (titlebar_font &&
-      pango_font_description_equal (desc, titlebar_font))
-    {
-      pango_font_description_free (desc);
-    }
-  else
-    {
-      if (titlebar_font)
-        pango_font_description_free (titlebar_font);
-
-      titlebar_font = desc;
-      queue_changed (META_PREF_TITLEBAR_FONT);
-    }
-
-  return TRUE;
-}
-
-static gboolean
 theme_name_handler (GVariant *value,
                     gpointer *result,
                     gpointer  data)
@@ -1478,15 +1420,6 @@ button_layout_handler (GVariant *value,
   return TRUE;
 }
 
-const PangoFontDescription*
-meta_prefs_get_titlebar_font (void)
-{
-  if (use_system_font)
-    return NULL;
-  else
-    return titlebar_font;
-}
-
 int
 meta_prefs_get_num_workspaces (void)
 {
@@ -1538,9 +1471,6 @@ meta_preference_to_string (MetaPreference pref)
     case META_PREF_THEME:
       return "THEME";
 
-    case META_PREF_TITLEBAR_FONT:
-      return "TITLEBAR_FONT";
-
     case META_PREF_NUM_WORKSPACES:
       return "NUM_WORKSPACES";
 
diff --git a/src/meta/prefs.h b/src/meta/prefs.h
index 73be18f..2f76cd9 100644
--- a/src/meta/prefs.h
+++ b/src/meta/prefs.h
@@ -46,7 +46,6 @@ typedef enum
   META_PREF_AUTO_RAISE,
   META_PREF_AUTO_RAISE_DELAY,
   META_PREF_THEME,
-  META_PREF_TITLEBAR_FONT,
   META_PREF_NUM_WORKSPACES,
   META_PREF_DYNAMIC_WORKSPACES,
   META_PREF_APPLICATION_BASED,
diff --git a/src/ui/frames.c b/src/ui/frames.c
index c389f86..fd0d745 100644
--- a/src/ui/frames.c
+++ b/src/ui/frames.c
@@ -86,7 +86,6 @@ static void meta_frames_ensure_layout (MetaFrames      *frames,
 static MetaUIFrame* meta_frames_lookup_window (MetaFrames *frames,
                                                Window      xwindow);
 
-static void meta_frames_font_changed          (MetaFrames *frames);
 static void meta_frames_button_layout_changed (MetaFrames *frames);
 
 
@@ -173,9 +172,6 @@ prefs_changed_callback (MetaPreference pref,
 {
   switch (pref)
     {
-    case META_PREF_TITLEBAR_FONT:
-      meta_frames_font_changed (META_FRAMES (data));
-      break;
     case META_PREF_BUTTON_LAYOUT:
       meta_frames_button_layout_changed (META_FRAMES (data));
       break;
@@ -251,45 +247,6 @@ meta_frames_finalize (GObject *object)
 }
 
 static void
-queue_recalc_func (gpointer key, gpointer value, gpointer data)
-{
-  MetaUIFrame *frame;
-  MetaFrames *frames;
-
-  frames = META_FRAMES (data);
-  frame = value;
-  
-  invalidate_whole_window (frames, frame);
-  meta_core_queue_frame_resize (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()),
-                                frame->xwindow);
-  if (frame->layout)
-    {
-      /* save title to recreate layout */
-      g_free (frame->title);
-      
-      frame->title = g_strdup (pango_layout_get_text (frame->layout));
-
-      g_object_unref (G_OBJECT (frame->layout));
-      frame->layout = NULL;
-    }
-}
-
-static void
-meta_frames_font_changed (MetaFrames *frames)
-{
-  if (g_hash_table_size (frames->text_heights) > 0)
-    {
-      g_hash_table_destroy (frames->text_heights);
-      frames->text_heights = g_hash_table_new (NULL, NULL);
-    }
-  
-  /* Queue a draw/resize on all frames */
-  g_hash_table_foreach (frames->frames,
-                        queue_recalc_func, frames);
-
-}
-
-static void
 queue_draw_func (gpointer key, gpointer value, gpointer data)
 {
   MetaUIFrame *frame;
@@ -327,8 +284,6 @@ meta_frames_style_updated  (GtkWidget *widget)
 
   frames = META_FRAMES (widget);
 
-  meta_frames_font_changed (frames);
-
   g_hash_table_foreach (frames->frames,
                         reattach_style_func, frames);
 
@@ -354,46 +309,10 @@ meta_frames_ensure_layout (MetaFrames  *frames,
   
   if (frame->layout == NULL)
     {
-      gpointer key, value;
-      PangoFontDescription *font_desc;
-      double scale;
-      int size;
-      
-      scale = meta_theme_get_title_scale (frame->tv->theme,
-                                          type,
-                                          flags);
-
       frame->layout = gtk_widget_create_pango_layout (widget, frame->title);
 
       pango_layout_set_ellipsize (frame->layout, PANGO_ELLIPSIZE_END);
       pango_layout_set_auto_dir (frame->layout, FALSE);
-      
-      font_desc = meta_gtk_widget_get_font_desc (widget, scale,
-                                                 meta_prefs_get_titlebar_font ());
-
-      size = pango_font_description_get_size (font_desc);
-
-      if (g_hash_table_lookup_extended (frames->text_heights,
-                                        GINT_TO_POINTER (size),
-                                        &key, &value))
-        {
-          frame->text_height = GPOINTER_TO_INT (value);
-        }
-      else
-        {
-          frame->text_height =
-            meta_pango_font_desc_get_text_height (font_desc,
-                                                  gtk_widget_get_pango_context (widget));
-
-          g_hash_table_replace (frames->text_heights,
-                                GINT_TO_POINTER (size),
-                                GINT_TO_POINTER (frame->text_height));
-        }
-      
-      pango_layout_set_font_description (frame->layout, 
-                                         font_desc);
-      
-      pango_font_description_free (font_desc);
 
       /* Save some RAM */
       g_free (frame->title);


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