示例#1
0
    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::readMetadataExifTool(const QVector<Models::ArtworkMetadata *> &artworksToRead,
                                             const QVector<QPair<int, int> > &rangesToUpdate) {
        MetadataReadingWorker *readingWorker = new MetadataReadingWorker(artworksToRead,
                                                    m_CommandManager->getSettingsModel(),
                                                    rangesToUpdate);
        QThread *thread = new QThread();
        readingWorker->moveToThread(thread);

        QObject::connect(thread, SIGNAL(started()), readingWorker, SLOT(process()));
        QObject::connect(readingWorker, SIGNAL(stopped()), thread, SLOT(quit()));

        QObject::connect(readingWorker, SIGNAL(stopped()), readingWorker, SLOT(deleteLater()));
        QObject::connect(thread, SIGNAL(finished()), thread, SLOT(deleteLater()));

        QObject::connect(readingWorker, SIGNAL(finished(bool)), this, SLOT(readingWorkerFinished(bool)));
        QObject::connect(this, SIGNAL(metadataReadingFinished()), readingWorker, SIGNAL(stopped()));
        QObject::connect(this, SIGNAL(discardReadingSignal()), readingWorker, SLOT(cancel()));

        initializeImport(artworksToRead.count());

        LOG_DEBUG << "Starting thread...";
        thread->start();

        m_ReadingWorker = readingWorker;
    }
    void MetadataIOCoordinator::readMetadataExiv2(const QVector<Models::ArtworkMetadata *> &artworksToRead,
                                                  const QVector<QPair<int, int> > &rangesToUpdate) {
        ReadingOrchestrator *readingOrchestrator = new ReadingOrchestrator(artworksToRead, rangesToUpdate);

        QObject::connect(readingOrchestrator, SIGNAL(allFinished(bool)), this, SLOT(readingWorkerFinished(bool)));
        QObject::connect(this, SIGNAL(metadataReadingFinished()), readingOrchestrator, SLOT(dismiss()));
        QObject::connect(this, SIGNAL(discardReadingSignal()), readingOrchestrator, SLOT(dismiss()));

        initializeImport(artworksToRead.count());
        m_ReadingWorker = readingOrchestrator;

        readingOrchestrator->startReading();
    }
 void MetadataIOCoordinator::discardReading() {
     emit discardReadingSignal();
     LOG_DEBUG << "Reading results discarded";
 }
示例#5
0
 void MetadataIOCoordinator::discardReading() {
     emit discardReadingSignal();
     qDebug() << "Reading results discarded";
 }