Add strig based representation and setting for date in datefieldbackend
authorClaudio Cambra <claudio.cambra@nextcloud.com>
Mon, 7 Aug 2023 15:00:13 +0000 (23:00 +0800)
committerbackportbot-nextcloud[bot] <backportbot-nextcloud[bot]@users.noreply.github.com>
Wed, 13 Sep 2023 08:47:54 +0000 (08:47 +0000)
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
src/gui/filedetails/datefieldbackend.cpp
src/gui/filedetails/datefieldbackend.h

index e2dc679f18c72492a9b981e64b915f2fe77c1389..5fadabe0cb478bc402f1de8bdf7d33df23b490e5 100644 (file)
@@ -14,6 +14,8 @@
 
 #include "datefieldbackend.h"
 
+#include <QLocale>
+
 namespace OCC
 {
 namespace Quick
@@ -49,5 +51,18 @@ void DateFieldBackend::setDateTimeMsecs(const qint64 dateTimeMsecs)
     setDateTime(dt);
 }
 
+QString DateFieldBackend::dateTimeString() const
+{
+    const auto locale = QLocale::system();
+    return m_dateTime.toString(locale.dateTimeFormat(QLocale::ShortFormat));
+}
+
+void DateFieldBackend::setDateTimeString(const QString &dateTimeString)
+{
+    const auto locale = QLocale::system();
+    const auto dt = locale.toDateTime(dateTimeString, locale.dateTimeFormat(QLocale::ShortFormat));
+    setDateTime(dt);
+}
+
 }
 }
\ No newline at end of file
index 92e5508c87bd784f6e6add9d841a85062e8e2d57..b20e17dca930388049ff29878fe996c4029a6c71 100644 (file)
@@ -28,16 +28,19 @@ class DateFieldBackend : public QObject
 
     Q_PROPERTY(QDateTime dateTime READ dateTime WRITE setDateTime NOTIFY dateTimeChanged)
     Q_PROPERTY(qint64 dateTimeMsecs READ dateTimeMsecs WRITE setDateTimeMsecs NOTIFY dateTimeChanged)
+    Q_PROPERTY(QString dateTimeString READ dateTimeString WRITE setDateTimeString NOTIFY dateTimeChanged)
 
 public:
     explicit DateFieldBackend() = default;
 
     [[nodiscard]] QDateTime dateTime() const;
     [[nodiscard]] qint64 dateTimeMsecs() const;
+    [[nodiscard]] QString dateTimeString() const;
 
 public slots:
     void setDateTime(const QDateTime &dateTime);
     void setDateTimeMsecs(const qint64 dateTimeMsecs);
+    void setDateTimeString(const QString &dateTimeString);
 
 signals:
     void dateTimeChanged();