From 1fd84565bde840007fdedf907018e7cd2dbf379a Mon Sep 17 00:00:00 2001 From: Scott Klum Date: Thu, 27 Mar 2014 13:29:20 -0400 Subject: [PATCH] Added the ability to store QMaps as File metadata --- openbr/core/qtutils.cpp | 19 +++++++++++++++++++ openbr/core/qtutils.h | 1 + 2 files changed, 20 insertions(+), 0 deletions(-) diff --git a/openbr/core/qtutils.cpp b/openbr/core/qtutils.cpp index 0d5b511..dcab359 100644 --- a/openbr/core/qtutils.cpp +++ b/openbr/core/qtutils.cpp @@ -26,6 +26,8 @@ #include #include #include +#include + #include #include "alphanum.hpp" @@ -410,6 +412,8 @@ QString toString(const QVariant &variant) QString::number(rect.y()), QString::number(rect.width()), QString::number(rect.height())); + } else if (variant.canConvert(QVariant::Map)) { + return toString(qvariant_cast(variant)); } return QString(); @@ -427,6 +431,21 @@ QString toString(const QVariantList &variantList) return QString(); } +QString toString(const QMap &variantMap) +{ + QStringList variants; + + QMapIterator i(variantMap); + while (i.hasNext()) { + i.next(); + variants.append(i.key() + "=" + toString(i.value())); + } + + if (!variants.isEmpty()) return "[" + variants.join(", ") + "]"; + + return QString(); +} + QString toTime(int s) { int h = s / (60*60); diff --git a/openbr/core/qtutils.h b/openbr/core/qtutils.h index 256b968..5c11416 100644 --- a/openbr/core/qtutils.h +++ b/openbr/core/qtutils.h @@ -75,6 +75,7 @@ namespace QtUtils /**** Variant Utilities ****/ QString toString(const QVariant &variant); QString toString(const QVariantList &variantList); + QString toString(const QVariantMap &QVariantMap); template QVariantList toVariantList(const QList &list) -- libgit2 0.21.4