diff options
-rw-r--r-- | plugins/gtkui/ddbvolumebar.c | 32 |
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; } |