From: Claudio Cambra Date: Tue, 8 Aug 2023 10:03:35 +0000 (+0800) Subject: Do not use QDateTime, use only QDate for datefieldbackend X-Git-Tag: archive/raspbian/3.16.7-1_deb13u1+rpi1~1^2~12^2~9^2~7^2~10 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=c57852e9e36f8587da1577fd2bf8c15c8868f6f4;p=nextcloud-desktop.git Do not use QDateTime, use only QDate for datefieldbackend Signed-off-by: Claudio Cambra --- diff --git a/src/gui/filedetails/NCInputDateField.qml b/src/gui/filedetails/NCInputDateField.qml index 5a5ccf4f2..ea3f0b6e8 100644 --- a/src/gui/filedetails/NCInputDateField.qml +++ b/src/gui/filedetails/NCInputDateField.qml @@ -22,27 +22,27 @@ NCInputTextField { signal userAcceptedDate function updateText() { - text = backend.dateTimeString; + text = backend.dateString; } property DateFieldBackend backend: DateFieldBackend { id: backend - onDateTimeStringChanged: if (!root.activeFocus) root.updateText() + onDateStringChanged: if (!root.activeFocus) root.updateText() } - property alias date: backend.dateTime - property alias dateInMs: backend.dateTimeMsecs - property alias minimumDate: backend.minimumDateTime - property alias minimumDateMs: backend.minimumDateTimeMsecs - property alias maximumDate: backend.maximumDateTime - property alias maximumDateMs: backend.maximumDateTimeMsecs + property alias date: backend.date + property alias dateInMs: backend.dateMsecs + property alias minimumDate: backend.minimumDate + property alias minimumDateMs: backend.minimumDateMsecs + property alias maximumDate: backend.maximumDate + property alias maximumDateMs: backend.maximumDateMsecs - validInput: backend.validDateTime - text: backend.dateTimeString - onTextChanged: backend.dateTimeString = text + validInput: backend.validDate + text: backend.dateString + onTextChanged: backend.dateString = text onAccepted: { - backend.dateTimeString = text; + backend.dateString = text; root.userAcceptedDate(); } } \ No newline at end of file diff --git a/src/gui/filedetails/datefieldbackend.cpp b/src/gui/filedetails/datefieldbackend.cpp index 23410eabd..6c0436978 100644 --- a/src/gui/filedetails/datefieldbackend.cpp +++ b/src/gui/filedetails/datefieldbackend.cpp @@ -37,125 +37,126 @@ DateFieldBackend::DateFieldBackend(QObject *const parent) } } -QDateTime DateFieldBackend::dateTime() const +QDate DateFieldBackend::date() const { - return _dateTime; + return _date; } -void DateFieldBackend::setDateTime(const QDateTime &dateTime) +void DateFieldBackend::setDate(const QDate &date) { - if (_dateTime == dateTime) { + if (_date == date) { return; } - _dateTime = dateTime; - Q_EMIT dateTimeChanged(); - Q_EMIT dateTimeMsecsChanged(); - Q_EMIT dateTimeStringChanged(); - Q_EMIT validDateTimeChanged(); + _date = date; + + Q_EMIT dateChanged(); + Q_EMIT dateMsecsChanged(); + Q_EMIT dateStringChanged(); + Q_EMIT validDateChanged(); } -qint64 DateFieldBackend::dateTimeMsecs() const +qint64 DateFieldBackend::dateMsecs() const { - return _dateTime.toMSecsSinceEpoch(); + return _date.startOfDay().toMSecsSinceEpoch(); } -void DateFieldBackend::setDateTimeMsecs(const qint64 dateTimeMsecs) +void DateFieldBackend::setDateMsecs(const qint64 dateMsecs) { - if (_dateTime.toMSecsSinceEpoch() == dateTimeMsecs) { + if (_date.startOfDay().toMSecsSinceEpoch() == dateMsecs) { return; } - const auto dt = QDateTime::fromMSecsSinceEpoch(dateTimeMsecs); - setDateTime(dt); + const auto dt = QDateTime::fromMSecsSinceEpoch(dateMsecs); + setDate(dt.date()); } -QString DateFieldBackend::dateTimeString() const +QString DateFieldBackend::dateString() const { - return _dateTime.toString(_dateFormat); + return _date.toString(_dateFormat); } -void DateFieldBackend::setDateTimeString(const QString &dateTimeString) +void DateFieldBackend::setDateString(const QString &dateString) { const auto locale = QLocale::system(); - const auto dt = locale.toDateTime(dateTimeString, _dateFormat); - setDateTime(dt); + const auto date = locale.toDate(dateString, _dateFormat); + setDate(date); } -QDateTime DateFieldBackend::minimumDateTime() const +QDate DateFieldBackend::minimumDate() const { - return _minimumDateTime; + return _minimumDate; } -void DateFieldBackend::setMinimumDateTime(const QDateTime &minimumDateTime) +void DateFieldBackend::setMinimumDate(const QDate &minimumDate) { - if (_minimumDateTime == minimumDateTime) { + if (_minimumDate == minimumDate) { return; } - _minimumDateTime = minimumDateTime; - Q_EMIT minimumDateTimeChanged(); - Q_EMIT minimumDateTimeMsecsChanged(); - Q_EMIT validDateTimeChanged(); + _minimumDate = minimumDate; + Q_EMIT minimumDateChanged(); + Q_EMIT minimumDateMsecsChanged(); + Q_EMIT validDateChanged(); } -qint64 DateFieldBackend::minimumDateTimeMsecs() const +qint64 DateFieldBackend::minimumDateMsecs() const { - return _minimumDateTime.toMSecsSinceEpoch(); + return _minimumDate.startOfDay().toMSecsSinceEpoch(); } -void DateFieldBackend::setMinimumDateTimeMsecs(const qint64 minimumDateTimeMsecs) +void DateFieldBackend::setMinimumDateMsecs(const qint64 minimumDateMsecs) { - if (_minimumDateTime.toMSecsSinceEpoch() == minimumDateTimeMsecs) { + if (_minimumDate.startOfDay().toMSecsSinceEpoch() == minimumDateMsecs) { return; } - const auto dt = QDateTime::fromMSecsSinceEpoch(minimumDateTimeMsecs); - setMinimumDateTime(dt); + const auto dt = QDateTime::fromMSecsSinceEpoch(minimumDateMsecs); + setMinimumDate(dt.date()); } -QDateTime DateFieldBackend::maximumDateTime() const +QDate DateFieldBackend::maximumDate() const { - return _maximumDateTime; + return _maximumDate; } -void DateFieldBackend::setMaximumDateTime(const QDateTime &maximumDateTime) +void DateFieldBackend::setMaximumDate(const QDate &maximumDate) { - if (_maximumDateTime == maximumDateTime) { + if (_maximumDate == maximumDate) { return; } - _maximumDateTime = maximumDateTime; - Q_EMIT maximumDateTimeChanged(); - Q_EMIT maximumDateTimeMsecsChanged(); - Q_EMIT validDateTimeChanged(); + _maximumDate = maximumDate; + Q_EMIT maximumDateChanged(); + Q_EMIT maximumDateMsecsChanged(); + Q_EMIT validDateChanged(); } -qint64 DateFieldBackend::maximumDateTimeMsecs() const +qint64 DateFieldBackend::maximumDateMsecs() const { - return _maximumDateTime.toMSecsSinceEpoch(); + return _maximumDate.startOfDay().toMSecsSinceEpoch(); } -void DateFieldBackend::setMaximumDateTimeMsecs(const qint64 maximumDateTimeMsecs) +void DateFieldBackend::setMaximumDateMsecs(const qint64 maximumDateMsecs) { - if (_maximumDateTime.toMSecsSinceEpoch() == maximumDateTimeMsecs) { + if (_maximumDate.startOfDay().toMSecsSinceEpoch() == maximumDateMsecs) { return; } - const auto dt = QDateTime::fromMSecsSinceEpoch(maximumDateTimeMsecs); - setMaximumDateTime(dt); + const auto dt = QDateTime::fromMSecsSinceEpoch(maximumDateMsecs); + setMaximumDate(dt.date()); } -bool DateFieldBackend::validDateTime() const +bool DateFieldBackend::validDate() const { - auto valid = _dateTime.isValid(); + auto valid = _date.isValid(); - if (_minimumDateTime.isValid()) { - valid &= _dateTime >= _minimumDateTime; + if (_minimumDate.isValid()) { + valid &= _date >= _minimumDate; } - if (_maximumDateTime.isValid()) { - valid &= _dateTime <= _maximumDateTime; + if (_maximumDate.isValid()) { + valid &= _date <= _maximumDate; } return valid; diff --git a/src/gui/filedetails/datefieldbackend.h b/src/gui/filedetails/datefieldbackend.h index caea5ea2f..5ed813c47 100644 --- a/src/gui/filedetails/datefieldbackend.h +++ b/src/gui/filedetails/datefieldbackend.h @@ -14,7 +14,7 @@ #pragma once -#include +#include #include namespace OCC @@ -26,61 +26,61 @@ class DateFieldBackend : public QObject { Q_OBJECT - Q_PROPERTY(QDateTime dateTime READ dateTime WRITE setDateTime NOTIFY dateTimeChanged) - Q_PROPERTY(qint64 dateTimeMsecs READ dateTimeMsecs WRITE setDateTimeMsecs NOTIFY dateTimeMsecsChanged) - Q_PROPERTY(QString dateTimeString READ dateTimeString WRITE setDateTimeString NOTIFY dateTimeStringChanged) + Q_PROPERTY(QDate date READ date WRITE setDate NOTIFY dateChanged) + Q_PROPERTY(qint64 dateMsecs READ dateMsecs WRITE setDateMsecs NOTIFY dateMsecsChanged) + Q_PROPERTY(QString dateString READ dateString WRITE setDateString NOTIFY dateStringChanged) - Q_PROPERTY(QDateTime minimumDateTime READ minimumDateTime WRITE setMinimumDateTime NOTIFY minimumDateTimeChanged) - Q_PROPERTY(qint64 minimumDateTimeMsecs READ minimumDateTimeMsecs WRITE setMinimumDateTimeMsecs NOTIFY minimumDateTimeMsecsChanged) + Q_PROPERTY(QDate minimumDate READ minimumDate WRITE setMinimumDate NOTIFY minimumDateChanged) + Q_PROPERTY(qint64 minimumDateMsecs READ minimumDateMsecs WRITE setMinimumDateMsecs NOTIFY minimumDateMsecsChanged) - Q_PROPERTY(QDateTime maximumDateTime READ maximumDateTime WRITE setMaximumDateTime NOTIFY maximumDateTimeChanged) - Q_PROPERTY(qint64 maximumDateTimeMsecs READ maximumDateTimeMsecs WRITE setMaximumDateTimeMsecs NOTIFY maximumDateTimeMsecsChanged) + Q_PROPERTY(QDate maximumDate READ maximumDate WRITE setMaximumDate NOTIFY maximumDateChanged) + Q_PROPERTY(qint64 maximumDateMsecs READ maximumDateMsecs WRITE setMaximumDateMsecs NOTIFY maximumDateMsecsChanged) - Q_PROPERTY(bool validDateTime READ validDateTime NOTIFY validDateTimeChanged) + Q_PROPERTY(bool validDate READ validDate NOTIFY validDateChanged) public: explicit DateFieldBackend(QObject *const parent = nullptr); - [[nodiscard]] QDateTime dateTime() const; - [[nodiscard]] qint64 dateTimeMsecs() const; - [[nodiscard]] QString dateTimeString() const; + [[nodiscard]] QDate date() const; + [[nodiscard]] qint64 dateMsecs() const; + [[nodiscard]] QString dateString() const; - [[nodiscard]] QDateTime minimumDateTime() const; - [[nodiscard]] qint64 minimumDateTimeMsecs() const; + [[nodiscard]] QDate minimumDate() const; + [[nodiscard]] qint64 minimumDateMsecs() const; - [[nodiscard]] QDateTime maximumDateTime() const; - [[nodiscard]] qint64 maximumDateTimeMsecs() const; + [[nodiscard]] QDate maximumDate() const; + [[nodiscard]] qint64 maximumDateMsecs() const; - [[nodiscard]] bool validDateTime() const; + [[nodiscard]] bool validDate() const; public slots: - void setDateTime(const QDateTime &dateTime); - void setDateTimeMsecs(const qint64 dateTimeMsecs); - void setDateTimeString(const QString &dateTimeString); + void setDate(const QDate &date); + void setDateMsecs(const qint64 dateMsecs); + void setDateString(const QString &dateString); - void setMinimumDateTime(const QDateTime &minimumDateTime); - void setMinimumDateTimeMsecs(const qint64 minimumDateTimeMsecs); + void setMinimumDate(const QDate &minimumDate); + void setMinimumDateMsecs(const qint64 minimumDateMsecs); - void setMaximumDateTime(const QDateTime &maximumDateTime); - void setMaximumDateTimeMsecs(const qint64 maximumDateTimeMsecs); + void setMaximumDate(const QDate &maximumDate); + void setMaximumDateMsecs(const qint64 maximumDateMsecs); signals: - void dateTimeChanged(); - void dateTimeMsecsChanged(); - void dateTimeStringChanged(); + void dateChanged(); + void dateMsecsChanged(); + void dateStringChanged(); - void minimumDateTimeChanged(); - void minimumDateTimeMsecsChanged(); + void minimumDateChanged(); + void minimumDateMsecsChanged(); - void maximumDateTimeChanged(); - void maximumDateTimeMsecsChanged(); + void maximumDateChanged(); + void maximumDateMsecsChanged(); - void validDateTimeChanged(); + void validDateChanged(); private: - QDateTime _dateTime = QDateTime::currentDateTimeUtc(); - QDateTime _minimumDateTime; - QDateTime _maximumDateTime; + QDate _date = QDate::currentDate(); + QDate _minimumDate; + QDate _maximumDate; QString _dateFormat; };