forked from qt-creator/qt-creator
Debugger: Take advantage of new tree iterator in option page
Change-Id: I1a8e065cfaa57b49c852a3a1d67149447d4d87b2 Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
This commit is contained in:
@@ -110,8 +110,6 @@ public:
|
||||
void apply();
|
||||
|
||||
private:
|
||||
DebuggerTreeItem *findTreeItemById(const QVariant &id) const;
|
||||
|
||||
DebuggerTreeItem *m_currentTreeItem;
|
||||
QStringList removed;
|
||||
|
||||
@@ -138,8 +136,10 @@ void DebuggerItemModel::addDebugger(const DebuggerItem &item, bool changed)
|
||||
|
||||
void DebuggerItemModel::updateDebugger(const DebuggerItem &item)
|
||||
{
|
||||
DebuggerTreeItem *treeItem = findTreeItemById(item.id());
|
||||
auto matcher = [item](DebuggerTreeItem *n) { return n->m_item.m_id == item.id(); };
|
||||
DebuggerTreeItem *treeItem = findItemAtLevel<DebuggerTreeItem *>(2, matcher);
|
||||
QTC_ASSERT(treeItem, return);
|
||||
|
||||
TreeItem *parent = treeItem->parent();
|
||||
QTC_ASSERT(parent, return);
|
||||
|
||||
@@ -150,20 +150,6 @@ void DebuggerItemModel::updateDebugger(const DebuggerItem &item)
|
||||
updateItem(treeItem); // Notify views.
|
||||
}
|
||||
|
||||
DebuggerTreeItem *DebuggerItemModel::findTreeItemById(const QVariant &id) const
|
||||
{
|
||||
TreeItem *root = rootItem();
|
||||
for (int k = 0; k < rootItem()->rowCount(); ++k) {
|
||||
TreeItem *group = root->child(k);
|
||||
for (int i = 0, n = group->rowCount(); i != n; ++i) {
|
||||
DebuggerTreeItem *treeItem = static_cast<DebuggerTreeItem *>(group->child(i));
|
||||
if (treeItem->m_item.m_id == id)
|
||||
return treeItem;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
QModelIndex DebuggerItemModel::lastIndex() const
|
||||
{
|
||||
TreeItem *manualGroup = rootItem()->lastChild();
|
||||
@@ -192,14 +178,9 @@ void DebuggerItemModel::apply()
|
||||
foreach (const QVariant &id, m_removedItems)
|
||||
DebuggerItemManager::deregisterDebugger(id);
|
||||
|
||||
TreeItem *root = rootItem();
|
||||
for (int k = 0; k < rootItem()->rowCount(); ++k) {
|
||||
TreeItem *group = root->child(k);
|
||||
for (int i = 0, n = group->rowCount(); i != n; ++i) {
|
||||
DebuggerTreeItem *treeItem = static_cast<DebuggerTreeItem *>(group->child(i));
|
||||
treeItem->m_changed = false;
|
||||
DebuggerItemManager::updateOrAddDebugger(treeItem->m_item);
|
||||
}
|
||||
foreach (auto item, treeLevelItems<DebuggerTreeItem *>(2)) {
|
||||
item->m_changed = false;
|
||||
DebuggerItemManager::updateOrAddDebugger(item->m_item);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user