commit 39a796df8d5e1f232aa2a6d5497e147f8170e504
Author: Javier Kohen <[email protected]>
Date: Sat Apr 18 15:02:06 2009 +0200
Expand column width manually.
src/display_tracks.c | 32 ++++++++++++++++++++++++++++++++
1 files changed, 32 insertions(+), 0 deletions(-)
---
diff --git a/src/display_tracks.c b/src/display_tracks.c
index 54f3f5d..555b31a 100644
--- a/src/display_tracks.c
+++ b/src/display_tracks.c
@@ -32,6 +32,7 @@
#include <gdk/gdkkeysyms.h>
#include <gtk/gtk.h>
+#include <pango/pango.h>
#include <limits.h>
#include <stdio.h>
#include <stdlib.h>
@@ -1104,6 +1105,35 @@ tm_cell_edited (GtkCellRendererText *renderer,
g_list_free(row_list);
}
+static void update_text_column_layout (GtkTreeViewColumn *tree_column,
+ GtkCellRenderer *renderer,
+ const gchar* text)
+{
+ GtkWidget* tree_widget;
+ PangoLayout* layout;
+ guint xpad;
+ int col_width;
+ int new_width;
+
+ tree_widget = gtk_tree_view_column_get_tree_view (tree_column);
+ if (!tree_widget) return;
+
+ layout = gtk_widget_create_pango_layout (tree_widget, text);
+
+ /* Expand the width, if necessary. This is done manually
+ because the column is set to fixed width for performance
+ reasons. */
+ col_width = gtk_tree_view_column_get_fixed_width (tree_column);
+ g_object_get (G_OBJECT (renderer), "xpad", &xpad, NULL);
+ pango_layout_get_pixel_size (layout, &new_width, NULL);
+ new_width += xpad;
+ if (col_width < new_width)
+ {
+ gtk_tree_view_column_set_fixed_width (tree_column, new_width);
+ }
+
+ g_object_unref (G_OBJECT (layout));
+}
/* The track data is stored in a separate list (static GList *tracks)
and only pointers to the corresponding Track structure are placed
@@ -1137,6 +1167,8 @@ static void tm_cell_data_text_func (GtkTreeViewColumn
*tree_column,
g_object_set (G_OBJECT (renderer), "text", text, NULL);
+ update_text_column_layout (tree_column, renderer, text);
+
g_free (text);
}
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now. http://p.sf.net/sfu/bobj-july
_______________________________________________
gtkpod-cvs2 mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gtkpod-cvs2