diff --git a/examples/mvvmcore/SampleCore/settings.xml b/examples/mvvmcore/SampleCore/settings.xml
index e814756..0fdb18c 100644
--- a/examples/mvvmcore/SampleCore/settings.xml
+++ b/examples/mvvmcore/SampleCore/settings.xml
@@ -139,7 +139,7 @@
title="Choose a date"
default="2018-10-10">
Selected date: %1
- dd.MM.yyyy
+ dd. MMMM yyyy
+#include
#include "inputviewfactory.h"
@@ -36,6 +37,23 @@ public:
}
};
+template
+class DateTimeFormatter : public Formatter
+{
+public:
+ QString format(const QString &formatString, const QVariant &value, const QVariantMap &viewProperties) const override {
+ auto formatType = viewProperties.value(QStringLiteral("qtmvvm_dateformat"));
+ QString dateStr;
+ if(formatType.type() == QVariant::Int)
+ dateStr = value.template value().toString(static_cast(formatType.toInt()));
+ else if(formatType.type() == QVariant::String)
+ dateStr = value.template value().toString(formatType.toString());
+ else
+ dateStr = value.template value().toString(Qt::DefaultLocaleShortDate);
+ return formatString.arg(dateStr);
+ }
+};
+
}
#endif // QTMVVM_FORMATTERS_P_H
diff --git a/src/mvvmquick/inputviewfactory.cpp b/src/mvvmquick/inputviewfactory.cpp
index d3ccd00..5080b37 100644
--- a/src/mvvmquick/inputviewfactory.cpp
+++ b/src/mvvmquick/inputviewfactory.cpp
@@ -131,7 +131,10 @@ InputViewFactoryPrivate::InputViewFactoryPrivate() :
{"range", QStringLiteral("qrc:/qtmvvm/delegates/RangeDelegate.qml")}
},
formatters{
- {QMetaType::typeName(QMetaType::Int), QSharedPointer::create()}
+ {QMetaType::typeName(QMetaType::Int), QSharedPointer::create()},
+ {QMetaType::typeName(QMetaType::QTime), QSharedPointer>::create()},
+ {QMetaType::typeName(QMetaType::QDate), QSharedPointer>::create()},
+ {QMetaType::typeName(QMetaType::QDateTime), QSharedPointer>::create()}
}
{
auto dblFormatter = QSharedPointer>::create();