void CourseFilterModel::setView(CourseFilterModel::CourseResourceView view) { if (view == m_view) { return; } m_view = view; invalidateFilter(); emit viewChanged(); emit filteredCountChanged(); }
void LoginSessionModel::removeSession(const QString &id) { for(int i=0;i<m_sessions.size();++i) { if(m_sessions.at(i).id == id) { m_sessions.removeAt(i); break; } } removeFiltered(id); emit filteredCountChanged(); }
void LoginSessionModel::updateSession(const LoginSession &session) { // If the session is already listed, update it in place for(int i=0;i<m_sessions.size();++i) { if(m_sessions.at(i).id == session.id) { m_sessions[i] = session; if(session.nsfm && m_hideNsfm) removeFiltered(session.id); else updateFiltered(session); emit filteredCountChanged(); return; } } // Add a new session to the end of the list m_sessions << session; if(!m_hideNsfm || !session.nsfm) updateFiltered(session); emit filteredCountChanged(); }
void LoginSessionModel::setHideNsfm(bool hide) { if(hide != m_hideNsfm) { m_hideNsfm = hide; beginResetModel(); if(hide) { m_filtered.clear(); for(const LoginSession &ls : m_sessions) if(!ls.nsfm) m_filtered << ls; } else { m_filtered = m_sessions; } endResetModel(); emit filteredCountChanged(); } }
void CourseFilterModel::setCourseModel(CourseModel *courseModel) { if (courseModel == m_courseModel) { return; } if (m_courseModel) { disconnect(m_courseModel, &CourseModel::languageChanged, this, &CourseFilterModel::filteredCountChanged); disconnect(m_courseModel, &CourseModel::rowCountChanged, this, &CourseFilterModel::filteredCountChanged); } m_courseModel = courseModel; connect(m_courseModel, &CourseModel::languageChanged, this, &CourseFilterModel::filteredCountChanged); connect(m_courseModel, &CourseModel::rowCountChanged, this, &CourseFilterModel::filteredCountChanged); setSourceModel(m_courseModel); sort(0); emit courseModelChanged(); emit filteredCountChanged(); }