From c13f2f07842401d48d6d7b3953c8bb0df9356cd1 Mon Sep 17 00:00:00 2001 From: Tim Jenssen Date: Fri, 17 Jun 2016 17:33:02 +0200 Subject: [PATCH] init roleNames only one time Change-Id: I61e120c2e5c4a036c001b410331e09993d7594d6 Reviewed-by: Tobias Hunger --- .../projectexplorer/projectwelcomepage.cpp | 29 ++++++------ .../propertyeditor/gradientmodel.cpp | 11 +++-- .../stateseditor/stateseditormodel.cpp | 9 ++-- src/plugins/qmlprofiler/flamegraphmodel.cpp | 29 ++++++------ src/plugins/qtsupport/exampleslistmodel.cpp | 46 ++++++++++--------- 5 files changed, 66 insertions(+), 58 deletions(-) diff --git a/src/plugins/projectexplorer/projectwelcomepage.cpp b/src/plugins/projectexplorer/projectwelcomepage.cpp index f94d4debee2..f5cee896423 100644 --- a/src/plugins/projectexplorer/projectwelcomepage.cpp +++ b/src/plugins/projectexplorer/projectwelcomepage.cpp @@ -94,14 +94,15 @@ QVariant SessionModel::data(const QModelIndex &index, int role) const QHash SessionModel::roleNames() const { - QHash roleNames; - roleNames[Qt::DisplayRole] = "sessionName"; - roleNames[DefaultSessionRole] = "defaultSession"; - roleNames[ActiveSessionRole] = "activeSession"; - roleNames[LastSessionRole] = "lastSession"; - roleNames[ProjectsPathRole] = "projectsPath"; - roleNames[ProjectsDisplayRole] = "projectsName"; - return roleNames; + static QHash extraRoles{ + {Qt::DisplayRole, "sessionName"}, + {DefaultSessionRole, "defaultSession"}, + {ActiveSessionRole, "activeSession"}, + {LastSessionRole, "lastSession"}, + {ProjectsPathRole, "projectsPath"}, + {ProjectsDisplayRole, "projectsName"} + }; + return QAbstractListModel::roleNames() + extraRoles; } bool SessionModel::isDefaultVirgin() const @@ -180,6 +181,8 @@ QVariant ProjectModel::data(const QModelIndex &index, int role) const switch (role) { case Qt::DisplayRole: return data.second; + case Qt::ToolTipRole: + return data.first; case FilePathRole: return data.first; case PrettyFilePathRole: @@ -191,11 +194,11 @@ QVariant ProjectModel::data(const QModelIndex &index, int role) const QHash ProjectModel::roleNames() const { - QHash roleNames; - roleNames[Qt::DisplayRole] = "displayName"; - roleNames[FilePathRole] = "filePath"; - roleNames[PrettyFilePathRole] = "prettyFilePath"; - return roleNames; + static QHash extraRoles{ + {FilePathRole, "filePath"}, + {PrettyFilePathRole, "prettyFilePath"} + }; + return QAbstractListModel::roleNames().unite(extraRoles); } void ProjectModel::resetProjects() diff --git a/src/plugins/qmldesigner/components/propertyeditor/gradientmodel.cpp b/src/plugins/qmldesigner/components/propertyeditor/gradientmodel.cpp index de9237ac911..dbb100d8a18 100644 --- a/src/plugins/qmldesigner/components/propertyeditor/gradientmodel.cpp +++ b/src/plugins/qmldesigner/components/propertyeditor/gradientmodel.cpp @@ -56,11 +56,12 @@ int GradientModel::rowCount(const QModelIndex & /*parent*/) const QHash GradientModel::roleNames() const { - QHash roleNames; - roleNames[Qt::UserRole + 1] = "position"; - roleNames[Qt::UserRole + 2] = "color"; - roleNames[Qt::UserRole + 3] = "readOnly"; - roleNames[Qt::UserRole + 4] = "index"; + static QHash roleNames{ + {Qt::UserRole + 1, "position"}, + {Qt::UserRole + 2, "color"}, + {Qt::UserRole + 3, "readOnly"}, + {Qt::UserRole + 4, "index"} + }; return roleNames; } diff --git a/src/plugins/qmldesigner/components/stateseditor/stateseditormodel.cpp b/src/plugins/qmldesigner/components/stateseditor/stateseditormodel.cpp index 4c58c91537e..4eba23b2f3e 100644 --- a/src/plugins/qmldesigner/components/stateseditor/stateseditormodel.cpp +++ b/src/plugins/qmldesigner/components/stateseditor/stateseditormodel.cpp @@ -124,10 +124,11 @@ QVariant StatesEditorModel::data(const QModelIndex &index, int role) const QHash StatesEditorModel::roleNames() const { - QHash roleNames; - roleNames.insert(StateNameRole, "stateName"); - roleNames.insert(StateImageSourceRole, "stateImageSource"); - roleNames.insert(InternalNodeId, "internalNodeId"); + static QHash roleNames{ + {StateNameRole, "stateName"}, + {StateImageSourceRole, "stateImageSource"}, + {InternalNodeId, "internalNodeId"} + }; return roleNames; } diff --git a/src/plugins/qmlprofiler/flamegraphmodel.cpp b/src/plugins/qmlprofiler/flamegraphmodel.cpp index 3d40df22f18..74eb70793a1 100644 --- a/src/plugins/qmlprofiler/flamegraphmodel.cpp +++ b/src/plugins/qmlprofiler/flamegraphmodel.cpp @@ -250,20 +250,21 @@ QVariant FlameGraphModel::data(const QModelIndex &index, int role) const QHash FlameGraphModel::roleNames() const { - QHash names = QAbstractItemModel::roleNames(); - names[TypeIdRole] = "typeId"; - names[TypeRole] = "type"; - names[DurationRole] = "duration"; - names[CallCountRole] = "callCount"; - names[DetailsRole] = "details"; - names[FilenameRole] = "filename"; - names[LineRole] = "line"; - names[ColumnRole] = "column"; - names[NoteRole] = "note"; - names[TimePerCallRole] = "timePerCall"; - names[TimeInPercentRole] = "timeInPercent"; - names[RangeTypeRole] = "rangeType"; - return names; + static QHash extraRoles{ + {TypeIdRole, "typeId"}, + {TypeRole, "type"}, + {DurationRole, "duration"}, + {CallCountRole, "callCount"}, + {DetailsRole, "details"}, + {FilenameRole, "filename"}, + {LineRole, "line"}, + {ColumnRole, "column"}, + {NoteRole, "note"}, + {TimePerCallRole, "timePerCall"}, + {TimeInPercentRole, "timeInPercent"}, + {RangeTypeRole, "rangeType"} + }; + return QAbstractItemModel::roleNames().unite(extraRoles); } QmlProfilerModelManager *FlameGraphModel::modelManager() const diff --git a/src/plugins/qtsupport/exampleslistmodel.cpp b/src/plugins/qtsupport/exampleslistmodel.cpp index 1d096f5b32e..83a7256e6a9 100644 --- a/src/plugins/qtsupport/exampleslistmodel.cpp +++ b/src/plugins/qtsupport/exampleslistmodel.cpp @@ -188,10 +188,11 @@ int ExampleSetModel::getExtraExampleSetIndex(int i) const QHash ExampleSetModel::roleNames() const { - QHash roleNames; - roleNames[Qt::UserRole + 1] = "text"; - roleNames[Qt::UserRole + 2] = "QtId"; - roleNames[Qt::UserRole + 3] = "extraSetIndex"; + static QHash roleNames{ + {Qt::UserRole + 1, "text"}, + {Qt::UserRole + 2, "QtId"}, + {Qt::UserRole + 3, "extraSetIndex"} + }; return roleNames; } @@ -680,24 +681,25 @@ QVariant ExamplesListModel::data(const QModelIndex &index, int role) const QHash ExamplesListModel::roleNames() const { - QHash roleNames; - roleNames[Name] = "name"; - roleNames[ProjectPath] = "projectPath"; - roleNames[ImageUrl] = "imageUrl"; - roleNames[Description] = "description"; - roleNames[DocUrl] = "docUrl"; - roleNames[FilesToOpen] = "filesToOpen"; - roleNames[MainFile] = "mainFile"; - roleNames[Tags] = "tags"; - roleNames[Difficulty] = "difficulty"; - roleNames[Type] = "type"; - roleNames[HasSourceCode] = "hasSourceCode"; - roleNames[Dependencies] = "dependencies"; - roleNames[IsVideo] = "isVideo"; - roleNames[VideoUrl] = "videoUrl"; - roleNames[VideoLength] = "videoLength"; - roleNames[Platforms] = "platforms"; - roleNames[IsHighlighted] = "isHighlighted"; + static QHash roleNames{ + {Name, "name"}, + {ProjectPath, "projectPath"}, + {ImageUrl, "imageUrl"}, + {Description, "description"}, + {DocUrl, "docUrl"}, + {FilesToOpen, "filesToOpen"}, + {MainFile, "mainFile"}, + {Tags, "tags"}, + {Difficulty, "difficulty"}, + {Type, "type"}, + {HasSourceCode, "hasSourceCode"}, + {Dependencies, "dependencies"}, + {IsVideo, "isVideo"}, + {VideoUrl, "videoUrl"}, + {VideoLength, "videoLength"}, + {Platforms, "platforms"}, + {IsHighlighted, "isHighlighted"} + }; return roleNames; }