|
@@ -128,23 +128,18 @@ void HomeView::loadProjects()
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- m_projListWidget->setProjects(filterResult());
|
|
|
+ m_projListWidget->setProjects(m_projList);
|
|
|
}
|
|
|
|
|
|
-QList<ProjectInfo *> HomeView::filterResult() const
|
|
|
+int HomeView::firstPage() const
|
|
|
{
|
|
|
- QList<ProjectInfo *> list;
|
|
|
- for (ProjectInfo *proj : m_projList) {
|
|
|
- bool search = proj->projectName.contains(m_search->text());
|
|
|
- QList<ProjectManager::EvalType> types = ProjectManager::evalTypeList(*proj);
|
|
|
- bool typeValid = types.contains(ProjectManager::Requirements)
|
|
|
- | types.contains(ProjectManager::SchemeOptimization)
|
|
|
- | types.contains(ProjectManager::OverallEfficiency);
|
|
|
- if (search && typeValid) {
|
|
|
- list.append(proj);
|
|
|
- }
|
|
|
- }
|
|
|
- return list;
|
|
|
+ return 1;
|
|
|
+}
|
|
|
+
|
|
|
+int HomeView::finalPage() const
|
|
|
+{
|
|
|
+ int p = m_total / m_pageSize + (m_total % m_pageSize > 0 ? 1 : 0);
|
|
|
+ return std::max(p, firstPage());
|
|
|
}
|
|
|
|
|
|
void HomeView::slotCreateProjClicked()
|
|
@@ -156,14 +151,12 @@ void HomeView::slotCreateProjClicked()
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-void HomeView::slotSearchTextChanged()
|
|
|
-{
|
|
|
- m_projListWidget->setProjects(filterResult());
|
|
|
-}
|
|
|
+void HomeView::slotSearchTextChanged() { }
|
|
|
|
|
|
void HomeView::slotFilterClicked()
|
|
|
{
|
|
|
- qDebug() << __FUNCTION__ << __LINE__ << endl;
|
|
|
+ m_page = firstPage();
|
|
|
+ loadProjects();
|
|
|
}
|
|
|
|
|
|
/// @todo 修改或者新建项目后, 列表移到该条目
|
|
@@ -221,24 +214,26 @@ void HomeView::slotDeleteProject(ProjectInfo *proj)
|
|
|
|
|
|
void HomeView::slotPreviousClicked()
|
|
|
{
|
|
|
- qDebug() << __FUNCTION__ << __LINE__ << endl;
|
|
|
+ m_page--;
|
|
|
+ m_page = std::max(m_page, firstPage());
|
|
|
loadProjects();
|
|
|
}
|
|
|
|
|
|
void HomeView::slotNextClicked()
|
|
|
{
|
|
|
- qDebug() << __FUNCTION__ << __LINE__ << endl;
|
|
|
+ m_page++;
|
|
|
+ m_page = std::min(m_page, finalPage());
|
|
|
loadProjects();
|
|
|
}
|
|
|
|
|
|
void HomeView::slotFirstClicked()
|
|
|
{
|
|
|
- qDebug() << __FUNCTION__ << __LINE__ << endl;
|
|
|
+ m_page = firstPage();
|
|
|
loadProjects();
|
|
|
}
|
|
|
|
|
|
void HomeView::slotFinalClicked()
|
|
|
{
|
|
|
- qDebug() << __FUNCTION__ << __LINE__ << endl;
|
|
|
+ m_page = finalPage();
|
|
|
loadProjects();
|
|
|
}
|