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); return addDebugger(item);
} }
void DebuggerItemManager::deregisterDebugger(const DebuggerItem &item) void DebuggerItemManager::deregisterDebugger(const QVariant &id)
{ {
QTC_ASSERT(!item.command().isEmpty(), return); if (findById(id))
QTC_ASSERT(!item.displayName().isEmpty(), return); removeDebugger(id);
QTC_ASSERT(item.engineType() != NoEngineType, return);
if (findById(item.id()))
removeDebugger(item.id());
} }
QVariant DebuggerItemManager::addDebugger(const DebuggerItem &item) QVariant DebuggerItemManager::addDebugger(const DebuggerItem &item)

View File

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

View File

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

View File

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