diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2009-03-07 22:43:26 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2009-03-07 22:43:26 +0000 |
| commit | 0b46e2db06ec1bbfc3aee819787386ace9dad66c (patch) | |
| tree | 109f4bbf3a7227262a280f00731f0767d331a811 /src/ui | |
| parent | 5896c5ae40726637cbfc5605f5f659791ff569c7 (diff) | |
| download | qmmp-0b46e2db06ec1bbfc3aee819787386ace9dad66c.tar.gz qmmp-0b46e2db06ec1bbfc3aee819787386ace9dad66c.tar.bz2 qmmp-0b46e2db06ec1bbfc3aee819787386ace9dad66c.zip | |
improved seeking accuracy
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@827 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/ui')
| -rw-r--r-- | src/ui/display.cpp | 8 | ||||
| -rw-r--r-- | src/ui/mainwindow.cpp | 2 | ||||
| -rw-r--r-- | src/ui/mainwindow.h | 2 | ||||
| -rw-r--r-- | src/ui/playlist.cpp | 4 | ||||
| -rw-r--r-- | src/ui/positionbar.cpp | 14 | ||||
| -rw-r--r-- | src/ui/positionbar.h | 16 | ||||
| -rw-r--r-- | src/ui/titlebar.cpp | 2 |
7 files changed, 24 insertions, 24 deletions
diff --git a/src/ui/display.cpp b/src/ui/display.cpp index d9967b74b..3280a5104 100644 --- a/src/ui/display.cpp +++ b/src/ui/display.cpp @@ -162,13 +162,13 @@ MainDisplay::~MainDisplay() void MainDisplay::setTime (qint64 t) { - posbar->setValue (t); //TODO use qint64 - m_timeIndicator->setTime(t); + posbar->setValue (t); + m_timeIndicator->setTime(t/1000); } void MainDisplay::setDuration(qint64 t) { posbar->setMax (t); - m_timeIndicator->setSongDuration(t); + m_timeIndicator->setSongDuration(t/1000); } void MainDisplay::setState(Qmmp::State state) @@ -179,7 +179,7 @@ void MainDisplay::setState(Qmmp::State state) { m_playstatus->setStatus(PlayStatus::PLAY); m_timeIndicator->setNeedToShowTime(TRUE); - setDuration(m_core->length()); + setDuration(m_core->totalTime()); break; } case Qmmp::Paused: diff --git a/src/ui/mainwindow.cpp b/src/ui/mainwindow.cpp index d02490f49..94253925a 100644 --- a/src/ui/mainwindow.cpp +++ b/src/ui/mainwindow.cpp @@ -167,7 +167,7 @@ void MainWindow::replay() play(); } -void MainWindow::seek(int pos) +void MainWindow::seek(qint64 pos) { if (!seeking) m_core->seek(pos); diff --git a/src/ui/mainwindow.h b/src/ui/mainwindow.h index 5442c9dfb..d89def113 100644 --- a/src/ui/mainwindow.h +++ b/src/ui/mainwindow.h @@ -67,7 +67,7 @@ public: bool processCommandArgs(const QStringList &list,const QString& cwd); public slots: - void seek(int); + void seek(qint64); void previous(); void play(); void pause(); diff --git a/src/ui/playlist.cpp b/src/ui/playlist.cpp index 8913b58c1..b9369d2e3 100644 --- a/src/ui/playlist.cpp +++ b/src/ui/playlist.cpp @@ -461,14 +461,14 @@ void PlayList::setTime(qint64 time) if (time < 0) m_current_time->display ("--:--"); else - m_current_time->display (formatTime (time)); + m_current_time->display (formatTime (time/1000)); m_current_time->update(); if (m_playListModel && SoundCore::instance()) { m_playListModel->totalLength(); QString str_length = formatTime (m_playListModel->totalLength()) + - "/" + formatTime (SoundCore::instance()->length()); + "/" + formatTime (SoundCore::instance()->totalTime()/1000); m_length_totalLength->display (str_length); m_length_totalLength->update(); diff --git a/src/ui/positionbar.cpp b/src/ui/positionbar.cpp index 1660f192e..423aaee7b 100644 --- a/src/ui/positionbar.cpp +++ b/src/ui/positionbar.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2006 by Ilya Kotov * + * Copyright (C) 2009 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -73,7 +73,7 @@ void PositionBar::mouseMoveEvent (QMouseEvent *e) { if (m_moving) { - int po = e->x(); + qint64 po = e->x(); po = po - press_pos; if (0<=po && po<=width()-30) @@ -96,7 +96,7 @@ void PositionBar::mouseReleaseEvent(QMouseEvent*) m_moving = FALSE; } -void PositionBar::setValue(int v) +void PositionBar::setValue(qint64 v) { if (m_moving || m_max == 0) return; @@ -104,7 +104,7 @@ void PositionBar::setValue(int v) draw(FALSE); } -void PositionBar::setMax(int max) +void PositionBar::setMax(qint64 max) { m_max = max; draw(FALSE); @@ -119,7 +119,7 @@ void PositionBar::updateSkin() void PositionBar::draw(bool pressed) { - int p=int(ceil(double(m_value-m_min)*(width()-30)/(m_max-m_min))); + qint64 p=qint64(ceil(double(m_value-m_min)*(width()-30)/(m_max-m_min))); m_pixmap = m_skin->getPosBar(); if (m_max > 0) { @@ -133,7 +133,7 @@ void PositionBar::draw(bool pressed) m_pos = p; } -int PositionBar::convert(int p) +qint64 PositionBar::convert(qint64 p) { - return int(ceil(double(m_max-m_min)*(p)/(width()-30)+m_min)); + return qint64(ceil(double(m_max-m_min)*(p)/(width()-30)+m_min)); } diff --git a/src/ui/positionbar.h b/src/ui/positionbar.h index ea03ef14a..cbabab9aa 100644 --- a/src/ui/positionbar.h +++ b/src/ui/positionbar.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2006 by Ilya Kotov * + * Copyright (C) 2009 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -41,12 +41,12 @@ public: ~PositionBar(); public slots: - void setValue(int); - int value()const{return m_value;} - void setMax(int); + void setValue(qint64); + qint64 value()const{return m_value;} + void setMax(qint64); signals: - void sliderMoved (int); + void sliderMoved (qint64); private slots: void updateSkin(); @@ -54,11 +54,11 @@ private slots: private: Skin *m_skin; bool m_moving; - int press_pos; - int m_max, m_min, m_pos, m_value, m_old; + qint64 press_pos; + qint64 m_max, m_min, m_pos, m_value, m_old; QPixmap m_pixmap; MainWindow *mw; - int convert(int); // value = convert(position); + qint64 convert(qint64); // value = convert(position); void draw(bool pressed = TRUE); protected: diff --git a/src/ui/titlebar.cpp b/src/ui/titlebar.cpp index 00a59e1bc..d094a8c49 100644 --- a/src/ui/titlebar.cpp +++ b/src/ui/titlebar.cpp @@ -216,7 +216,7 @@ void TitleBar::setTime(qint64 time) if (time < 0) m_currentTime->display("--:--"); else - m_currentTime->display(formatTime(time)); + m_currentTime->display(formatTime(time/1000)); } void TitleBar::updateMask() |
