summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar waker <wakeroid@gmail.com>2012-10-25 21:26:32 +0200
committerGravatar waker <wakeroid@gmail.com>2012-10-25 21:26:32 +0200
commitd940812fafd1a71837a3bb3f1c1132c7beea5187 (patch)
treea5da851d9e4075f5b298e11d32d455c1c8261710
parentfef22528a932e0b53778690ce3ed1d67c4786af1 (diff)
display of the seek position in the seekbar WIP
-rw-r--r--plugins/gtkui/callbacks.c24
-rw-r--r--plugins/gtkui/ddbseekbar.c20
2 files changed, 24 insertions, 20 deletions
diff --git a/plugins/gtkui/callbacks.c b/plugins/gtkui/callbacks.c
index 2ac935e8..72a05e63 100644
--- a/plugins/gtkui/callbacks.c
+++ b/plugins/gtkui/callbacks.c
@@ -577,6 +577,30 @@ seekbar_draw (GtkWidget *widget, cairo_t *cr) {
cairo_fill (cr);
cairo_reset_clip (cr);
+ if (seekbar_moving && trk) {
+ float dur = deadbeef->pl_get_item_duration (trk);
+ float time = seekbar_move_x * dur / (a.width);
+ if (time < 0) {
+ time = 0;
+ }
+ if (time > dur) {
+ time = dur;
+ }
+ char s[1000];
+ int hr = time/360;
+ int mn = (time-hr*360)/60;
+ int sc = time-hr*360-mn*60;
+ snprintf (s, sizeof (s), "%02d:%02d:%02d", hr, mn, sc);
+
+ cairo_set_source_rgba (cr, 0, 0, 0, 0.5);
+ cairo_rectangle (cr, ax, ay, 100, ah);
+ cairo_fill (cr);
+ cairo_move_to (cr, ax, ay+20);
+ cairo_set_source_rgb (cr, 1, 1, 1);
+ cairo_show_text (cr, s);
+ }
+
+
if (trk) {
deadbeef->pl_item_unref (trk);
}
diff --git a/plugins/gtkui/ddbseekbar.c b/plugins/gtkui/ddbseekbar.c
index 6f0d01fe..635485c3 100644
--- a/plugins/gtkui/ddbseekbar.c
+++ b/plugins/gtkui/ddbseekbar.c
@@ -148,26 +148,6 @@ static gboolean ddb_seekbar_real_motion_notify_event (GtkWidget* base, GdkEventM
_tmp0_ = *event;
_tmp1_ = on_seekbar_motion_notify_event ((GtkWidget*) self, &_tmp0_);
result = _tmp1_;
-
- DB_playItem_t *trk = deadbeef->streamer_get_playing_track ();
- if (trk) {
- GtkAllocation a;
- gtk_widget_get_allocation (base, &a);
- float time = (event->x - a.x) * deadbeef->pl_get_item_duration (trk) / (a.width);
- if (time < 0) {
- time = 0;
- }
- deadbeef->pl_item_unref (trk);
- char s[1000];
- int hr = time/360;
- int mn = (time-hr*360)/60;
- int sc = time-hr*360-mn*60;
- snprintf (s, sizeof (s), "%02d:%02d:%02d", hr, mn, sc);
-
- printf ("set tooltip text %s\n", s);
- gtk_widget_set_tooltip_text (base, s);
- gtk_widget_trigger_tooltip_query (base);
- }
return result;
}