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,6 +26,8 @@ | ||
| 26 | #include <QRegExp> | 26 | #include <QRegExp> |
| 27 | #include <QStack> | 27 | #include <QStack> |
| 28 | #include <QUrl> | 28 | #include <QUrl> |
| 29 | +#include <QMap> | ||
| 30 | + | ||
| 29 | #include <openbr/openbr_plugin.h> | 31 | #include <openbr/openbr_plugin.h> |
| 30 | 32 | ||
| 31 | #include "alphanum.hpp" | 33 | #include "alphanum.hpp" |
| @@ -410,6 +412,8 @@ QString toString(const QVariant &variant) | @@ -410,6 +412,8 @@ QString toString(const QVariant &variant) | ||
| 410 | QString::number(rect.y()), | 412 | QString::number(rect.y()), |
| 411 | QString::number(rect.width()), | 413 | QString::number(rect.width()), |
| 412 | QString::number(rect.height())); | 414 | QString::number(rect.height())); |
| 415 | + } else if (variant.canConvert(QVariant::Map)) { | ||
| 416 | + return toString(qvariant_cast<QVariantMap>(variant)); | ||
| 413 | } | 417 | } |
| 414 | 418 | ||
| 415 | return QString(); | 419 | return QString(); |
| @@ -427,6 +431,21 @@ QString toString(const QVariantList &variantList) | @@ -427,6 +431,21 @@ QString toString(const QVariantList &variantList) | ||
| 427 | return QString(); | 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 | QString toTime(int s) | 449 | QString toTime(int s) |
| 431 | { | 450 | { |
| 432 | int h = s / (60*60); | 451 | int h = s / (60*60); |
openbr/core/qtutils.h
| @@ -75,6 +75,7 @@ namespace QtUtils | @@ -75,6 +75,7 @@ namespace QtUtils | ||
| 75 | /**** Variant Utilities ****/ | 75 | /**** Variant Utilities ****/ |
| 76 | QString toString(const QVariant &variant); | 76 | QString toString(const QVariant &variant); |
| 77 | QString toString(const QVariantList &variantList); | 77 | QString toString(const QVariantList &variantList); |
| 78 | + QString toString(const QVariantMap &QVariantMap); | ||
| 78 | 79 | ||
| 79 | template <typename T> | 80 | template <typename T> |
| 80 | QVariantList toVariantList(const QList<T> &list) | 81 | QVariantList toVariantList(const QList<T> &list) |