[maemo-commits] [maemo-commits] r18127 - in projects/haf/trunk/gtk+: . gtk

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Tue Apr 21 17:53:05 EEST 2009
Author: kris
Date: 2009-04-21 17:52:55 +0300 (Tue, 21 Apr 2009)
New Revision: 18127

Modified:
   projects/haf/trunk/gtk+/ChangeLog
   projects/haf/trunk/gtk+/gtk/gtkiconview.c
   projects/haf/trunk/gtk+/gtk/gtktreeview.c
Log:
2009-04-21  Kristian Rietveld  <kris at imendio.com>

	Addresses: NB#108333 - Patch for GtkFrame to support new group title
	design

	* gtk/gtktreeview.c (gtk_tree_view_style_set),
	(hildon_tree_view_set_row_header_func): split out row header layout
	setup code into hildon_tree_view_setup_row_header_layout,
	(hildon_tree_view_setup_row_header_layout): update according to
	updated layout specification.

	* gtk/gtkiconview.c (gtk_icon_view_style_set),
	(hildon_icon_view_set_row_header_func): likewise,
	(hildon_icon_view_setup_row_header_layout): likewise.



Modified: projects/haf/trunk/gtk+/ChangeLog
===================================================================
--- projects/haf/trunk/gtk+/ChangeLog	2009-04-21 14:24:54 UTC (rev 18126)
+++ projects/haf/trunk/gtk+/ChangeLog	2009-04-21 14:52:55 UTC (rev 18127)
@@ -1,3 +1,18 @@
+2009-04-21  Kristian Rietveld  <kris at imendio.com>
+
+	Addresses: NB#108333 - Patch for GtkFrame to support new group title
+	design
+
+	* gtk/gtktreeview.c (gtk_tree_view_style_set),
+	(hildon_tree_view_set_row_header_func): split out row header layout
+	setup code into hildon_tree_view_setup_row_header_layout,
+	(hildon_tree_view_setup_row_header_layout): update according to
+	updated layout specification.
+
+	* gtk/gtkiconview.c (gtk_icon_view_style_set),
+	(hildon_icon_view_set_row_header_func): likewise,
+	(hildon_icon_view_setup_row_header_layout): likewise.
+
 2009-04-21  Michael Natterer  <mitch at imendio.com>
 
 	Addresses: NB#102653 - Bad performance of GtkViewport in

Modified: projects/haf/trunk/gtk+/gtk/gtkiconview.c
===================================================================
--- projects/haf/trunk/gtk+/gtk/gtkiconview.c	2009-04-21 14:24:54 UTC (rev 18126)
+++ projects/haf/trunk/gtk+/gtk/gtkiconview.c	2009-04-21 14:52:55 UTC (rev 18127)
@@ -490,6 +490,7 @@
 #ifdef MAEMO_CHANGES
 static void     free_queued_activate_item                (GtkIconView   *icon_view);
 static void     free_queued_select_item                  (GtkIconView   *icon_view);
+static void     hildon_icon_view_setup_row_header_layout (GtkIconView   *icon_view);
 #endif /* MAEMO_CHANGES */
 
 /* GtkBuildable */
@@ -1374,20 +1375,8 @@
   hildon_icon_view_set_hildon_ui_mode (icon_view, icon_view->priv->hildon_ui_mode);
 
   if (icon_view->priv->row_header_layout)
-    {
-      /* Update font of the row header */
-      GtkStyle *font_style;
+    hildon_icon_view_setup_row_header_layout (icon_view);
 
-      font_style = gtk_rc_get_style_by_paths (gtk_settings_get_default (),
-                                              "SmallSystemFont",
-                                              NULL, G_TYPE_NONE);
-      if (font_style)
-        {
-          pango_layout_set_font_description (icon_view->priv->row_header_layout,
-                                             font_style->font_desc);
-        }
-    }
-
   if (icon_view->priv->tickmark_icon)
     g_object_unref (icon_view->priv->tickmark_icon);
 
@@ -8101,6 +8090,42 @@
   return icon_view->priv->row_header_func;
 }
 
+static void
+hildon_icon_view_setup_row_header_layout (GtkIconView *icon_view)
+{
+  GdkColor font_color;
+  GtkStyle *font_style;
+  GtkWidget *widget = GTK_WIDGET (icon_view);
+
+  font_style = gtk_rc_get_style_by_paths (gtk_settings_get_default (),
+                                          "EmpSmallSystemFont",
+                                          NULL, G_TYPE_NONE);
+  if (font_style)
+    {
+      pango_layout_set_font_description (icon_view->priv->row_header_layout,
+                                         font_style->font_desc);
+    }
+
+  if (gtk_style_lookup_color (widget->style, "SecondaryTextColor", &font_color))
+    {
+      PangoAttrList *list;
+      PangoAttribute *attr;
+
+      list = pango_attr_list_new ();
+      attr = pango_attr_foreground_new (font_color.red,
+                                        font_color.green,
+                                        font_color.blue);
+      attr->start_index = 0;
+      attr->end_index = G_MAXINT;
+      pango_attr_list_insert (list, attr);
+
+      pango_layout_set_attributes (icon_view->priv->row_header_layout,
+                                   list);
+
+      pango_attr_list_unref (list);
+    }
+}
+
 void
 hildon_icon_view_set_row_header_func (GtkIconView                 *icon_view,
                                       HildonIconViewRowHeaderFunc  func,
@@ -8118,19 +8143,10 @@
 
   if (func && !icon_view->priv->row_header_layout)
     {
-      GtkStyle *font_style;
-
       icon_view->priv->row_header_layout =
           gtk_widget_create_pango_layout (GTK_WIDGET (icon_view), "");
 
-      font_style = gtk_rc_get_style_by_paths (gtk_settings_get_default (),
-                                              "SmallSystemFont",
-                                              NULL, G_TYPE_NONE);
-      if (font_style)
-        {
-          pango_layout_set_font_description (icon_view->priv->row_header_layout,
-                                             font_style->font_desc);
-        }
+      hildon_icon_view_setup_row_header_layout (icon_view);
     }
   else if (!func && icon_view->priv->row_header_layout)
     {

Modified: projects/haf/trunk/gtk+/gtk/gtktreeview.c
===================================================================
--- projects/haf/trunk/gtk+/gtk/gtktreeview.c	2009-04-21 14:24:54 UTC (rev 18126)
+++ projects/haf/trunk/gtk+/gtk/gtktreeview.c	2009-04-21 14:52:55 UTC (rev 18127)
@@ -503,6 +503,7 @@
 static void     free_queued_actions              (GtkTreeView  *tree_view);
 
 static void     hildon_tree_view_set_action_area_height (GtkTreeView *tree_view);
+static void     hildon_tree_view_setup_row_header_layout (GtkTreeView *tree_view);
 #endif /* MAEMO_CHANGES */
 
 static guint tree_view_signals [LAST_SIGNAL] = { 0 };
@@ -9192,20 +9193,8 @@
   hildon_tree_view_set_hildon_ui_mode (tree_view, tree_view->priv->hildon_ui_mode);
 
   if (tree_view->priv->row_header_layout)
-    {
-      /* Update font of the row header */
-      GtkStyle *font_style;
-
-      font_style = gtk_rc_get_style_by_paths (gtk_settings_get_default (),
-                                              "SmallSystemFont",
-                                              NULL, G_TYPE_NONE);
-      if (font_style)
-        {
-          pango_layout_set_font_description (tree_view->priv->row_header_layout,
-                                             font_style->font_desc);
-        }
-    }
-
+    hildon_tree_view_setup_row_header_layout (tree_view);
+      
   if (tree_view->priv->tickmark_icon)
     g_object_unref (tree_view->priv->tickmark_icon);
 
@@ -16761,6 +16750,42 @@
   return tree_view->priv->row_header_func;
 }
 
+static void
+hildon_tree_view_setup_row_header_layout (GtkTreeView *tree_view)
+{
+  GdkColor font_color;
+  GtkStyle *font_style;
+  GtkWidget *widget = GTK_WIDGET (tree_view);
+
+  font_style = gtk_rc_get_style_by_paths (gtk_settings_get_default (),
+                                          "EmpSmallSystemFont",
+                                          NULL, G_TYPE_NONE);
+  if (font_style)
+    {
+      pango_layout_set_font_description (tree_view->priv->row_header_layout,
+                                         font_style->font_desc);
+    }
+
+  if (gtk_style_lookup_color (widget->style, "SecondaryTextColor", &font_color))
+    {
+      PangoAttrList *list;
+      PangoAttribute *attr;
+
+      list = pango_attr_list_new ();
+      attr = pango_attr_foreground_new (font_color.red,
+                                        font_color.green,
+                                        font_color.blue);
+      attr->start_index = 0;
+      attr->end_index = G_MAXINT;
+      pango_attr_list_insert (list, attr);
+
+      pango_layout_set_attributes (tree_view->priv->row_header_layout,
+                                   list);
+
+      pango_attr_list_unref (list);
+    }
+}
+
 void
 hildon_tree_view_set_row_header_func (GtkTreeView                 *tree_view,
                                       HildonTreeViewRowHeaderFunc  func,
@@ -16778,19 +16803,10 @@
 
   if (func && !tree_view->priv->row_header_layout)
     {
-      GtkStyle *font_style;
-
       tree_view->priv->row_header_layout =
           gtk_widget_create_pango_layout (GTK_WIDGET (tree_view), "");
 
-      font_style = gtk_rc_get_style_by_paths (gtk_settings_get_default (),
-                                              "SmallSystemFont",
-                                              NULL, G_TYPE_NONE);
-      if (font_style)
-        {
-          pango_layout_set_font_description (tree_view->priv->row_header_layout,
-                                             font_style->font_desc);
-        }
+      hildon_tree_view_setup_row_header_layout (tree_view);
     }
   else if (!func && tree_view->priv->row_header_layout)
     {


More information about the maemo-commits mailing list