void MetadataIOCoordinator::readMetadata(const QVector<Models::ArtworkMetadata *> &artworksToRead, const QVector<QPair<int, int> > &rangesToUpdate) { m_ReadingWorker = new MetadataReadingWorker(artworksToRead, m_CommandManager->getSettingsModel(), rangesToUpdate); QThread *thread = new QThread(); m_ReadingWorker->moveToThread(thread); QObject::connect(thread, SIGNAL(started()), m_ReadingWorker, SLOT(process())); QObject::connect(m_ReadingWorker, SIGNAL(stopped()), thread, SLOT(quit())); QObject::connect(m_ReadingWorker, SIGNAL(stopped()), m_ReadingWorker, SLOT(deleteLater())); QObject::connect(thread, SIGNAL(finished()), thread, SLOT(deleteLater())); QObject::connect(m_ReadingWorker, SIGNAL(finished(bool)), this, SLOT(readingWorkerFinished(bool))); QObject::connect(this, SIGNAL(metadataReadingFinished()), m_ReadingWorker, SIGNAL(stopped())); QObject::connect(this, SIGNAL(discardReadingSignal()), m_ReadingWorker, SLOT(cancel())); m_CanProcessResults = false; m_IgnoreBackupsAtImport = false; m_IsImportInProgress = true; setProcessingItemsCount(artworksToRead.length()); qDebug() << "Starting metadata reading thread"; thread->start(); }
void MetadataIOCoordinator::writeMetadata(const QVector<Models::ArtworkMetadata *> &artworksToWrite, bool useBackups) { m_WritingWorker = new MetadataWritingWorker(artworksToWrite, m_CommandManager->getSettingsModel(), useBackups); QThread *thread = new QThread(); m_WritingWorker->moveToThread(thread); QObject::connect(thread, SIGNAL(started()), m_WritingWorker, SLOT(process())); QObject::connect(m_WritingWorker, SIGNAL(stopped()), thread, SLOT(quit())); QObject::connect(m_WritingWorker, SIGNAL(stopped()), m_WritingWorker, SLOT(deleteLater())); QObject::connect(thread, SIGNAL(finished()), thread, SLOT(deleteLater())); QObject::connect(m_WritingWorker, SIGNAL(finished(bool)), this, SLOT(writingWorkerFinished(bool))); QObject::connect(this, SIGNAL(metadataWritingFinished()), m_WritingWorker, SIGNAL(stopped())); setProcessingItemsCount(artworksToWrite.length()); qDebug() << "Starting metadata writing thread"; thread->start(); }
void MetadataIOCoordinator::initializeImport(int itemsCount) { m_CanProcessResults = false; m_IgnoreBackupsAtImport = false; m_IsImportInProgress = true; setProcessingItemsCount(itemsCount); }