Sessions: refactor SessionModel::data

no behavior change

Change-Id: Ib41af6b6b193dc88c02cdef44e8e46aac70d7dcd
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This commit is contained in:
Tim Jenssen
2016-08-12 13:41:48 +02:00
parent 9121299138
commit fd556c85d0

View File

@@ -66,23 +66,36 @@ QStringList pathsWithTildeHomePath(const QStringList &paths)
QVariant SessionModel::data(const QModelIndex &index, int role) const QVariant SessionModel::data(const QModelIndex &index, int role) const
{ {
if (role == Qt::DisplayRole || role == DefaultSessionRole || QVariant result;
role == LastSessionRole || role == ActiveSessionRole || role == ProjectsPathRole || role == ProjectsDisplayRole) { if (index.isValid()) {
QString sessionName = SessionManager::sessions().at(index.row()); QString sessionName = SessionManager::sessions().at(index.row());
if (role == Qt::DisplayRole)
return sessionName; switch (role) {
else if (role == DefaultSessionRole) case Qt::DisplayRole:
return SessionManager::isDefaultSession(sessionName); switch (index.column()) {
else if (role == LastSessionRole) case 0: result = sessionName;
return SessionManager::lastSession() == sessionName; break;
else if (role == ActiveSessionRole) } // switch (section)
return SessionManager::activeSession() == sessionName; break;
else if (role == ProjectsPathRole) case DefaultSessionRole:
return pathsWithTildeHomePath(SessionManager::projectsForSessionName(sessionName)); result = SessionManager::isDefaultSession(sessionName);
else if (role == ProjectsDisplayRole) break;
return pathsToBaseNames(SessionManager::projectsForSessionName(sessionName)); case LastSessionRole:
result = SessionManager::lastSession() == sessionName;
break;
case ActiveSessionRole:
result = SessionManager::activeSession() == sessionName;
break;
case ProjectsPathRole:
result = pathsWithTildeHomePath(SessionManager::projectsForSessionName(sessionName));
break;
case ProjectsDisplayRole:
result = pathsToBaseNames(SessionManager::projectsForSessionName(sessionName));
break;
} // switch (role)
} }
return QVariant();
return result;
} }
QHash<int, QByteArray> SessionModel::roleNames() const QHash<int, QByteArray> SessionModel::roleNames() const