init roleNames only one time

Change-Id: I61e120c2e5c4a036c001b410331e09993d7594d6
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This commit is contained in:
Tim Jenssen
2016-06-17 17:33:02 +02:00
parent 29e51517f4
commit c13f2f0784
5 changed files with 66 additions and 58 deletions

View File

@@ -94,14 +94,15 @@ QVariant SessionModel::data(const QModelIndex &index, int role) const
QHash<int, QByteArray> SessionModel::roleNames() const QHash<int, QByteArray> SessionModel::roleNames() const
{ {
QHash<int, QByteArray> roleNames; static QHash<int, QByteArray> extraRoles{
roleNames[Qt::DisplayRole] = "sessionName"; {Qt::DisplayRole, "sessionName"},
roleNames[DefaultSessionRole] = "defaultSession"; {DefaultSessionRole, "defaultSession"},
roleNames[ActiveSessionRole] = "activeSession"; {ActiveSessionRole, "activeSession"},
roleNames[LastSessionRole] = "lastSession"; {LastSessionRole, "lastSession"},
roleNames[ProjectsPathRole] = "projectsPath"; {ProjectsPathRole, "projectsPath"},
roleNames[ProjectsDisplayRole] = "projectsName"; {ProjectsDisplayRole, "projectsName"}
return roleNames; };
return QAbstractListModel::roleNames() + extraRoles;
} }
bool SessionModel::isDefaultVirgin() const bool SessionModel::isDefaultVirgin() const
@@ -180,6 +181,8 @@ QVariant ProjectModel::data(const QModelIndex &index, int role) const
switch (role) { switch (role) {
case Qt::DisplayRole: case Qt::DisplayRole:
return data.second; return data.second;
case Qt::ToolTipRole:
return data.first;
case FilePathRole: case FilePathRole:
return data.first; return data.first;
case PrettyFilePathRole: case PrettyFilePathRole:
@@ -191,11 +194,11 @@ QVariant ProjectModel::data(const QModelIndex &index, int role) const
QHash<int, QByteArray> ProjectModel::roleNames() const QHash<int, QByteArray> ProjectModel::roleNames() const
{ {
QHash<int, QByteArray> roleNames; static QHash<int, QByteArray> extraRoles{
roleNames[Qt::DisplayRole] = "displayName"; {FilePathRole, "filePath"},
roleNames[FilePathRole] = "filePath"; {PrettyFilePathRole, "prettyFilePath"}
roleNames[PrettyFilePathRole] = "prettyFilePath"; };
return roleNames; return QAbstractListModel::roleNames().unite(extraRoles);
} }
void ProjectModel::resetProjects() void ProjectModel::resetProjects()

View File

@@ -56,11 +56,12 @@ int GradientModel::rowCount(const QModelIndex & /*parent*/) const
QHash<int, QByteArray> GradientModel::roleNames() const QHash<int, QByteArray> GradientModel::roleNames() const
{ {
QHash<int, QByteArray> roleNames; static QHash<int, QByteArray> roleNames{
roleNames[Qt::UserRole + 1] = "position"; {Qt::UserRole + 1, "position"},
roleNames[Qt::UserRole + 2] = "color"; {Qt::UserRole + 2, "color"},
roleNames[Qt::UserRole + 3] = "readOnly"; {Qt::UserRole + 3, "readOnly"},
roleNames[Qt::UserRole + 4] = "index"; {Qt::UserRole + 4, "index"}
};
return roleNames; return roleNames;
} }

View File

@@ -124,10 +124,11 @@ QVariant StatesEditorModel::data(const QModelIndex &index, int role) const
QHash<int, QByteArray> StatesEditorModel::roleNames() const QHash<int, QByteArray> StatesEditorModel::roleNames() const
{ {
QHash<int, QByteArray> roleNames; static QHash<int, QByteArray> roleNames{
roleNames.insert(StateNameRole, "stateName"); {StateNameRole, "stateName"},
roleNames.insert(StateImageSourceRole, "stateImageSource"); {StateImageSourceRole, "stateImageSource"},
roleNames.insert(InternalNodeId, "internalNodeId"); {InternalNodeId, "internalNodeId"}
};
return roleNames; return roleNames;
} }

View File

@@ -250,20 +250,21 @@ QVariant FlameGraphModel::data(const QModelIndex &index, int role) const
QHash<int, QByteArray> FlameGraphModel::roleNames() const QHash<int, QByteArray> FlameGraphModel::roleNames() const
{ {
QHash<int, QByteArray> names = QAbstractItemModel::roleNames(); static QHash<int, QByteArray> extraRoles{
names[TypeIdRole] = "typeId"; {TypeIdRole, "typeId"},
names[TypeRole] = "type"; {TypeRole, "type"},
names[DurationRole] = "duration"; {DurationRole, "duration"},
names[CallCountRole] = "callCount"; {CallCountRole, "callCount"},
names[DetailsRole] = "details"; {DetailsRole, "details"},
names[FilenameRole] = "filename"; {FilenameRole, "filename"},
names[LineRole] = "line"; {LineRole, "line"},
names[ColumnRole] = "column"; {ColumnRole, "column"},
names[NoteRole] = "note"; {NoteRole, "note"},
names[TimePerCallRole] = "timePerCall"; {TimePerCallRole, "timePerCall"},
names[TimeInPercentRole] = "timeInPercent"; {TimeInPercentRole, "timeInPercent"},
names[RangeTypeRole] = "rangeType"; {RangeTypeRole, "rangeType"}
return names; };
return QAbstractItemModel::roleNames().unite(extraRoles);
} }
QmlProfilerModelManager *FlameGraphModel::modelManager() const QmlProfilerModelManager *FlameGraphModel::modelManager() const

View File

@@ -188,10 +188,11 @@ int ExampleSetModel::getExtraExampleSetIndex(int i) const
QHash<int, QByteArray> ExampleSetModel::roleNames() const QHash<int, QByteArray> ExampleSetModel::roleNames() const
{ {
QHash<int, QByteArray> roleNames; static QHash<int, QByteArray> roleNames{
roleNames[Qt::UserRole + 1] = "text"; {Qt::UserRole + 1, "text"},
roleNames[Qt::UserRole + 2] = "QtId"; {Qt::UserRole + 2, "QtId"},
roleNames[Qt::UserRole + 3] = "extraSetIndex"; {Qt::UserRole + 3, "extraSetIndex"}
};
return roleNames; return roleNames;
} }
@@ -680,24 +681,25 @@ QVariant ExamplesListModel::data(const QModelIndex &index, int role) const
QHash<int, QByteArray> ExamplesListModel::roleNames() const QHash<int, QByteArray> ExamplesListModel::roleNames() const
{ {
QHash<int, QByteArray> roleNames; static QHash<int, QByteArray> roleNames{
roleNames[Name] = "name"; {Name, "name"},
roleNames[ProjectPath] = "projectPath"; {ProjectPath, "projectPath"},
roleNames[ImageUrl] = "imageUrl"; {ImageUrl, "imageUrl"},
roleNames[Description] = "description"; {Description, "description"},
roleNames[DocUrl] = "docUrl"; {DocUrl, "docUrl"},
roleNames[FilesToOpen] = "filesToOpen"; {FilesToOpen, "filesToOpen"},
roleNames[MainFile] = "mainFile"; {MainFile, "mainFile"},
roleNames[Tags] = "tags"; {Tags, "tags"},
roleNames[Difficulty] = "difficulty"; {Difficulty, "difficulty"},
roleNames[Type] = "type"; {Type, "type"},
roleNames[HasSourceCode] = "hasSourceCode"; {HasSourceCode, "hasSourceCode"},
roleNames[Dependencies] = "dependencies"; {Dependencies, "dependencies"},
roleNames[IsVideo] = "isVideo"; {IsVideo, "isVideo"},
roleNames[VideoUrl] = "videoUrl"; {VideoUrl, "videoUrl"},
roleNames[VideoLength] = "videoLength"; {VideoLength, "videoLength"},
roleNames[Platforms] = "platforms"; {Platforms, "platforms"},
roleNames[IsHighlighted] = "isHighlighted"; {IsHighlighted, "isHighlighted"}
};
return roleNames; return roleNames;
} }