Commit 6fa87d14b275d45ebbd70ab712bf920abd84d6b9
1 parent
8ce84e04
Added option to invert keepmetadata
Showing
1 changed file
with
3 additions
and
1 deletions
openbr/plugins/metadata/keepmetadata.cpp
| @@ -28,13 +28,15 @@ class KeepMetadataTransform : public UntrainableMetadataTransform | @@ -28,13 +28,15 @@ class KeepMetadataTransform : public UntrainableMetadataTransform | ||
| 28 | { | 28 | { |
| 29 | Q_OBJECT | 29 | Q_OBJECT |
| 30 | Q_PROPERTY(QStringList keys READ get_keys WRITE set_keys RESET reset_keys STORED false) | 30 | Q_PROPERTY(QStringList keys READ get_keys WRITE set_keys RESET reset_keys STORED false) |
| 31 | + Q_PROPERTY(bool invert READ get_invert WRITE set_invert RESET reset_invert STORED false) | ||
| 31 | BR_PROPERTY(QStringList, keys, QStringList()) | 32 | BR_PROPERTY(QStringList, keys, QStringList()) |
| 33 | + BR_PROPERTY(bool, invert, false) | ||
| 32 | 34 | ||
| 33 | void projectMetadata(const File &src, File &dst) const | 35 | void projectMetadata(const File &src, File &dst) const |
| 34 | { | 36 | { |
| 35 | dst = src; | 37 | dst = src; |
| 36 | foreach (const QString& localKey, dst.localKeys()) | 38 | foreach (const QString& localKey, dst.localKeys()) |
| 37 | - if (!keys.contains(localKey)) | 39 | + if ((!invert && !keys.contains(localKey)) || (invert && keys.contains(localKey))) |
| 38 | dst.remove(localKey); | 40 | dst.remove(localKey); |
| 39 | } | 41 | } |
| 40 | }; | 42 | }; |