1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-03-20 07:49:42 +01:00

Hopefully fix a case where the seek slider travels on when Phonon is

buffering
This commit is contained in:
Jeff Mitchell 2011-11-22 16:53:35 -05:00
parent ef575c4d6d
commit 9b895034df
4 changed files with 26 additions and 10 deletions

View File

@ -19,9 +19,9 @@
#include "audiocontrols.h"
#include "ui_audiocontrols.h"
#include <QNetworkReply>
#include <QDropEvent>
#include <QMouseEvent>
#include <QtNetwork/QNetworkReply>
#include <QtGui/QDropEvent>
#include <QtGui/QMouseEvent>
#include "audio/audioengine.h"
#include "playlist/playlistview.h"
@ -208,9 +208,11 @@ AudioControls::onPlaybackStarted( const Tomahawk::result_ptr& result )
m_sliderTimeLine.setFrameRange( 0, duration );
m_sliderTimeLine.setCurrentTime( 0 );
m_seekMsecs = -1;
ui->seekSlider->setVisible( true );
m_noTimeChange = false;
Tomahawk::InfoSystem::InfoStringHash trackInfo;
trackInfo["artist"] = result->artist()->name();
trackInfo["album"] = result->album()->name();
@ -377,9 +379,22 @@ AudioControls::onPlaybackTimer( qint64 msElapsed )
ui->timeLabel->setText( TomahawkUtils::timeToString( seconds ) );
ui->timeLeftLabel->setText( "-" + TomahawkUtils::timeToString( m_currentTrack->duration() - seconds ) );
if ( m_sliderTimeLine.currentTime() > msElapsed || m_seekMsecs != -1 )
if ( m_noTimeChange )
{
if ( m_sliderTimeLine.currentTime() != msElapsed )
{
m_noTimeChange = false;
m_sliderTimeLine.resume();
}
}
else if ( m_sliderTimeLine.currentTime() >= msElapsed || m_seekMsecs != -1 )
{
m_sliderTimeLine.setPaused( true );
m_noTimeChange = false;
if ( m_sliderTimeLine.currentTime() == msElapsed )
m_noTimeChange = true;
m_sliderTimeLine.setCurrentTime( msElapsed );
m_seekMsecs = -1;
if ( AudioEngine::instance()->state() != AudioEngine::Paused )

View File

@ -19,8 +19,8 @@
#ifndef AUDIOCONTROLS_H
#define AUDIOCONTROLS_H
#include <QWidget>
#include <QTimeLine>
#include <QtGui/QWidget>
#include <QtCore/QTimeLine>
#include "result.h"
#include "playlistinterface.h"
@ -95,6 +95,7 @@ private:
QTimeLine m_sliderTimeLine;
qint64 m_seekMsecs;
bool m_noTimeChange;
};
#endif // AUDIOCONTROLS_H

View File

@ -18,8 +18,8 @@
#include "SeekSlider.h"
#include <QMouseEvent>
#include <QTimeLine>
#include <QtGui/QMouseEvent>
#include <QtCore/QTimeLine>
#include "utils/tomahawkutils.h"
#include "utils/logger.h"

View File

@ -19,7 +19,7 @@
#ifndef SEEKSLIDER_H
#define SEEKSLIDER_H
#include <QSlider>
#include <QtGui/QSlider>
#include "dllmacro.h"