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 updateTable();
|
||||||
void addIssues(const Dto::IssueTableDto &dto, int startRow);
|
void addIssues(const Dto::IssueTableDto &dto, int startRow);
|
||||||
void onSearchParameterChanged();
|
void onSearchParameterChanged();
|
||||||
|
void onSortParameterChanged();
|
||||||
void updateVersionItemsEnabledState();
|
void updateVersionItemsEnabledState();
|
||||||
void updateBasicProjectInfo(const std::optional<Dto::ProjectInfoDto> &info);
|
void updateBasicProjectInfo(const std::optional<Dto::ProjectInfoDto> &info);
|
||||||
void updateAllFilters(const QVariant &namedFilter);
|
void updateAllFilters(const QVariant &namedFilter);
|
||||||
@@ -362,7 +363,7 @@ IssuesWidget::IssuesWidget(QWidget *parent)
|
|||||||
m_headerView = new IssueHeaderView(this);
|
m_headerView = new IssueHeaderView(this);
|
||||||
m_headerView->setSectionsMovable(true);
|
m_headerView->setSectionsMovable(true);
|
||||||
connect(m_headerView, &IssueHeaderView::sortTriggered,
|
connect(m_headerView, &IssueHeaderView::sortTriggered,
|
||||||
this, &IssuesWidget::onSearchParameterChanged);
|
this, &IssuesWidget::onSortParameterChanged);
|
||||||
connect(m_headerView, &IssueHeaderView::filterChanged,
|
connect(m_headerView, &IssueHeaderView::filterChanged,
|
||||||
this, &IssuesWidget::onSearchParameterChanged);
|
this, &IssuesWidget::onSearchParameterChanged);
|
||||||
m_issuesView->setHeader(m_headerView);
|
m_issuesView->setHeader(m_headerView);
|
||||||
@@ -696,6 +697,14 @@ void IssuesWidget::onSearchParameterChanged()
|
|||||||
fetchIssues(search);
|
fetchIssues(search);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void IssuesWidget::onSortParameterChanged()
|
||||||
|
{
|
||||||
|
m_issuesModel->clear();
|
||||||
|
m_issuesModel->setExpectedRowCount(m_totalRowCount);
|
||||||
|
IssueListSearch search = searchFromUi();
|
||||||
|
fetchIssues(search);
|
||||||
|
}
|
||||||
|
|
||||||
void IssuesWidget::updateVersionItemsEnabledState()
|
void IssuesWidget::updateVersionItemsEnabledState()
|
||||||
{
|
{
|
||||||
const int versionCount = m_versionDates.size();
|
const int versionCount = m_versionDates.size();
|
||||||
|
Reference in New Issue
Block a user