mirror of
https://github.com/tomahawk-player/tomahawk.git
synced 2025-08-08 23:26:40 +02:00
Hopefully fix a case where the seek slider travels on when Phonon is
buffering
This commit is contained in:
@@ -19,9 +19,9 @@
|
|||||||
#include "audiocontrols.h"
|
#include "audiocontrols.h"
|
||||||
#include "ui_audiocontrols.h"
|
#include "ui_audiocontrols.h"
|
||||||
|
|
||||||
#include <QNetworkReply>
|
#include <QtNetwork/QNetworkReply>
|
||||||
#include <QDropEvent>
|
#include <QtGui/QDropEvent>
|
||||||
#include <QMouseEvent>
|
#include <QtGui/QMouseEvent>
|
||||||
|
|
||||||
#include "audio/audioengine.h"
|
#include "audio/audioengine.h"
|
||||||
#include "playlist/playlistview.h"
|
#include "playlist/playlistview.h"
|
||||||
@@ -208,9 +208,11 @@ AudioControls::onPlaybackStarted( const Tomahawk::result_ptr& result )
|
|||||||
m_sliderTimeLine.setFrameRange( 0, duration );
|
m_sliderTimeLine.setFrameRange( 0, duration );
|
||||||
m_sliderTimeLine.setCurrentTime( 0 );
|
m_sliderTimeLine.setCurrentTime( 0 );
|
||||||
m_seekMsecs = -1;
|
m_seekMsecs = -1;
|
||||||
|
|
||||||
ui->seekSlider->setVisible( true );
|
ui->seekSlider->setVisible( true );
|
||||||
|
|
||||||
|
m_noTimeChange = false;
|
||||||
|
|
||||||
Tomahawk::InfoSystem::InfoStringHash trackInfo;
|
Tomahawk::InfoSystem::InfoStringHash trackInfo;
|
||||||
trackInfo["artist"] = result->artist()->name();
|
trackInfo["artist"] = result->artist()->name();
|
||||||
trackInfo["album"] = result->album()->name();
|
trackInfo["album"] = result->album()->name();
|
||||||
@@ -377,9 +379,22 @@ AudioControls::onPlaybackTimer( qint64 msElapsed )
|
|||||||
ui->timeLabel->setText( TomahawkUtils::timeToString( seconds ) );
|
ui->timeLabel->setText( TomahawkUtils::timeToString( seconds ) );
|
||||||
ui->timeLeftLabel->setText( "-" + TomahawkUtils::timeToString( m_currentTrack->duration() - 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_sliderTimeLine.setPaused( true );
|
||||||
|
|
||||||
|
m_noTimeChange = false;
|
||||||
|
if ( m_sliderTimeLine.currentTime() == msElapsed )
|
||||||
|
m_noTimeChange = true;
|
||||||
|
|
||||||
m_sliderTimeLine.setCurrentTime( msElapsed );
|
m_sliderTimeLine.setCurrentTime( msElapsed );
|
||||||
m_seekMsecs = -1;
|
m_seekMsecs = -1;
|
||||||
if ( AudioEngine::instance()->state() != AudioEngine::Paused )
|
if ( AudioEngine::instance()->state() != AudioEngine::Paused )
|
||||||
|
@@ -19,8 +19,8 @@
|
|||||||
#ifndef AUDIOCONTROLS_H
|
#ifndef AUDIOCONTROLS_H
|
||||||
#define AUDIOCONTROLS_H
|
#define AUDIOCONTROLS_H
|
||||||
|
|
||||||
#include <QWidget>
|
#include <QtGui/QWidget>
|
||||||
#include <QTimeLine>
|
#include <QtCore/QTimeLine>
|
||||||
|
|
||||||
#include "result.h"
|
#include "result.h"
|
||||||
#include "playlistinterface.h"
|
#include "playlistinterface.h"
|
||||||
@@ -95,6 +95,7 @@ private:
|
|||||||
|
|
||||||
QTimeLine m_sliderTimeLine;
|
QTimeLine m_sliderTimeLine;
|
||||||
qint64 m_seekMsecs;
|
qint64 m_seekMsecs;
|
||||||
|
bool m_noTimeChange;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // AUDIOCONTROLS_H
|
#endif // AUDIOCONTROLS_H
|
||||||
|
@@ -18,8 +18,8 @@
|
|||||||
|
|
||||||
#include "SeekSlider.h"
|
#include "SeekSlider.h"
|
||||||
|
|
||||||
#include <QMouseEvent>
|
#include <QtGui/QMouseEvent>
|
||||||
#include <QTimeLine>
|
#include <QtCore/QTimeLine>
|
||||||
|
|
||||||
#include "utils/tomahawkutils.h"
|
#include "utils/tomahawkutils.h"
|
||||||
#include "utils/logger.h"
|
#include "utils/logger.h"
|
||||||
|
@@ -19,7 +19,7 @@
|
|||||||
#ifndef SEEKSLIDER_H
|
#ifndef SEEKSLIDER_H
|
||||||
#define SEEKSLIDER_H
|
#define SEEKSLIDER_H
|
||||||
|
|
||||||
#include <QSlider>
|
#include <QtGui/QSlider>
|
||||||
|
|
||||||
#include "dllmacro.h"
|
#include "dllmacro.h"
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user