[gtk+] [headerbar] Do not hardcode title and subtititle style



commit 798c2b60eca928615e199e3ee47ff9ec71ae6185
Author: Paolo Borelli <pborelli gnome org>
Date:   Thu Aug 29 15:31:01 2013 +0200

    [headerbar] Do not hardcode title and subtititle style
    
    Let the css theme define them
    
    https://bugzilla.gnome.org/show_bug.cgi?id=707051

 gtk/gtkheaderbar.c |   33 +++++++--------------------------
 1 files changed, 7 insertions(+), 26 deletions(-)
---
diff --git a/gtk/gtkheaderbar.c b/gtk/gtkheaderbar.c
index 4c2d6e5..68f411a 100644
--- a/gtk/gtkheaderbar.c
+++ b/gtk/gtkheaderbar.c
@@ -93,28 +93,6 @@ G_DEFINE_TYPE_WITH_CODE (GtkHeaderBar, gtk_header_bar, GTK_TYPE_CONTAINER,
                                                 gtk_header_bar_buildable_init));
 
 static void
-boldify_label (GtkWidget *label)
-{
-  PangoAttrList *attrs;
-  attrs = pango_attr_list_new ();
-  pango_attr_list_insert (attrs, pango_attr_weight_new (PANGO_WEIGHT_BOLD));
-  gtk_label_set_attributes (GTK_LABEL (label), attrs);
-  pango_attr_list_unref (attrs);
-}
-
-static void
-smallify_label (GtkWidget *label)
-{
-  PangoAttrList *attrs;
-  attrs = pango_attr_list_new ();
-  pango_attr_list_insert (attrs, pango_attr_scale_new (PANGO_SCALE_SMALL));
-  gtk_label_set_attributes (GTK_LABEL (label), attrs);
-  pango_attr_list_unref (attrs);
-
-  gtk_style_context_add_class (gtk_widget_get_style_context (label), "dim-label");
-}
-
-static void
 get_css_padding_and_border (GtkWidget *widget,
                             GtkBorder *border)
 {
@@ -138,6 +116,7 @@ init_sizing_box (GtkHeaderBar *bar)
 {
   GtkHeaderBarPrivate *priv = gtk_header_bar_get_instance_private (bar);
   GtkWidget *w;
+  GtkStyleContext *context;
 
   /* We use this box to always request size for the two labels (title
    * and subtitle) as if they were always visible, but then allocate
@@ -147,14 +126,17 @@ init_sizing_box (GtkHeaderBar *bar)
   priv->label_sizing_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
 
   w = gtk_label_new (NULL);
-  boldify_label (w);
+  context = gtk_widget_get_style_context (w);
+  gtk_style_context_add_class (context, "title");
   gtk_box_pack_start (GTK_BOX (priv->label_sizing_box), w, FALSE, FALSE, 0);
   gtk_label_set_line_wrap (GTK_LABEL (w), FALSE);
   gtk_label_set_single_line_mode (GTK_LABEL (w), TRUE);
   gtk_label_set_ellipsize (GTK_LABEL (w), PANGO_ELLIPSIZE_END);
 
   w = gtk_label_new (NULL);
-  smallify_label (w);
+  context = gtk_widget_get_style_context (w);
+  gtk_style_context_add_class (context, "subtitle");
+  gtk_style_context_add_class (context, "dim-label");
   gtk_box_pack_start (GTK_BOX (priv->label_sizing_box), w, FALSE, FALSE, 0);
   gtk_label_set_line_wrap (GTK_LABEL (w), FALSE);
   gtk_label_set_single_line_mode (GTK_LABEL (w), TRUE);
@@ -181,7 +163,6 @@ _gtk_header_bar_create_title_box (const char *title,
   title_label = gtk_label_new (title);
   context = gtk_widget_get_style_context (title_label);
   gtk_style_context_add_class (context, "title");
-  boldify_label (title_label);
   gtk_label_set_line_wrap (GTK_LABEL (title_label), FALSE);
   gtk_label_set_single_line_mode (GTK_LABEL (title_label), TRUE);
   gtk_label_set_ellipsize (GTK_LABEL (title_label), PANGO_ELLIPSIZE_END);
@@ -191,7 +172,7 @@ _gtk_header_bar_create_title_box (const char *title,
   subtitle_label = gtk_label_new (subtitle);
   context = gtk_widget_get_style_context (subtitle_label);
   gtk_style_context_add_class (context, "subtitle");
-  smallify_label (subtitle_label);
+  gtk_style_context_add_class (context, "dim-label");
   gtk_label_set_line_wrap (GTK_LABEL (subtitle_label), FALSE);
   gtk_label_set_single_line_mode (GTK_LABEL (subtitle_label), TRUE);
   gtk_label_set_ellipsize (GTK_LABEL (subtitle_label), PANGO_ELLIPSIZE_END);


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