aboutsummaryrefslogtreecommitdiff
path: root/src/ui
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2009-03-07 22:43:26 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2009-03-07 22:43:26 +0000
commit0b46e2db06ec1bbfc3aee819787386ace9dad66c (patch)
tree109f4bbf3a7227262a280f00731f0767d331a811 /src/ui
parent5896c5ae40726637cbfc5605f5f659791ff569c7 (diff)
downloadqmmp-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.cpp8
-rw-r--r--src/ui/mainwindow.cpp2
-rw-r--r--src/ui/mainwindow.h2
-rw-r--r--src/ui/playlist.cpp4
-rw-r--r--src/ui/positionbar.cpp14
-rw-r--r--src/ui/positionbar.h16
-rw-r--r--src/ui/titlebar.cpp2
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()