void ThumbsGenerator::init(const bool rebuildAll) { setLabel(i18n("Thumbs")); ProgressManager::addProgressItem(this); d->rebuildAll = rebuildAll; d->thread = new MaintenanceThread(this); connect(d->thread, SIGNAL(signalCompleted()), this, SLOT(slotDone())); connect(d->thread, SIGNAL(signalAdvance(QImage)), this, SLOT(slotAdvance(QImage))); }
void MaintenanceThread::generateThumbs(const QStringList& paths) { JobCollection* const collection = new JobCollection(); for(int i=0; i < paths.size(); i++) { ThumbsTask* const t = new ThumbsTask(); t->setItem(paths.at(i)); connect(t, SIGNAL(signalFinished(QImage)), this, SIGNAL(signalAdvance(QImage))); connect(this, SIGNAL(signalCanceled()), t, SLOT(slotCancel()), Qt::QueuedConnection); collection->addJob(t); } appendJob(collection); }
void MaintenanceThread::sortByImageQuality(const QStringList& paths, const ImageQualitySettings& quality) { JobCollection* const collection = new JobCollection(); for(int i=0; i < paths.size(); i++) { ImageQualityTask* const t = new ImageQualityTask(); t->setItem(paths.at(i), quality); connect(t, SIGNAL(signalFinished(QImage)), this, SIGNAL(signalAdvance(QImage))); connect(this, SIGNAL(signalCanceled()), t, SLOT(slotCancel()), Qt::QueuedConnection); collection->addJob(t); } appendJob(collection); }
void MaintenanceThread::syncMetadata(const ImageInfoList& items, MetadataSynchronizer::SyncDirection dir, bool tagsOnly) { JobCollection* const collection = new JobCollection(); for(int i=0; i < items.size(); i++) { MetadataTask* const t = new MetadataTask(); t->setTagsOnly(tagsOnly); t->setItem(items.at(i), dir); connect(t, SIGNAL(signalFinished(QImage)), this, SIGNAL(signalAdvance(QImage))); connect(this, SIGNAL(signalCanceled()), t, SLOT(slotCancel()), Qt::QueuedConnection); collection->addJob(t); } appendJob(collection); }