From 9cfe33d13bb145b774f82b2b46b936f7b3a02a71 Mon Sep 17 00:00:00 2001 From: Dominik Holland Date: Wed, 12 Feb 2020 12:02:00 +0100 Subject: QIviPagingModel: Don't emit a warning when the emitted data is out of range To notify the QIviPagingModel instance about data changes, e.g. new rows, the dataChanged() signal is used. The QIviPagingModel will check the provided data and report a warning if the data is out of range. While this is correct for using the "DataChanged" fetch mode, where the amount of items is in sync with the backend, it doesn't make sense for the "FetchMore" mode, as the QIviPagingModel instance might not fetched all rows (just the visible ones) and the update is for an area outside of interest. Task-number: AUTOSUITE-1464 Change-Id: I606e141268c7a609e98ffa3081d414a46e1c3d93 Reviewed-by: Robert Griebl --- src/ivicore/qivipagingmodel.cpp | 6 ++++-- src/ivimedia/qiviplayqueue.cpp | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/ivicore/qivipagingmodel.cpp b/src/ivicore/qivipagingmodel.cpp index 0ddf289..b9bd4df 100644 --- a/src/ivicore/qivipagingmodel.cpp +++ b/src/ivicore/qivipagingmodel.cpp @@ -169,12 +169,14 @@ void QIviPagingModelPrivate::onDataChanged(const QUuid &identifier, const QList< return; if (start < 0 || start > m_itemList.count()) { - qWarning("provided start argument is out of range"); + if (m_loadingType == QIviPagingModel::DataChanged) + qWarning("The provided start argument is out of range. Please make sure to emit the countChanged() before emitting dataChanged()"); return; } if (count < 0 || count > m_itemList.count() - start) { - qWarning("provided count argument is out of range"); + if (m_loadingType == QIviPagingModel::DataChanged) + qWarning("The provided start argument is out of range. Please make sure to emit the countChanged() before emitting dataChanged()"); return; } diff --git a/src/ivimedia/qiviplayqueue.cpp b/src/ivimedia/qiviplayqueue.cpp index 4d30461..895f6dc 100644 --- a/src/ivimedia/qiviplayqueue.cpp +++ b/src/ivimedia/qiviplayqueue.cpp @@ -150,12 +150,14 @@ void QIviPlayQueuePrivate::onCountChanged(int new_length) void QIviPlayQueuePrivate::onDataChanged(const QList &data, int start, int count) { if (start < 0 || start > m_itemList.count()) { - qWarning("provided start argument is out of range"); + if (m_loadingType == QIviPlayQueue::DataChanged) + qWarning("The provided start argument is out of range. Please make sure to emit the countChanged() before emitting dataChanged()"); return; } if (count < 0 || count > m_itemList.count() - start) { - qWarning("provided count argument is out of range"); + if (m_loadingType == QIviPlayQueue::DataChanged) + qWarning("The provided start argument is out of range. Please make sure to emit the countChanged() before emitting dataChanged()"); return; } -- cgit v1.2.1