diff options
author | Arno <am@disconnect.de> | 2013-03-22 09:18:52 +0100 |
---|---|---|
committer | Arno <am@disconnect.de> | 2013-03-22 09:18:52 +0100 |
commit | 153683e2e961b13c5e97e582563656851bce377c (patch) | |
tree | 5efd902813f059dfb76548f96e77558c58930d98 /helper.cpp | |
parent | 50b34092a45990000ba73409abd75377816b70e6 (diff) | |
download | SheMov-153683e2e961b13c5e97e582563656851bce377c.tar.gz SheMov-153683e2e961b13c5e97e582563656851bce377c.tar.bz2 SheMov-153683e2e961b13c5e97e582563656851bce377c.zip |
Show duration in statusBar
Show total duration of selected Movies in FileView. Created a new class
Helper::Duration for this and declared it as QMetaType.
Diffstat (limited to 'helper.cpp')
-rw-r--r-- | helper.cpp | 34 |
1 files changed, 32 insertions, 2 deletions
@@ -235,7 +235,7 @@ namespace Helper { QString llc = l.toLower(); if(llc.contains("duration")){ int idx = llc.indexOf("duration:"); - retval[0] = llc.mid(idx + 10, 8); + retval[0].setValue(Duration(llc.mid(idx + 10, 8))); idx = llc.indexOf("bitrate:"); retval[1] = llc.mid(idx + 9); break; @@ -243,5 +243,35 @@ namespace Helper { } return retval; } -} + Duration::Duration() : mHours(0), mMinutes(0), mSeconds(0) {} + + Duration::Duration(const QString &dur) : mHours(0), mMinutes(0), mSeconds(0){ + QStringList parts = dur.split(':'); + if(parts.size() == 3){ + mHours = parts.at(0).toInt(); + mMinutes = parts.at(1).toInt(); + mSeconds = parts.at(2).toInt(); + } + } + + Duration Duration::operator+(const Duration &dur) const{ + Duration retval; + retval.mSeconds = mSeconds + dur.mSeconds; + retval.mMinutes = mMinutes + dur.mMinutes + retval.mSeconds / 60; + retval.mSeconds %= 60; + retval.mHours = mHours + dur.mHours + retval.mMinutes / 60; + retval.mMinutes %= 60; + return retval; + } + + const QString Duration::toString() const { + QString retval = QString("%1:%2:%3").arg(QString::number(mHours), 2, '0').arg(QString::number(mMinutes), 2, '0').arg(QString::number(mSeconds), 2, '0'); + return retval; + } + + bool Duration::isNull() const { + return mHours == 0 && mMinutes == 0 && mSeconds == 0; + } + +} |