Show the time remaining as negative, like amarok

This commit is contained in:
David Sansome 2010-03-08 12:30:55 +00:00
parent ee5facbd01
commit 427e24dece
2 changed files with 13 additions and 8 deletions

View File

@ -19,14 +19,18 @@ TrackSlider::TrackSlider(QWidget* parent)
void TrackSlider::UpdateLabelWidth() { void TrackSlider::UpdateLabelWidth() {
// We set the label's minimum size so it won't resize itself when the user // We set the label's minimum size so it won't resize itself when the user
// is dragging the slider. // is dragging the slider.
QString old_text = ui_.elapsed->text(); UpdateLabelWidth(ui_.elapsed, "0:00:00");
ui_.elapsed->setText("0:00:00"); UpdateLabelWidth(ui_.remaining, "-0:00:00");
ui_.elapsed->setMinimumWidth(0); }
int width = ui_.elapsed->sizeHint().width();
ui_.elapsed->setText(old_text);
ui_.elapsed->setMinimumWidth(width); void TrackSlider::UpdateLabelWidth(QLabel* label, const QString& text) {
ui_.remaining->setMinimumWidth(width); 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 { QSize TrackSlider::sizeHint() const {
@ -50,7 +54,7 @@ void TrackSlider::SetValue(int elapsed, int total) {
void TrackSlider::UpdateTimes(int elapsed) { void TrackSlider::UpdateTimes(int elapsed) {
ui_.elapsed->setText(PrettyTime(elapsed)); ui_.elapsed->setText(PrettyTime(elapsed));
ui_.remaining->setText(PrettyTime(ui_.slider->maximum() - elapsed)); ui_.remaining->setText("-" + PrettyTime(ui_.slider->maximum() - elapsed));
setEnabled(true); setEnabled(true);
} }

View File

@ -33,6 +33,7 @@ class TrackSlider : public QWidget {
private: private:
void UpdateTimes(int elapsed); void UpdateTimes(int elapsed);
void UpdateLabelWidth(); void UpdateLabelWidth();
void UpdateLabelWidth(QLabel* label, const QString& text);
private: private:
Ui::TrackSlider ui_; Ui::TrackSlider ui_;