summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--plugins/gtkui/ddblistview.c5
-rw-r--r--plugins/gtkui/drawing.h3
-rw-r--r--plugins/gtkui/gdkdrawing.c13
-rw-r--r--plugins/gtkui/plcommon.c4
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, &gtkui_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 ();