From 14e6a30ebf7ae96f801f7bc58f848d5898b59412 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Tue, 24 Oct 2017 13:10:16 +0200 Subject: [PATCH] Debugger: Work around linguist issues It gets confused by templates that use "class" (QTBUG-55478), and by certain complicated namespace usages (QTBUG-64007). Change-Id: I6029922344f6718b5893dd07daee0953366c442e Reviewed-by: Oswald Buddenhagen Reviewed-by: hjk --- src/plugins/debugger/debuggeritemmanager.cpp | 123 +++++++++---------- 1 file changed, 60 insertions(+), 63 deletions(-) diff --git a/src/plugins/debugger/debuggeritemmanager.cpp b/src/plugins/debugger/debuggeritemmanager.cpp index 6bdf2ca9801..3eab3df932b 100644 --- a/src/plugins/debugger/debuggeritemmanager.cpp +++ b/src/plugins/debugger/debuggeritemmanager.cpp @@ -202,7 +202,7 @@ public: QPersistentModelIndex m_currentIndex; }; -template +template void forAllDebuggers(const Predicate &pred) { d->m_model->forItemsAtLevel<2>([pred](DebuggerTreeItem *titem) { @@ -210,7 +210,7 @@ void forAllDebuggers(const Predicate &pred) }); } -template +template const DebuggerItem *findDebugger(const Predicate &pred) { DebuggerTreeItem *titem = d->m_model->findItemAtLevel<2>([pred](DebuggerTreeItem *titem) { @@ -624,31 +624,6 @@ void DebuggerOptionsPage::finish() d->m_model->cancel(); } -} // namespace Internal - -// -------------------------------------------------------------------------- -// DebuggerItemManager -// -------------------------------------------------------------------------- - -DebuggerItemManager::DebuggerItemManager() -{ - new DebuggerItemManagerPrivate; - connect(ICore::instance(), &ICore::saveSettingsRequested, - this, [] { d->saveDebuggers(); }); -} - -DebuggerItemManager::~DebuggerItemManager() -{ - delete d; -} - -QList DebuggerItemManager::debuggers() -{ - QList result; - forAllDebuggers([&result](const DebuggerItem &item) { result.append(item); }); - return result; -} - void DebuggerItemManagerPrivate::autoDetectCdbDebuggers() { FileNameList cdbs; @@ -826,42 +801,6 @@ void DebuggerItemManagerPrivate::readLegacyDebuggers(const FileName &file) } } -const DebuggerItem *DebuggerItemManager::findByCommand(const FileName &command) -{ - return findDebugger([command](const DebuggerItem &item) { - return item.command() == command; - }); -} - -const DebuggerItem *DebuggerItemManager::findById(const QVariant &id) -{ - return findDebugger([id](const DebuggerItem &item) { - return item.id() == id; - }); -} - -const DebuggerItem *DebuggerItemManager::findByEngineType(DebuggerEngineType engineType) -{ - return findDebugger([engineType](const DebuggerItem &item) { - return item.engineType() == engineType; - }); -} - -QVariant DebuggerItemManager::registerDebugger(const DebuggerItem &item) -{ - return d->registerDebugger(item); -} - -void DebuggerItemManager::deregisterDebugger(const QVariant &id) -{ - d->m_model->forItemsAtLevel<2>([id](DebuggerTreeItem *titem) { - if (titem->m_item.id() == id) - d->m_model->destroyItem(titem); - }); -} - -namespace Internal { - static FileName userSettingsFileName() { QFileInfo settingsLocation(ICore::settings()->fileName()); @@ -1000,4 +939,62 @@ void DebuggerItemManagerPrivate::saveDebuggers() } } // namespace Internal + +// -------------------------------------------------------------------------- +// DebuggerItemManager +// -------------------------------------------------------------------------- + +DebuggerItemManager::DebuggerItemManager() +{ + new DebuggerItemManagerPrivate; + connect(ICore::instance(), &ICore::saveSettingsRequested, + this, [] { d->saveDebuggers(); }); +} + +DebuggerItemManager::~DebuggerItemManager() +{ + delete d; +} + +QList DebuggerItemManager::debuggers() +{ + QList result; + forAllDebuggers([&result](const DebuggerItem &item) { result.append(item); }); + return result; +} + +const DebuggerItem *DebuggerItemManager::findByCommand(const FileName &command) +{ + return findDebugger([command](const DebuggerItem &item) { + return item.command() == command; + }); +} + +const DebuggerItem *DebuggerItemManager::findById(const QVariant &id) +{ + return findDebugger([id](const DebuggerItem &item) { + return item.id() == id; + }); +} + +const DebuggerItem *DebuggerItemManager::findByEngineType(DebuggerEngineType engineType) +{ + return findDebugger([engineType](const DebuggerItem &item) { + return item.engineType() == engineType; + }); +} + +QVariant DebuggerItemManager::registerDebugger(const DebuggerItem &item) +{ + return d->registerDebugger(item); +} + +void DebuggerItemManager::deregisterDebugger(const QVariant &id) +{ + d->m_model->forItemsAtLevel<2>([id](DebuggerTreeItem *titem) { + if (titem->m_item.id() == id) + d->m_model->destroyItem(titem); + }); +} + } // namespace Debugger