void ClipManager::slotGetThumbs()
{
QMap<QString, int>::iterator i = m_requestedThumbs.begin();
+ int max;
+ int done = 0;
while (i != m_requestedThumbs.end() && !m_abortThumb) {
QString producerId = i.key();
m_thumbsMutex.lock();
QList<int> values = m_requestedThumbs.values(producerId);
- i = m_requestedThumbs.erase(i);
+ m_requestedThumbs.remove(producerId);
+ i = m_requestedThumbs.begin();
m_thumbsMutex.unlock();
qSort(values);
DocClipBase *clip = getClipById(producerId);
if (!clip) continue;
+ max = m_requestedThumbs.size() + values.count();
while (!values.isEmpty() && clip->thumbProducer() && !m_abortThumb) {
clip->thumbProducer()->getThumb(values.takeFirst());
+ done++;
+ if (max > 3) emit displayMessage(i18n("Loading thumbnails"), 100 * done / max);
}
}
+ emit displayMessage(QString(), -1);
}
void ClipManager::checkAudioThumbs()
void missingClip(const QString &);
void availableClip(const QString &);
void checkAllClips(bool displayRatioChanged, bool fpsChanged, QStringList brokenClips);
+ void displayMessage(const QString &, int);
};
#endif
m_clipManager = new ClipManager(this);
m_autoSaveTimer = new QTimer(this);
m_autoSaveTimer->setSingleShot(true);
+ connect(m_clipManager, SIGNAL(displayMessage(QString, int)), parent, SLOT(slotGotProgressInfo(QString,int)));
bool success = false;
// init default document properties