void DImageHistoryTest::slotImageSaved(const QString& fileName, bool success) { QVERIFY(success); m_im->setLastSaved(fileName); DImg img(fileName); DImageHistory history = img.getImageHistory(); qDebug() << history.toXml(); QCOMPARE(history.size(), 3); QCOMPARE(history.entries().first().referredImages.size(), 1); QCOMPARE(history.entries().first().referredImages.first().m_type, HistoryImageId::Original); QCOMPARE(history.action(1).category(), FilterAction::ReproducibleFilter); QCOMPARE(history.action(2).category(), FilterAction::ReproducibleFilter); DImageHistory history2 = DImageHistory::fromXml(history.toXml()); QCOMPARE(history2.size(), 3); QCOMPARE(history2.entries().first().referredImages.size(), 1); QCOMPARE(history2.entries().first().referredImages.first().m_type, HistoryImageId::Original); QCOMPARE(history2.action(1).category(), FilterAction::ReproducibleFilter); QCOMPARE(history2.action(2).category(), FilterAction::ReproducibleFilter); m_loop.quit(); }
DImageHistory ImageScanner::resolvedImageHistory(const DImageHistory& history, bool mustBeAvailable) { DImageHistory h; foreach (const DImageHistory::Entry& e, history.entries()) { // Copy entry, without referredImages DImageHistory::Entry entry; entry.action = e.action; // resolve referredImages foreach (const HistoryImageId& id, e.referredImages) { QList<qlonglong> imageIds = resolveHistoryImageId(id); // append each image found in collection to referredImages foreach (qlonglong imageId, imageIds) { ImageInfo info(imageId); if (info.isNull()) { continue; } if (mustBeAvailable) { CollectionLocation location = CollectionManager::instance()->locationForAlbumRootId(info.albumRootId()); if (!location.isAvailable()) { continue; } } HistoryImageId newId = info.historyImageId(); newId.setType(id.m_type); entry.referredImages << newId; } } // add to history h.entries() << entry; }
void DImageHistoryTest::slotImageLoaded(const QString&, bool success) { QVERIFY(success); applyFilters1(); DImageHistory h = m_im->getImg()->getImageHistory(); h.adjustReferredImages(); for (int i=0; i<3; ++i) { qDebug() << i << h.entries().at(i).referredImages.size(); if (h.entries().at(i).referredImages.size()) { qDebug() << " " << i << h.entries().at(i).referredImages.first().m_type; } } m_loop.quit(); }
ImageFiltersHistoryModel::ImageFiltersHistoryModel(QObject* const parent, const KUrl& url) : QAbstractItemModel(parent), d(new Private) { if (!url.isEmpty()) { //kDebug() << "Creating model with url" << url.toLocalFile(); d->rootItem = new ImageFiltersHistoryTreeItem(url.fileName()); d->lastUrl = url; DMetadata metadata(url.toLocalFile()); QString xml = metadata.getImageHistory(); DImageHistory h = DImageHistory::fromXml(xml); setupModelData(h.entries(), d->rootItem); } else { //kDebug() << "Creating empty model"; d->rootItem = new ImageFiltersHistoryTreeItem("Generic"); } }
void FiltersHistoryWidget::setHistory(const DImageHistory& history) { d->model->setupModelData(history.entries()); }
void DImageHistoryTest::testDImg() { QDir imageDir(imagePath()); imageDir.setNameFilters(QStringList("*.jpg")); QList<QFileInfo> imageFiles = imageDir.entryInfoList(); IOFileSettings container; m_im->load(imageFiles.first().filePath(), &container); m_loop.exec(); DImageHistory history = m_im->getImg()->getImageHistory(); QCOMPARE(history.size(), 3); QCOMPARE(history.entries().first().referredImages.size(), 1); QCOMPARE(history.entries().first().referredImages.first().m_type, HistoryImageId::Current); QVERIFY(history.entries().last().referredImages.isEmpty()); m_im->saveAs(m_tempFile, &container, true, QString(), QString()); m_loop.exec(); history = m_im->getImg()->getImageHistory(); QCOMPARE(history.size(), 3); QCOMPARE(history.entries().first().referredImages.size(), 1); QCOMPARE(history.entries().first().referredImages.first().m_type, HistoryImageId::Current); QCOMPARE(history.entries().last().referredImages.size(), 1); QCOMPARE(history.entries().last().referredImages.first().m_type, HistoryImageId::Intermediate); m_im->switchToLastSaved(); history = m_im->getImg()->getImageHistory(); QCOMPARE(history.size(), 3); QCOMPARE(history.entries().first().referredImages.size(), 1); QCOMPARE(history.entries().first().referredImages.first().m_type, HistoryImageId::Original); QCOMPARE(history.entries().last().referredImages.size(), 1); QCOMPARE(history.entries().last().referredImages.first().m_type, HistoryImageId::Current); }