forked from qt-creator/qt-creator
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:
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user