Add minimum date properties to datefieldbackend
authorClaudio Cambra <claudio.cambra@nextcloud.com>
Mon, 7 Aug 2023 15:11:53 +0000 (23:11 +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 5fadabe0cb478bc402f1de8bdf7d33df23b490e5..7616fac3881237112a06aeb8e3e069827c55f9dd 100644 (file)
@@ -23,27 +23,27 @@ namespace Quick
 
 QDateTime DateFieldBackend::dateTime() const
 {
-    return m_dateTime;
+    return _dateTime;
 }
 
 void DateFieldBackend::setDateTime(const QDateTime &dateTime)
 {
-    if (m_dateTime == dateTime) {
+    if (_dateTime == dateTime) {
         return;
     }
 
-    m_dateTime = dateTime;
+    _dateTime = dateTime;
     Q_EMIT dateTimeChanged();
 }
 
 qint64 DateFieldBackend::dateTimeMsecs() const
 {
-    return m_dateTime.toMSecsSinceEpoch();
+    return _dateTime.toMSecsSinceEpoch();
 }
 
 void DateFieldBackend::setDateTimeMsecs(const qint64 dateTimeMsecs)
 {
-    if (m_dateTime.toMSecsSinceEpoch() == dateTimeMsecs) {
+    if (_dateTime.toMSecsSinceEpoch() == dateTimeMsecs) {
         return;
     }
 
@@ -54,7 +54,7 @@ void DateFieldBackend::setDateTimeMsecs(const qint64 dateTimeMsecs)
 QString DateFieldBackend::dateTimeString() const
 {
     const auto locale = QLocale::system();
-    return m_dateTime.toString(locale.dateTimeFormat(QLocale::ShortFormat));
+    return _dateTime.toString(locale.dateTimeFormat(QLocale::ShortFormat));
 }
 
 void DateFieldBackend::setDateTimeString(const QString &dateTimeString)
@@ -64,5 +64,34 @@ void DateFieldBackend::setDateTimeString(const QString &dateTimeString)
     setDateTime(dt);
 }
 
+QDateTime DateFieldBackend::minimumDateTime() const
+{
+    return _minimumDateTime;
+}
+
+void DateFieldBackend::setMinimumDateTime(const QDateTime &minimumDateTime)
+{
+    if (_minimumDateTime == minimumDateTime) {
+        return;
+    }
+
+    _minimumDateTime = minimumDateTime;
+    Q_EMIT minimumDateTimeChanged();
+}
+
+qint64 DateFieldBackend::minimumDateTimeMsecs() const
+{
+    return _minimumDateTime.toMSecsSinceEpoch();
+}
+
+void DateFieldBackend::setMinimumDateTimeMsecs(const qint64 minimumDateTimeMsecs)
+{
+    if (_minimumDateTime.toMSecsSinceEpoch() == minimumDateTimeMsecs) {
+        return;
+    }
+
+    const auto dt = QDateTime::fromMSecsSinceEpoch(minimumDateTimeMsecs);
+    setMinimumDateTime(dt);
+}
 }
 }
\ No newline at end of file
index b20e17dca930388049ff29878fe996c4029a6c71..fe453a00f60b351704ba2c12fed5a9a8398726d2 100644 (file)
@@ -30,6 +30,8 @@ class DateFieldBackend : public QObject
     Q_PROPERTY(qint64 dateTimeMsecs READ dateTimeMsecs WRITE setDateTimeMsecs NOTIFY dateTimeChanged)
     Q_PROPERTY(QString dateTimeString READ dateTimeString WRITE setDateTimeString NOTIFY dateTimeChanged)
 
+    Q_PROPERTY(QDateTime minimumDateTime READ minimumDateTime WRITE setMinimumDateTime NOTIFY minimumDateTimeChanged)
+    Q_PROPERTY(qint64 minimumDateTimeMsecs READ minimumDateTimeMsecs WRITE setMinimumDateTimeMsecs NOTIFY minimumDateTimeChanged)
 public:
     explicit DateFieldBackend() = default;
 
@@ -37,16 +39,24 @@ public:
     [[nodiscard]] qint64 dateTimeMsecs() const;
     [[nodiscard]] QString dateTimeString() const;
 
+    [[nodiscard]] QDateTime minimumDateTime() const;
+    [[nodiscard]] qint64 minimumDateTimeMsecs() const;
+
 public slots:
     void setDateTime(const QDateTime &dateTime);
     void setDateTimeMsecs(const qint64 dateTimeMsecs);
     void setDateTimeString(const QString &dateTimeString);
 
+    void setMinimumDateTime(const QDateTime &minimumDateTime);
+    void setMinimumDateTimeMsecs(const qint64 minimumDateTimeMsecs);
+
 signals:
     void dateTimeChanged();
+    void minimumDateTimeChanged();
 
 private:
-    QDateTime m_dateTime;
+    QDateTime _dateTime;
+    QDateTime _minimumDateTime;
 };
 
 } // namespace Quick