Add maximum date properties to datefieldbackend
authorClaudio Cambra <claudio.cambra@nextcloud.com>
Mon, 7 Aug 2023 15:14:34 +0000 (23:14 +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 7616fac3881237112a06aeb8e3e069827c55f9dd..22948c12f285c285de8ad93221c0f4f7a30b3e48 100644 (file)
@@ -93,5 +93,35 @@ void DateFieldBackend::setMinimumDateTimeMsecs(const qint64 minimumDateTimeMsecs
     const auto dt = QDateTime::fromMSecsSinceEpoch(minimumDateTimeMsecs);
     setMinimumDateTime(dt);
 }
+
+QDateTime DateFieldBackend::maximumDateTime() const
+{
+    return _maximumDateTime;
+}
+
+void DateFieldBackend::setMaximumDateTime(const QDateTime &maximumDateTime)
+{
+    if (_maximumDateTime == maximumDateTime) {
+        return;
+    }
+
+    _maximumDateTime = maximumDateTime;
+    Q_EMIT maximumDateTimeChanged();
+}
+
+qint64 DateFieldBackend::maximumDateTimeMsecs() const
+{
+    return _maximumDateTime.toMSecsSinceEpoch();
+}
+
+void DateFieldBackend::setMaximumDateTimeMsecs(const qint64 maximumDateTimeMsecs)
+{
+    if (_maximumDateTime.toMSecsSinceEpoch() == maximumDateTimeMsecs) {
+        return;
+    }
+
+    const auto dt = QDateTime::fromMSecsSinceEpoch(maximumDateTimeMsecs);
+    setMaximumDateTime(dt);
+}
 }
 }
\ No newline at end of file
index fe453a00f60b351704ba2c12fed5a9a8398726d2..970b00f6820dae0cbc653ab930a5a6f9d07d2d7e 100644 (file)
@@ -32,6 +32,10 @@ class DateFieldBackend : public QObject
 
     Q_PROPERTY(QDateTime minimumDateTime READ minimumDateTime WRITE setMinimumDateTime NOTIFY minimumDateTimeChanged)
     Q_PROPERTY(qint64 minimumDateTimeMsecs READ minimumDateTimeMsecs WRITE setMinimumDateTimeMsecs NOTIFY minimumDateTimeChanged)
+
+    Q_PROPERTY(QDateTime maximumDateTime READ maximumDateTime WRITE setMaximumDateTime NOTIFY maximumDateTimeChanged)
+    Q_PROPERTY(qint64 maximumDateTimeMsecs READ maximumDateTimeMsecs WRITE setMaximumDateTimeMsecs NOTIFY maximumDateTimeChanged)
+
 public:
     explicit DateFieldBackend() = default;
 
@@ -42,6 +46,9 @@ public:
     [[nodiscard]] QDateTime minimumDateTime() const;
     [[nodiscard]] qint64 minimumDateTimeMsecs() const;
 
+    [[nodiscard]] QDateTime maximumDateTime() const;
+    [[nodiscard]] qint64 maximumDateTimeMsecs() const;
+
 public slots:
     void setDateTime(const QDateTime &dateTime);
     void setDateTimeMsecs(const qint64 dateTimeMsecs);
@@ -50,13 +57,18 @@ public slots:
     void setMinimumDateTime(const QDateTime &minimumDateTime);
     void setMinimumDateTimeMsecs(const qint64 minimumDateTimeMsecs);
 
+    void setMaximumDateTime(const QDateTime &maximumDateTime);
+    void setMaximumDateTimeMsecs(const qint64 maximumDateTimeMsecs);
+
 signals:
     void dateTimeChanged();
     void minimumDateTimeChanged();
+    void maximumDateTimeChanged();
 
 private:
     QDateTime _dateTime;
     QDateTime _minimumDateTime;
+    QDateTime _maximumDateTime;
 };
 
 } // namespace Quick