From 31321a4db73932001b28842573db37804d6dc843 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Wed, 30 Nov 2016 13:49:12 +0100 Subject: [PATCH] fix(src/components/chat/ChatProxyModel): fix `loadMoreEntries` to support the switch between views --- tests/src/components/chat/ChatProxyModel.cpp | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/tests/src/components/chat/ChatProxyModel.cpp b/tests/src/components/chat/ChatProxyModel.cpp index d676df8a4..20faed1bd 100644 --- a/tests/src/components/chat/ChatProxyModel.cpp +++ b/tests/src/components/chat/ChatProxyModel.cpp @@ -32,18 +32,20 @@ ChatProxyModel::ChatProxyModel (QObject *parent) : QSortFilterProxyModel(parent) } void ChatProxyModel::loadMoreEntries () { - // Do not increase `m_n_max_displayed_entries` if it's not necessary... - // Limit qml calls. - if (m_chat_model_filter.rowCount() <= m_n_max_displayed_entries) - return; - int count = rowCount(); - m_n_max_displayed_entries += ENTRIES_CHUNK_SIZE; + int parent_count = m_chat_model_filter.rowCount(); - invalidateFilter(); + if (count < parent_count) { + // Do not increase `m_n_max_displayed_entries` if it's not necessary... + // Limit qml calls. + if (count == m_n_max_displayed_entries) + m_n_max_displayed_entries += ENTRIES_CHUNK_SIZE; - if (count < rowCount()) - emit moreEntriesLoaded(); + invalidateFilter(); + + if (count < rowCount()) + emit moreEntriesLoaded(); + } } void ChatProxyModel::setEntryTypeFilter (ChatModel::EntryType type) {