diff --git a/libs/utils/propertystorage.cpp b/libs/utils/propertystorage.cpp index 794a32c..8e8a0de 100644 --- a/libs/utils/propertystorage.cpp +++ b/libs/utils/propertystorage.cpp @@ -2,6 +2,23 @@ #include "qad_types.h" +PropertyStorage::PropertyStorage(const QVariantMap & pl) { + QMapIterator it(pl); + while (it.hasNext()) { + it.next(); + props << Property(it.key(), "", it.value()); + } +} + + +QVariantMap PropertyStorage::toVariantMap() const { + QVariantMap ret; + foreach (const Property & p, props) + ret[p.name] = p.value; + return ret; +} + + bool PropertyStorage::isPropertyExists(const QString & _name) const { for (int i = 0; i < props.size(); ++i) if (props[i].name == _name) diff --git a/libs/utils/propertystorage.h b/libs/utils/propertystorage.h index 99d5cf6..c14c8ae 100644 --- a/libs/utils/propertystorage.h +++ b/libs/utils/propertystorage.h @@ -48,6 +48,7 @@ public: }; PropertyStorage(const QList & pl) {props = pl;} + PropertyStorage(const QVariantMap & pl); typedef QList::const_iterator const_iterator; typedef QList::iterator iterator; @@ -83,6 +84,7 @@ public: QList & properties() {return props;} const QList & properties() const {return props;} const PropertyStorage & propertyStorage() const {return *this;} + QVariantMap toVariantMap() const; bool isPropertyExists(const QString & _name) const; void clearProperties() {props.clear();} void addProperty(const Property & p);