forked from qt-creator/qt-creator
Axivion: Limit fetch data when sorting
If just the sorting of the current dashboard changes there is no need to refetch every bit again as this also includes additional server-side work which is not needed and decreases overall performance. Fixes: QTCREATORBUG-31998 Change-Id: I3bc1841b66587b59cdf764157252e9c4b04b8605 Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io> Reviewed-by: Mohammad Mehdi Salem Naraghi <mehdi.salem@qt.io>
This commit is contained in:
@@ -202,6 +202,7 @@ private:
|
||||
void updateTable();
|
||||
void addIssues(const Dto::IssueTableDto &dto, int startRow);
|
||||
void onSearchParameterChanged();
|
||||
void onSortParameterChanged();
|
||||
void updateVersionItemsEnabledState();
|
||||
void updateBasicProjectInfo(const std::optional<Dto::ProjectInfoDto> &info);
|
||||
void updateAllFilters(const QVariant &namedFilter);
|
||||
@@ -362,7 +363,7 @@ IssuesWidget::IssuesWidget(QWidget *parent)
|
||||
m_headerView = new IssueHeaderView(this);
|
||||
m_headerView->setSectionsMovable(true);
|
||||
connect(m_headerView, &IssueHeaderView::sortTriggered,
|
||||
this, &IssuesWidget::onSearchParameterChanged);
|
||||
this, &IssuesWidget::onSortParameterChanged);
|
||||
connect(m_headerView, &IssueHeaderView::filterChanged,
|
||||
this, &IssuesWidget::onSearchParameterChanged);
|
||||
m_issuesView->setHeader(m_headerView);
|
||||
@@ -696,6 +697,14 @@ void IssuesWidget::onSearchParameterChanged()
|
||||
fetchIssues(search);
|
||||
}
|
||||
|
||||
void IssuesWidget::onSortParameterChanged()
|
||||
{
|
||||
m_issuesModel->clear();
|
||||
m_issuesModel->setExpectedRowCount(m_totalRowCount);
|
||||
IssueListSearch search = searchFromUi();
|
||||
fetchIssues(search);
|
||||
}
|
||||
|
||||
void IssuesWidget::updateVersionItemsEnabledState()
|
||||
{
|
||||
const int versionCount = m_versionDates.size();
|
||||
|
Reference in New Issue
Block a user