forked from qt-creator/qt-creator
Utils: Streamline TreeModel API
The LeveledTreeModel case is general enough to cover the UniformTreeModel case, so merge them and rename to TreeModel. The former TreeModel is now BaseTreeModel. BaseTreeModels should not be instantiated directly, a tree model with non-uniform basic items is available as TreeModel<>. Done-with: Eike Ziller <eike.ziller@qt.io> Change-Id: I64a65617ab68c0cde39cf65f4bc092ef808ee6fb Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -81,7 +81,7 @@ public:
|
||||
|
||||
case Qt::DecorationRole: {
|
||||
QVariant icon;
|
||||
forSecondLevelChildren<TreeItem *>([this, &icon](TreeItem *item) {
|
||||
forChildrenAtLevel<TreeItem *>(2, [this, &icon](TreeItem *item) {
|
||||
QVariant sicon = item->data(0, Qt::DecorationRole);
|
||||
if (sicon.isValid())
|
||||
icon = sicon;
|
||||
@@ -166,14 +166,13 @@ public:
|
||||
// SelectorModel
|
||||
//
|
||||
|
||||
class SelectorModel
|
||||
: public LeveledTreeModel<RootItem, ProjectItem, TreeItem>
|
||||
class SelectorModel : public TreeModel<RootItem, ProjectItem, TreeItem>
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
SelectorModel(QObject *parent)
|
||||
: LeveledTreeModel<RootItem, ProjectItem, TreeItem>(parent)
|
||||
: TreeModel<RootItem, ProjectItem, TreeItem>(parent)
|
||||
{
|
||||
setRootItem(new RootItem);
|
||||
setHeader({ ProjectWindow::tr("Projects") });
|
||||
@@ -406,7 +405,7 @@ void ProjectWindow::updatePanel()
|
||||
|
||||
ProjectItem *ProjectWindow::itemForProject(Project *project) const
|
||||
{
|
||||
return m_selectorModel->findFirstLevelItem([project](ProjectItem *item) {
|
||||
return m_selectorModel->findItemAtLevel<1>([project](ProjectItem *item) {
|
||||
return item->project() == project;
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user