fix previous button, single point of definition
This commit is contained in:
parent
a483a380d6
commit
75308b4423
4 changed files with 100 additions and 34 deletions
|
|
@ -1,7 +1,7 @@
|
|||
#include "MusicPlayer.h"
|
||||
#include <QDir>
|
||||
#include <QMediaPlaylist>
|
||||
|
||||
#include <controllers/SettingsHandler.h>
|
||||
|
||||
|
||||
MusicPlayer::MusicPlayer(QObject *parent) : QMediaPlayer(parent)
|
||||
|
|
@ -98,7 +98,7 @@ bool MusicPlayer::hasPrevious() const
|
|||
/* player inits with currentIndex -1 and hence previousIndex = last index
|
||||
* until started. Yet, previousButton should initially be disabled.
|
||||
*/
|
||||
return previousIndex >= 0 && previousIndex >= playlist()->currentIndex();
|
||||
return previousIndex >= 0 && previousIndex < playlist()->currentIndex();
|
||||
}
|
||||
|
||||
double MusicPlayer::getProgress() const
|
||||
|
|
@ -111,17 +111,17 @@ double MusicPlayer::getProgress() const
|
|||
|
||||
QString MusicPlayer::getMediaTitle() const
|
||||
{
|
||||
return mMediaTitle;
|
||||
return metaData("Title").toString();
|
||||
}
|
||||
|
||||
QString MusicPlayer::getMediaLength()
|
||||
QString MusicPlayer::getMediaDuration() const
|
||||
{
|
||||
return timeToString(duration());
|
||||
return millisecondsToString(duration());
|
||||
}
|
||||
|
||||
QString MusicPlayer::getTime()
|
||||
QString MusicPlayer::getPosition() const
|
||||
{
|
||||
return timeToString(position());
|
||||
return millisecondsToString(position());
|
||||
}
|
||||
|
||||
void MusicPlayer::clearPlaylist()
|
||||
|
|
@ -144,7 +144,7 @@ void MusicPlayer::readMedia(const QString& path)
|
|||
}
|
||||
|
||||
// add audio files to playlist
|
||||
dir.setNameFilters({"*.mp3", "*.flac"});
|
||||
dir.setNameFilters(SettingsHandler::getAudioFileNameFilters());
|
||||
auto files = dir.entryInfoList(QDir::Files);
|
||||
for(auto file:files){
|
||||
auto fileName = file.absoluteFilePath();
|
||||
|
|
@ -153,11 +153,13 @@ void MusicPlayer::readMedia(const QString& path)
|
|||
}
|
||||
}
|
||||
|
||||
QString MusicPlayer::timeToString(int time)
|
||||
QString MusicPlayer::millisecondsToString(int timeInMilliseconds) const
|
||||
{
|
||||
int sec = time/1000;
|
||||
int min = sec/60;
|
||||
sec = sec-min*60;
|
||||
QString secStr = (sec < 10) ? "0"+QString::number(sec) : QString::number(sec);
|
||||
return QString::number(min) + ":" + secStr;
|
||||
int seconds = timeInMilliseconds/1000; // ms to secons
|
||||
int minutes = seconds/60; //seconds to minutes
|
||||
seconds %= 60; // seconds remaining after subtracting minutes
|
||||
// format according to [M]M:ss
|
||||
// at leading zero to seconds if necessary
|
||||
QString secStr = (seconds < 10) ? "0"+QString::number(seconds) : QString::number(seconds);
|
||||
return QString::number(minutes) + ":" + secStr;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue