void ImageListModel::slotCollectionImageChange(const CollectionImageChangeset& changeset) { if (isEmpty()) { return; } switch (changeset.operation()) { case CollectionImageChangeset::Added: break; case CollectionImageChangeset::Removed: case CollectionImageChangeset::RemovedAll: removeImageInfos(ImageInfoList(changeset.ids())); break; default: break; } }
void ImageDescEditTab::slotApplyChangesToAllVersions() { if (!d->modified) { return; } if (d->currInfos.isEmpty()) { return; } QSet<qlonglong> tmpSet; QList<QPair<qlonglong, qlonglong> > relations; foreach(const ImageInfo& info, d->currInfos) { // Collect all ids in all image's relations relations.append(info.relationCloud()); } for(int i = 0; i < relations.size(); ++i) { // Use QSet to prevent duplicates tmpSet.insert(relations.at(i).first); tmpSet.insert(relations.at(i).second); } FileActionMngr::instance()->applyMetadata(ImageInfoList(tmpSet.toList()), d->hub); d->modified = false; d->hub.resetChanged(); d->applyBtn->setEnabled(false); d->revertBtn->setEnabled(false); d->applyToAllVersionsButton->setEnabled(false); }