QString ThumbnailView::Delegate::videoLengthText(const DB::ImageInfoPtr &imageInfo) const { const int length = imageInfo->videoLength(); if ( length < 0 ) return i18nc("No video length could be determined, so we just display 'video' instead of the video length.","video"); const int hours = length/60/60; const int minutes = (length/60)%60; const int secs = length % 60; QString res; if (hours > 0) res = QString::number(hours) + QLatin1String(":"); if (minutes < 10 && hours > 0) res += QLatin1String("0"); res += QString::number(minutes); res += QLatin1String(":"); if (secs < 10) res += QLatin1String("0"); res += QString::number(secs); return res; }
void ExtractOneThumbnailJob::execute() { if ( m_wasCanceled || frameName().exists() ) emit completed(); else { DB::ImageInfoPtr info = DB::ImageDB::instance()->info(m_fileName); const int length = info->videoLength(); ImageManager::ExtractOneVideoFrame::extract(m_fileName, length*m_index/10.0, this, SLOT(frameLoaded(QImage))); } }