summaryrefslogtreecommitdiff
path: root/src/plugins/baremetal/idebugserverprovider.cpp
diff options
context:
space:
mode:
authorDenis Shienkov <denis.shienkov@gmail.com>2019-11-04 18:33:03 +0300
committerDenis Shienkov <denis.shienkov@gmail.com>2019-11-11 12:41:32 +0000
commit6e6cd04eb6c8fe89ab7c1658d3c8602e86a4f111 (patch)
tree6a6e60fbefdf97db791d5dbe83068259f39b5f4e /src/plugins/baremetal/idebugserverprovider.cpp
parent0f429d5ed70caab609a4631c7d641661837620f5 (diff)
downloadqt-creator-6e6cd04eb6c8fe89ab7c1658d3c8602e86a4f111.tar.gz
BareMetal: Add additional 'engine' column to debugger providers view
Now for each debugger provider is displayed its debugger engine name and a tooltip with a brief description. It is the helper feature, that will be useful in future for users at choosing of a debug provider compatible with a configured debugger. Change-Id: I7721479d0d52cf3d34479a5f5f58a2369d0d9e8c Reviewed-by: hjk <hjk@qt.io>
Diffstat (limited to 'src/plugins/baremetal/idebugserverprovider.cpp')
-rw-r--r--src/plugins/baremetal/idebugserverprovider.cpp30
1 files changed, 24 insertions, 6 deletions
diff --git a/src/plugins/baremetal/idebugserverprovider.cpp b/src/plugins/baremetal/idebugserverprovider.cpp
index 8d687c2a26..ab2f023eab 100644
--- a/src/plugins/baremetal/idebugserverprovider.cpp
+++ b/src/plugins/baremetal/idebugserverprovider.cpp
@@ -41,6 +41,7 @@ namespace Internal {
const char idKeyC[] = "BareMetal.IDebugServerProvider.Id";
const char displayNameKeyC[] = "BareMetal.IDebugServerProvider.DisplayName";
+const char engineTypeKeyC[] = "BareMetal.IDebugServerProvider.EngineType";
static QString createId(const QString &id)
{
@@ -97,6 +98,24 @@ QString IDebugServerProvider::typeDisplayName() const
return m_typeDisplayName;
}
+void IDebugServerProvider::setTypeDisplayName(const QString &typeDisplayName)
+{
+ m_typeDisplayName = typeDisplayName;
+}
+
+Debugger::DebuggerEngineType IDebugServerProvider::engineType() const
+{
+ return m_engineType;
+}
+
+void IDebugServerProvider::setEngineType(Debugger::DebuggerEngineType engineType)
+{
+ if (m_engineType == engineType)
+ return;
+ m_engineType = engineType;
+ providerUpdated();
+}
+
bool IDebugServerProvider::operator==(const IDebugServerProvider &other) const
{
if (this == &other)
@@ -106,7 +125,8 @@ bool IDebugServerProvider::operator==(const IDebugServerProvider &other) const
const QString otherId = other.id().left(other.id().indexOf(':'));
// We ignore displayname
- return thisId == otherId;
+ return thisId == otherId
+ && m_engineType == other.m_engineType;
}
QVariantMap IDebugServerProvider::toMap() const
@@ -114,6 +134,7 @@ QVariantMap IDebugServerProvider::toMap() const
return {
{idKeyC, m_id},
{displayNameKeyC, m_displayName},
+ {engineTypeKeyC, m_engineType}
};
}
@@ -138,14 +159,11 @@ bool IDebugServerProvider::fromMap(const QVariantMap &data)
{
m_id = data.value(idKeyC).toString();
m_displayName = data.value(displayNameKeyC).toString();
+ m_engineType = static_cast<Debugger::DebuggerEngineType>(
+ data.value(engineTypeKeyC, Debugger::NoEngineType).toInt());
return true;
}
-void IDebugServerProvider::setTypeDisplayName(const QString &typeDisplayName)
-{
- m_typeDisplayName = typeDisplayName;
-}
-
// IDebugServerProviderFactory
QString IDebugServerProviderFactory::id() const