Commit 08930f0bc6b6bd3a83f5a5b1b56aae8d81f40391
1 parent
05f05e11
tweak to File set label
Showing
1 changed file
with
10 additions
and
3 deletions
sdk/openbr_plugin.cpp
| ... | ... | @@ -130,10 +130,17 @@ void File::set(const QString &key, const QVariant &value) |
| 130 | 130 | { |
| 131 | 131 | if (key == "Label") { |
| 132 | 132 | bool ok = false; |
| 133 | - if (value.canConvert(QVariant::Double)) | |
| 133 | + const QString valueString = value.toString(); | |
| 134 | + | |
| 135 | + /* We assume that if the value starts with '0' | |
| 136 | + then it was probably intended to to be a string UID | |
| 137 | + and that it's numerical value is not relevant. */ | |
| 138 | + if (value.canConvert(QVariant::Double) && | |
| 139 | + (!valueString.startsWith('0') || (valueString == "0"))) | |
| 134 | 140 | value.toFloat(&ok); |
| 135 | - if (!ok && !Globals->classes.contains(value.toString())) | |
| 136 | - Globals->classes.insert(value.toString(), Globals->classes.size()); | |
| 141 | + | |
| 142 | + if (!ok && !Globals->classes.contains(valueString)) | |
| 143 | + Globals->classes.insert(valueString, Globals->classes.size()); | |
| 137 | 144 | } |
| 138 | 145 | |
| 139 | 146 | m_metadata.insert(key, value); | ... | ... |