Debugger: Use debugger id for deregistration.

This is better API by being explicit about the item to remove.

Change-Id: I75cb47d7e873f41449efcf4994b2e725ffeeaa73
Reviewed-by: David Kaspar <dkaspar@blackberry.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
This commit is contained in:
hjk
2013-11-06 16:32:23 +01:00
parent a9db8d9318
commit d02c20ef7e
4 changed files with 7 additions and 14 deletions

View File

@@ -370,14 +370,10 @@ QVariant DebuggerItemManager::registerDebugger(const DebuggerItem &item)
return addDebugger(item);
}
void DebuggerItemManager::deregisterDebugger(const DebuggerItem &item)
void DebuggerItemManager::deregisterDebugger(const QVariant &id)
{
QTC_ASSERT(!item.command().isEmpty(), return);
QTC_ASSERT(!item.displayName().isEmpty(), return);
QTC_ASSERT(item.engineType() != NoEngineType, return);
if (findById(item.id()))
removeDebugger(item.id());
if (findById(id))
removeDebugger(id);
}
QVariant DebuggerItemManager::addDebugger(const DebuggerItem &item)

View File

@@ -57,7 +57,7 @@ public:
static QList<DebuggerItem> debuggers();
static QVariant registerDebugger(const DebuggerItem &item);
static void deregisterDebugger(const DebuggerItem &item);
static void deregisterDebugger(const QVariant &id);
static void setItemData(const QVariant &id, const QString& displayName, const Utils::FileName &fileName);
static const DebuggerItem *findByCommand(const Utils::FileName &command);

View File

@@ -271,11 +271,8 @@ void DebuggerItemModel::updateDebugger(const DebuggerItem &item)
void DebuggerItemModel::apply()
{
foreach (const QVariant &id, m_removedItems) {
const DebuggerItem *item = DebuggerItemManager::findById(id);
QTC_ASSERT(item, return);
DebuggerItemManager::deregisterDebugger(*item);
}
foreach (const QVariant &id, m_removedItems)
DebuggerItemManager::deregisterDebugger(id);
foreach (const DebuggerItem &item, debuggerItems()) {
const DebuggerItem *managed = DebuggerItemManager::findById(item.id());

View File

@@ -368,7 +368,7 @@ void BlackBerryConfiguration::deactivate()
foreach (const DebuggerItem &item, DebuggerItemManager::debuggers())
if (item.isAutoDetected() &&
(item.command() == m_simulatorDebugger || item.command() == m_deviceDebugger))
DebuggerItemManager::deregisterDebugger(item);
DebuggerItemManager::deregisterDebugger(item.id());
foreach (ToolChain *toolChain, ToolChainManager::toolChains())
if (toolChain->isAutoDetected()