Commit 1fd84565bde840007fdedf907018e7cd2dbf379a
1 parent
5ab669f9
Added the ability to store QMaps as File metadata
Showing
2 changed files
with
20 additions
and
0 deletions
openbr/core/qtutils.cpp
| ... | ... | @@ -26,6 +26,8 @@ |
| 26 | 26 | #include <QRegExp> |
| 27 | 27 | #include <QStack> |
| 28 | 28 | #include <QUrl> |
| 29 | +#include <QMap> | |
| 30 | + | |
| 29 | 31 | #include <openbr/openbr_plugin.h> |
| 30 | 32 | |
| 31 | 33 | #include "alphanum.hpp" |
| ... | ... | @@ -410,6 +412,8 @@ QString toString(const QVariant &variant) |
| 410 | 412 | QString::number(rect.y()), |
| 411 | 413 | QString::number(rect.width()), |
| 412 | 414 | QString::number(rect.height())); |
| 415 | + } else if (variant.canConvert(QVariant::Map)) { | |
| 416 | + return toString(qvariant_cast<QVariantMap>(variant)); | |
| 413 | 417 | } |
| 414 | 418 | |
| 415 | 419 | return QString(); |
| ... | ... | @@ -427,6 +431,21 @@ QString toString(const QVariantList &variantList) |
| 427 | 431 | return QString(); |
| 428 | 432 | } |
| 429 | 433 | |
| 434 | +QString toString(const QMap<QString,QVariant> &variantMap) | |
| 435 | +{ | |
| 436 | + QStringList variants; | |
| 437 | + | |
| 438 | + QMapIterator<QString, QVariant> i(variantMap); | |
| 439 | + while (i.hasNext()) { | |
| 440 | + i.next(); | |
| 441 | + variants.append(i.key() + "=" + toString(i.value())); | |
| 442 | + } | |
| 443 | + | |
| 444 | + if (!variants.isEmpty()) return "[" + variants.join(", ") + "]"; | |
| 445 | + | |
| 446 | + return QString(); | |
| 447 | +} | |
| 448 | + | |
| 430 | 449 | QString toTime(int s) |
| 431 | 450 | { |
| 432 | 451 | int h = s / (60*60); | ... | ... |
openbr/core/qtutils.h
| ... | ... | @@ -75,6 +75,7 @@ namespace QtUtils |
| 75 | 75 | /**** Variant Utilities ****/ |
| 76 | 76 | QString toString(const QVariant &variant); |
| 77 | 77 | QString toString(const QVariantList &variantList); |
| 78 | + QString toString(const QVariantMap &QVariantMap); | |
| 78 | 79 | |
| 79 | 80 | template <typename T> |
| 80 | 81 | QVariantList toVariantList(const QList<T> &list) | ... | ... |