summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--plugins/gtkui/ddbvolumebar.c32
1 files changed, 30 insertions, 2 deletions
diff --git a/plugins/gtkui/ddbvolumebar.c b/plugins/gtkui/ddbvolumebar.c
index 1efa2881..e12373f1 100644
--- a/plugins/gtkui/ddbvolumebar.c
+++ b/plugins/gtkui/ddbvolumebar.c
@@ -153,6 +153,10 @@ GtkWidget * ddb_volumebar_new() {
static void
ddb_volumebar_init(DdbVolumeBar *volumebar)
{
+ char s[100];
+ int db = deadbeef->volume_get_db ();
+ snprintf (s, sizeof (s), "%s%ddB", db < 0 ? "" : "+", db);
+ gtk_widget_set_tooltip_text (GTK_WIDGET (volumebar), s);
}
void
@@ -187,6 +191,7 @@ volumebar_draw (GtkWidget *widget) {
gdk_draw_rectangle (volumebar_backbuf, back_gc, TRUE, _x + widget->allocation.x, _y + widget->allocation.y, _w, _h);
}
}
+#if 0
if (DDB_VOLUMEBAR (widget)->show_dbs) {
draw_begin ((uintptr_t)widget->window);
draw_init_font (widget->style);
@@ -194,8 +199,11 @@ volumebar_draw (GtkWidget *widget) {
int db = deadbeef->volume_get_db ();
snprintf (s, sizeof (s), "%s%ddB", db < 0 ? "" : "+", db);
draw_text (widget->allocation.x, widget->allocation.y, widget->allocation.width, 0, s);
+ gtk_widget_set_tooltip_text (widget, s);
+ gtk_widget_trigger_tooltip_query (widget);
draw_end ();
}
+#endif
g_object_unref (back_gc);
g_object_unref (front_gc);
}
@@ -222,6 +230,11 @@ on_volumebar_motion_notify_event (GtkWidget *widget,
volume = -range;
}
deadbeef->volume_set_db (volume);
+ char s[100];
+ int db = volume;
+ snprintf (s, sizeof (s), "%s%ddB", db < 0 ? "" : "+", db);
+ gtk_widget_set_tooltip_text (widget, s);
+ gtk_widget_trigger_tooltip_query (widget);
gtk_widget_queue_draw (widget);
}
return FALSE;
@@ -241,7 +254,12 @@ on_volumebar_button_press_event (GtkWidget *widget,
volume = 0;
}
deadbeef->volume_set_db (volume);
- DDB_VOLUMEBAR (widget)->show_dbs = 1;
+ char s[100];
+ int db = volume;
+ snprintf (s, sizeof (s), "%s%ddB", db < 0 ? "" : "+", db);
+ gtk_widget_set_tooltip_text (widget, s);
+ gtk_widget_trigger_tooltip_query (widget);
+// DDB_VOLUMEBAR (widget)->show_dbs = 1;
gtk_widget_queue_draw (widget);
}
return FALSE;
@@ -253,7 +271,7 @@ on_volumebar_button_release_event (GtkWidget *widget,
GdkEventButton *event)
{
if (event->button == 1) {
- DDB_VOLUMEBAR (widget)->show_dbs = 0;
+// DDB_VOLUMEBAR (widget)->show_dbs = 0;
gtk_widget_queue_draw (widget);
}
return FALSE;
@@ -263,6 +281,11 @@ void
volumebar_notify_changed (void) {
GtkWidget *widget = lookup_widget (mainwin, "volumebar");
gtk_widget_queue_draw (widget);
+ char s[100];
+ int db = deadbeef->volume_get_db ();
+ snprintf (s, sizeof (s), "%s%ddB", db < 0 ? "" : "+", db);
+ gtk_widget_set_tooltip_text (widget, s);
+ gtk_widget_trigger_tooltip_query (widget);
}
gboolean
@@ -286,6 +309,11 @@ on_volumebar_scroll_event (GtkWidget *widget,
deadbeef->volume_set_db (vol);
GtkWidget *volumebar = lookup_widget (mainwin, "volumebar");
gtk_widget_queue_draw (widget);
+ char s[100];
+ int db = deadbeef->volume_get_db ();
+ snprintf (s, sizeof (s), "%s%ddB", db < 0 ? "" : "+", db);
+ gtk_widget_set_tooltip_text (widget, s);
+ gtk_widget_trigger_tooltip_query (widget);
return FALSE;
}