diff options
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/gtkui/ddblistview.c | 5 | ||||
-rw-r--r-- | plugins/gtkui/drawing.h | 3 | ||||
-rw-r--r-- | plugins/gtkui/gdkdrawing.c | 13 | ||||
-rw-r--r-- | plugins/gtkui/plcommon.c | 4 |
4 files changed, 21 insertions, 4 deletions
diff --git a/plugins/gtkui/ddblistview.c b/plugins/gtkui/ddblistview.c index 055fa9b4..c700b407 100644 --- a/plugins/gtkui/ddblistview.c +++ b/plugins/gtkui/ddblistview.c @@ -282,8 +282,9 @@ static void ddb_listview_init(DdbListview *listview) { // init instance - create all subwidgets, and insert into table + draw_init_font (GTK_WIDGET(listview)->style); - listview->rowheight = draw_get_font_size () + 12; + listview->rowheight = draw_get_listview_rowheight (); listview->col_movepos = -1; listview->drag_motion_y = -1; @@ -534,7 +535,7 @@ ddb_listview_list_configure_event (GtkWidget *widget, DdbListview *ps = DDB_LISTVIEW (g_object_get_data (G_OBJECT (widget), "owner")); draw_init_font (widget->style); - int height = draw_get_font_size () + 12; + int height = draw_get_listview_rowheight (); if (height != ps->rowheight) { ps->rowheight = height; ddb_listview_build_groups (ps); diff --git a/plugins/gtkui/drawing.h b/plugins/gtkui/drawing.h index 8200dcbd..953a9847 100644 --- a/plugins/gtkui/drawing.h +++ b/plugins/gtkui/drawing.h @@ -126,4 +126,7 @@ gtkui_override_bar_colors (void); int gtkui_override_tabstrip_colors (void); +int +draw_get_listview_rowheight (void); + #endif // __DRAWING_H diff --git a/plugins/gtkui/gdkdrawing.c b/plugins/gtkui/gdkdrawing.c index 255b01de..1893cdd1 100644 --- a/plugins/gtkui/gdkdrawing.c +++ b/plugins/gtkui/gdkdrawing.c @@ -368,3 +368,16 @@ void gtkui_get_listview_cursor_color (GdkColor *clr) { memcpy (clr, >kui_listview_cursor_color, sizeof (GdkColor)); } + +int +draw_get_listview_rowheight (void) { + PangoFontDescription *font_desc = font_style->font_desc; + PangoFontMetrics *metrics = pango_context_get_metrics (pangoctx, + font_desc, + pango_context_get_language (pangoctx)); + int row_height = (pango_font_metrics_get_ascent (metrics) + + pango_font_metrics_get_descent (metrics)); + pango_font_metrics_unref (metrics); + return PANGO_PIXELS(row_height)+6; +} + diff --git a/plugins/gtkui/plcommon.c b/plugins/gtkui/plcommon.c index ec36df89..279777c3 100644 --- a/plugins/gtkui/plcommon.c +++ b/plugins/gtkui/plcommon.c @@ -181,10 +181,10 @@ void draw_column_data (DdbListview *listview, GdkDrawable *drawable, DdbListview draw_init_font_bold (); } if (calign_right) { - draw_text (x+5, y + height/2 - draw_get_font_size ()/2 - 2, cwidth-10, 1, text); + draw_text (x+5, y + (height-1)/2 - draw_get_font_size ()/2, cwidth-10, 1, text); } else { - draw_text (x + 5, y + height/2 - draw_get_font_size ()/2 - 2, cwidth-10, 0, text); + draw_text (x + 5, y + (height-1)/2 - draw_get_font_size ()/2, cwidth-10, 0, text); } if (gtkui_embolden_current_track && it && it == playing_track) { draw_init_font_normal (); |