From 427e24dece29ab43a7438f5586f4d7d0c5d63f5c Mon Sep 17 00:00:00 2001 From: David Sansome Date: Mon, 8 Mar 2010 12:30:55 +0000 Subject: [PATCH] Show the time remaining as negative, like amarok --- src/trackslider.cpp | 20 ++++++++++++-------- src/trackslider.h | 1 + 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/trackslider.cpp b/src/trackslider.cpp index 6e016c8e2..db96d0bb3 100644 --- a/src/trackslider.cpp +++ b/src/trackslider.cpp @@ -19,14 +19,18 @@ TrackSlider::TrackSlider(QWidget* parent) void TrackSlider::UpdateLabelWidth() { // We set the label's minimum size so it won't resize itself when the user // is dragging the slider. - QString old_text = ui_.elapsed->text(); - ui_.elapsed->setText("0:00:00"); - ui_.elapsed->setMinimumWidth(0); - int width = ui_.elapsed->sizeHint().width(); - ui_.elapsed->setText(old_text); + UpdateLabelWidth(ui_.elapsed, "0:00:00"); + UpdateLabelWidth(ui_.remaining, "-0:00:00"); +} - ui_.elapsed->setMinimumWidth(width); - ui_.remaining->setMinimumWidth(width); +void TrackSlider::UpdateLabelWidth(QLabel* label, const QString& text) { + QString old_text = label->text(); + label->setText(text); + label->setMinimumWidth(0); + int width = label->sizeHint().width(); + label->setText(old_text); + + label->setMinimumWidth(width); } QSize TrackSlider::sizeHint() const { @@ -50,7 +54,7 @@ void TrackSlider::SetValue(int elapsed, int total) { void TrackSlider::UpdateTimes(int elapsed) { ui_.elapsed->setText(PrettyTime(elapsed)); - ui_.remaining->setText(PrettyTime(ui_.slider->maximum() - elapsed)); + ui_.remaining->setText("-" + PrettyTime(ui_.slider->maximum() - elapsed)); setEnabled(true); } diff --git a/src/trackslider.h b/src/trackslider.h index 6ac4c21bf..a4e4d633b 100644 --- a/src/trackslider.h +++ b/src/trackslider.h @@ -33,6 +33,7 @@ class TrackSlider : public QWidget { private: void UpdateTimes(int elapsed); void UpdateLabelWidth(); + void UpdateLabelWidth(QLabel* label, const QString& text); private: Ui::TrackSlider ui_;