Debugger/Utils: Remove TwoLevelTreeModel

It's well covered by the more generic Utils::LeveledTreeModel now.

Change-Id: I3982ad39a64742b0a0a59433024457db3808bfc7
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
hjk
2016-06-17 12:38:57 +02:00
parent 6bd7c3ef3b
commit 1ce258d710
2 changed files with 5 additions and 24 deletions

View File

@@ -279,24 +279,6 @@ public:
} }
}; };
// A two-level model with a first level of static headers and a uniform second level.
template <class SecondLevelItemType>
class TwoLevelTreeModel : public LeveledTreeModel<StaticTreeItem, SecondLevelItemType>
{
public:
using FirstLevelItem = StaticTreeItem;
using SecondLevelItem = SecondLevelItemType;
using BaseType = LeveledTreeModel<FirstLevelItem, SecondLevelItem>;
explicit TwoLevelTreeModel(QObject *parent = 0) : BaseType(parent) {}
FirstLevelItem *appendFirstLevelItem(const QStringList &display) {
auto item = new FirstLevelItem(display);
this->rootItem()->appendChild(item);
return item;
}
};
// A model where all non-root nodes are the same. // A model where all non-root nodes are the same.
template <class ItemType> template <class ItemType>
class UniformTreeModel : public LeveledTreeModel<ItemType, ItemType, ItemType> class UniformTreeModel : public LeveledTreeModel<ItemType, ItemType, ItemType>

View File

@@ -99,7 +99,7 @@ public:
// DebuggerItemModel // DebuggerItemModel
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
class DebuggerItemModel : public TwoLevelTreeModel<DebuggerTreeItem> class DebuggerItemModel : public LeveledTreeModel<StaticTreeItem, DebuggerTreeItem>
{ {
Q_DECLARE_TR_FUNCTIONS(Debugger::DebuggerOptionsPage) Q_DECLARE_TR_FUNCTIONS(Debugger::DebuggerOptionsPage)
@@ -115,18 +115,17 @@ public:
void apply(); void apply();
private: private:
DebuggerTreeItem *m_currentTreeItem; DebuggerTreeItem *m_currentTreeItem = nullptr;
QStringList removed; QStringList removed;
QList<QVariant> m_removedItems; QList<QVariant> m_removedItems;
}; };
DebuggerItemModel::DebuggerItemModel() DebuggerItemModel::DebuggerItemModel()
: m_currentTreeItem(0)
{ {
setHeader({ tr("Name"), tr("Location"), tr("Type") }); setHeader({ tr("Name"), tr("Location"), tr("Type") });
appendFirstLevelItem({ tr("Auto-detected") }); rootItem()->appendChild(new StaticTreeItem(tr("Auto-detected")));
appendFirstLevelItem({ tr("Manual") }); rootItem()->appendChild(new StaticTreeItem(tr("Manual")));
foreach (const DebuggerItem &item, DebuggerItemManager::debuggers()) foreach (const DebuggerItem &item, DebuggerItemManager::debuggers())
addDebugger(item, false); addDebugger(item, false);
} }
@@ -134,7 +133,7 @@ DebuggerItemModel::DebuggerItemModel()
void DebuggerItemModel::addDebugger(const DebuggerItem &item, bool changed) void DebuggerItemModel::addDebugger(const DebuggerItem &item, bool changed)
{ {
int group = item.isAutoDetected() ? 0 : 1; int group = item.isAutoDetected() ? 0 : 1;
rootItem()->child(group)->appendChild(new DebuggerTreeItem(item, changed)); rootItem()->childAt(group)->appendChild(new DebuggerTreeItem(item, changed));
} }
void DebuggerItemModel::updateDebugger(const DebuggerItem &item) void DebuggerItemModel::updateDebugger(const DebuggerItem &item)