diff --git a/sdk/openbr_plugin.cpp b/sdk/openbr_plugin.cpp index f764a44..e9c07eb 100644 --- a/sdk/openbr_plugin.cpp +++ b/sdk/openbr_plugin.cpp @@ -889,6 +889,8 @@ void br::Context::messageHandler(QtMsgType type, const char *msg) } if (type == QtFatalMsg) { + // Write debug output then close + qDebug("SDK Path: %s", qPrintable(Globals->sdkPath)); Globals->finalize(); abort(); } diff --git a/sdk/plugins/misc.cpp b/sdk/plugins/misc.cpp index 0c96df7..986f0b2 100644 --- a/sdk/plugins/misc.cpp +++ b/sdk/plugins/misc.cpp @@ -260,7 +260,7 @@ BR_REGISTER(Transform, RemoveTransform) /*! * \ingroup transforms - * \brief Rename metadata + * \brief Rename metadata key * \author Josh Klontz \cite jklontz */ class RenameTransform : public UntrainableMetaTransform @@ -274,16 +274,39 @@ class RenameTransform : public UntrainableMetaTransform void project(const Template &src, Template &dst) const { dst = src; - foreach (const QString &key, dst.file.localKeys()) - if (key.contains(find)) { - QString newKey = QString(key).replace(find, replace); - dst.file.insert(newKey, dst.file.get(key)); + if (dst.file.localKeys().contains(find)) { + dst.file.insert(replace, dst.file.get(find)); + dst.file.remove(find); + } + } +}; + +/*! + * \ingroup transforms + * \brief Rename first found metadata key + * \author Josh Klontz \cite jklontz + */ +class RenameFirstTransform : public UntrainableMetaTransform +{ + Q_OBJECT + Q_PROPERTY(QStringList find READ get_find WRITE set_find RESET reset_find STORED false) + Q_PROPERTY(QString replace READ get_replace WRITE set_replace RESET reset_replace STORED false) + BR_PROPERTY(QStringList, find, QStringList()) + BR_PROPERTY(QString, replace, "") + + void project(const Template &src, Template &dst) const + { + dst = src; + foreach (const QString &key, find) + if (dst.file.localKeys().contains(key)) { + dst.file.insert(replace, dst.file.get(key)); dst.file.remove(key); + break; } } }; -BR_REGISTER(Transform, RenameTransform) +BR_REGISTER(Transform, RenameFirstTransform) } diff --git a/sdk/plugins/pp5.cmake b/sdk/plugins/pp5.cmake index f4aef60..45293e6 100644 --- a/sdk/plugins/pp5.cmake +++ b/sdk/plugins/pp5.cmake @@ -13,5 +13,5 @@ if(${BR_WITH_PP5}) else() install(DIRECTORY ${PP5_DIR}/lib/ DESTINATION lib) endif() - install(DIRECTORY ${PP5_DIR}/models/ DESTINATION models/pp5) + install(DIRECTORY ${PP5_DIR}/models/ DESTINATION share/openbr/models/pp5) endif()