From: Claudio Cambra Date: Mon, 7 Aug 2023 15:11:53 +0000 (+0800) Subject: Add minimum date properties to datefieldbackend X-Git-Tag: archive/raspbian/3.16.7-1_deb13u1+rpi1~1^2~12^2~9^2~7^2~18 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=8cbf8ef34b756bec525518a77b484dc38a0da0d7;p=nextcloud-desktop.git Add minimum date properties to datefieldbackend Signed-off-by: Claudio Cambra --- diff --git a/src/gui/filedetails/datefieldbackend.cpp b/src/gui/filedetails/datefieldbackend.cpp index 5fadabe0c..7616fac38 100644 --- a/src/gui/filedetails/datefieldbackend.cpp +++ b/src/gui/filedetails/datefieldbackend.cpp @@ -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 diff --git a/src/gui/filedetails/datefieldbackend.h b/src/gui/filedetails/datefieldbackend.h index b20e17dca..fe453a00f 100644 --- a/src/gui/filedetails/datefieldbackend.h +++ b/src/gui/filedetails/datefieldbackend.h @@ -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