]> dgit.raspbian.org Git - nextcloud-desktop.git/commitdiff
Give each property unique signals, fixing QML bugs
authorClaudio Cambra <claudio.cambra@nextcloud.com>
Tue, 8 Aug 2023 09:29:45 +0000 (17:29 +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/NCInputDateField.qml
src/gui/filedetails/datefieldbackend.cpp
src/gui/filedetails/datefieldbackend.h

index 63d979e35442e3b7260662b05f1017fbcb6771a8..5a5ccf4f25de617e5033079b2a70ec61a85b6ed1 100644 (file)
@@ -27,7 +27,7 @@ NCInputTextField {
 
     property DateFieldBackend backend: DateFieldBackend { 
         id: backend
-        onDateTimeChanged: if (!root.activeFocus) root.updateText()
+        onDateTimeStringChanged: if (!root.activeFocus) root.updateText()
     }
 
     property alias date: backend.dateTime
index 8377afad9374998ebac83b19ce12ca8feea797e2..23410eabd83bd22f70ba9d0e6909adcc718fb90b 100644 (file)
@@ -50,6 +50,9 @@ void DateFieldBackend::setDateTime(const QDateTime &dateTime)
 
     _dateTime = dateTime;
     Q_EMIT dateTimeChanged();
+    Q_EMIT dateTimeMsecsChanged();
+    Q_EMIT dateTimeStringChanged();
+    Q_EMIT validDateTimeChanged();
 }
 
 qint64 DateFieldBackend::dateTimeMsecs() const
@@ -92,6 +95,8 @@ void DateFieldBackend::setMinimumDateTime(const QDateTime &minimumDateTime)
 
     _minimumDateTime = minimumDateTime;
     Q_EMIT minimumDateTimeChanged();
+    Q_EMIT minimumDateTimeMsecsChanged();
+    Q_EMIT validDateTimeChanged();
 }
 
 qint64 DateFieldBackend::minimumDateTimeMsecs() const
@@ -122,6 +127,8 @@ void DateFieldBackend::setMaximumDateTime(const QDateTime &maximumDateTime)
 
     _maximumDateTime = maximumDateTime;
     Q_EMIT maximumDateTimeChanged();
+    Q_EMIT maximumDateTimeMsecsChanged();
+    Q_EMIT validDateTimeChanged();
 }
 
 qint64 DateFieldBackend::maximumDateTimeMsecs() const
index d0df944ef5dfb6c8f54f21adaece0e58c09054a9..caea5ea2f4c5d9389a6ca7ed2b65190d63acfee1 100644 (file)
@@ -27,16 +27,16 @@ 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 dateTimeChanged)
-    Q_PROPERTY(QString dateTimeString READ dateTimeString WRITE setDateTimeString NOTIFY dateTimeChanged)
+    Q_PROPERTY(qint64 dateTimeMsecs READ dateTimeMsecs WRITE setDateTimeMsecs NOTIFY dateTimeMsecsChanged)
+    Q_PROPERTY(QString dateTimeString READ dateTimeString WRITE setDateTimeString NOTIFY dateTimeStringChanged)
 
     Q_PROPERTY(QDateTime minimumDateTime READ minimumDateTime WRITE setMinimumDateTime NOTIFY minimumDateTimeChanged)
-    Q_PROPERTY(qint64 minimumDateTimeMsecs READ minimumDateTimeMsecs WRITE setMinimumDateTimeMsecs NOTIFY minimumDateTimeChanged)
+    Q_PROPERTY(qint64 minimumDateTimeMsecs READ minimumDateTimeMsecs WRITE setMinimumDateTimeMsecs NOTIFY minimumDateTimeMsecsChanged)
 
     Q_PROPERTY(QDateTime maximumDateTime READ maximumDateTime WRITE setMaximumDateTime NOTIFY maximumDateTimeChanged)
-    Q_PROPERTY(qint64 maximumDateTimeMsecs READ maximumDateTimeMsecs WRITE setMaximumDateTimeMsecs NOTIFY maximumDateTimeChanged)
+    Q_PROPERTY(qint64 maximumDateTimeMsecs READ maximumDateTimeMsecs WRITE setMaximumDateTimeMsecs NOTIFY maximumDateTimeMsecsChanged)
 
-    Q_PROPERTY(bool validDateTime READ validDateTime NOTIFY dateTimeChanged NOTIFY minimumDateTimeChanged NOTIFY maximumDateTimeChanged)
+    Q_PROPERTY(bool validDateTime READ validDateTime NOTIFY validDateTimeChanged)
 
 public:
     explicit DateFieldBackend(QObject *const parent = nullptr);
@@ -66,8 +66,16 @@ public slots:
 
 signals:
     void dateTimeChanged();
+    void dateTimeMsecsChanged();
+    void dateTimeStringChanged();
+
     void minimumDateTimeChanged();
+    void minimumDateTimeMsecsChanged();
+
     void maximumDateTimeChanged();
+    void maximumDateTimeMsecsChanged();
+
+    void validDateTimeChanged();
 
 private:
     QDateTime _dateTime = QDateTime::currentDateTimeUtc();