forked from qt-creator/qt-creator
ProjectExplorer: Show non-desktop device names in remote run config names
So far we used device type in some cases, not even following a specific pattern. Showing the device name gives a bit more detail in cases of multiple devices of the same type and offers the user a bit more control on what it shown. Change-Id: I2bd6bbd404577db3afca0f84b8a976cb07b1cfd0 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
@@ -59,8 +59,8 @@ QList<RunConfigurationCreationInfo> BareMetalRunConfigurationFactory::availableC
|
|||||||
// BareMetalCustomRunConfigurationFactory
|
// BareMetalCustomRunConfigurationFactory
|
||||||
|
|
||||||
BareMetalCustomRunConfigurationFactory::BareMetalCustomRunConfigurationFactory(QObject *parent) :
|
BareMetalCustomRunConfigurationFactory::BareMetalCustomRunConfigurationFactory(QObject *parent) :
|
||||||
FixedRunConfigurationFactory(BareMetalCustomRunConfiguration::tr("Custom Executable (on GDB server or hardware debugger)"),
|
FixedRunConfigurationFactory(BareMetalCustomRunConfiguration::tr("Custom Executable)"),
|
||||||
parent)
|
true, parent)
|
||||||
{
|
{
|
||||||
setObjectName("BareMetalCustomRunConfigurationFactory");
|
setObjectName("BareMetalCustomRunConfigurationFactory");
|
||||||
registerRunConfiguration<BareMetalCustomRunConfiguration>("BareMetal.CustomRunConfig");
|
registerRunConfiguration<BareMetalCustomRunConfiguration>("BareMetal.CustomRunConfig");
|
||||||
|
@@ -448,12 +448,24 @@ const QList<IRunConfigurationFactory *> IRunConfigurationFactory::allRunConfigur
|
|||||||
return g_runConfigurationFactories;
|
return g_runConfigurationFactories;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString IRunConfigurationFactory::decoratedTargetName(const QString targetName, Target *target)
|
||||||
|
{
|
||||||
|
QString displayName = QFileInfo(targetName).completeBaseName();
|
||||||
|
Core::Id devType = DeviceTypeKitInformation::deviceTypeId(target->kit());
|
||||||
|
if (devType != Constants::DESKTOP_DEVICE_TYPE) {
|
||||||
|
if (IDevice::ConstPtr dev = DeviceKitInformation::device(target->kit()))
|
||||||
|
//: Shown in Run configuration, Add menu: "name of runnable (on device name)"
|
||||||
|
displayName = tr("%1 (on %2)").arg(displayName, dev->displayName());
|
||||||
|
}
|
||||||
|
return displayName;
|
||||||
|
}
|
||||||
|
|
||||||
QList<RunConfigurationCreationInfo>
|
QList<RunConfigurationCreationInfo>
|
||||||
IRunConfigurationFactory::availableCreators(Target *parent) const
|
IRunConfigurationFactory::availableCreators(Target *parent) const
|
||||||
{
|
{
|
||||||
return Utils::transform(parent->applicationTargets().list, [this](const BuildTargetInfo &ti) {
|
return Utils::transform(parent->applicationTargets().list, [parent, this](const BuildTargetInfo &ti) {
|
||||||
return RunConfigurationCreationInfo(this, m_runConfigBaseId, ti.targetName,
|
const QString displayName = decoratedTargetName(ti.targetName, parent);
|
||||||
QFileInfo(ti.targetName).completeBaseName());
|
return RunConfigurationCreationInfo(this, m_runConfigBaseId, ti.targetName, displayName);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -604,15 +616,19 @@ QList<IRunConfigurationFactory *> IRunConfigurationFactory::find(Target *parent)
|
|||||||
}
|
}
|
||||||
|
|
||||||
FixedRunConfigurationFactory::FixedRunConfigurationFactory(const QString &displayName,
|
FixedRunConfigurationFactory::FixedRunConfigurationFactory(const QString &displayName,
|
||||||
|
bool addDeviceName,
|
||||||
QObject *parent) :
|
QObject *parent) :
|
||||||
IRunConfigurationFactory(parent), m_fixedBuildTarget(displayName)
|
IRunConfigurationFactory(parent),
|
||||||
|
m_fixedBuildTarget(displayName),
|
||||||
|
m_decorateTargetName(addDeviceName)
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
QList<RunConfigurationCreationInfo>
|
QList<RunConfigurationCreationInfo>
|
||||||
FixedRunConfigurationFactory::availableCreators(Target *parent) const
|
FixedRunConfigurationFactory::availableCreators(Target *parent) const
|
||||||
{
|
{
|
||||||
Q_UNUSED(parent);
|
QString displayName = m_decorateTargetName ? decoratedTargetName(m_fixedBuildTarget, parent)
|
||||||
return {RunConfigurationCreationInfo(this, runConfigurationBaseId(), QString(), m_fixedBuildTarget)};
|
: m_fixedBuildTarget;
|
||||||
|
return {RunConfigurationCreationInfo(this, runConfigurationBaseId(), QString(), displayName)};
|
||||||
}
|
}
|
||||||
|
|
||||||
using WorkerFactories = std::vector<RunControl::WorkerFactory>;
|
using WorkerFactories = std::vector<RunControl::WorkerFactory>;
|
||||||
|
@@ -324,6 +324,8 @@ public:
|
|||||||
|
|
||||||
Core::Id runConfigurationBaseId() const { return m_runConfigBaseId; }
|
Core::Id runConfigurationBaseId() const { return m_runConfigBaseId; }
|
||||||
|
|
||||||
|
static QString decoratedTargetName(const QString targetName, Target *kit);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual bool canCreateHelper(Target *parent, const QString &buildTarget) const;
|
virtual bool canCreateHelper(Target *parent, const QString &buildTarget) const;
|
||||||
|
|
||||||
@@ -355,12 +357,15 @@ class PROJECTEXPLORER_EXPORT FixedRunConfigurationFactory : public IRunConfigura
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit FixedRunConfigurationFactory(const QString &displayName, QObject *parent = nullptr);
|
explicit FixedRunConfigurationFactory(const QString &displayName,
|
||||||
|
bool addDeviceName = false,
|
||||||
|
QObject *parent = nullptr);
|
||||||
|
|
||||||
QList<RunConfigurationCreationInfo> availableCreators(Target *parent) const override;
|
QList<RunConfigurationCreationInfo> availableCreators(Target *parent) const override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
const QString m_fixedBuildTarget;
|
const QString m_fixedBuildTarget;
|
||||||
|
const bool m_decorateTargetName;
|
||||||
};
|
};
|
||||||
|
|
||||||
class PROJECTEXPLORER_EXPORT RunConfigWidget : public QWidget
|
class PROJECTEXPLORER_EXPORT RunConfigWidget : public QWidget
|
||||||
|
@@ -32,7 +32,7 @@ namespace QmlProjectManager {
|
|||||||
namespace Internal {
|
namespace Internal {
|
||||||
|
|
||||||
QmlProjectRunConfigurationFactory::QmlProjectRunConfigurationFactory(QObject *parent) :
|
QmlProjectRunConfigurationFactory::QmlProjectRunConfigurationFactory(QObject *parent) :
|
||||||
ProjectExplorer::FixedRunConfigurationFactory(tr("QML Scene"), parent)
|
ProjectExplorer::FixedRunConfigurationFactory(tr("QML Scene"), false, parent)
|
||||||
{
|
{
|
||||||
setObjectName("QmlProjectRunConfigurationFactory");
|
setObjectName("QmlProjectRunConfigurationFactory");
|
||||||
registerRunConfiguration<QmlProjectRunConfiguration>(Constants::QML_SCENE_RC_ID);
|
registerRunConfiguration<QmlProjectRunConfiguration>(Constants::QML_SCENE_RC_ID);
|
||||||
|
@@ -29,13 +29,6 @@
|
|||||||
#include "qnxrunconfiguration.h"
|
#include "qnxrunconfiguration.h"
|
||||||
#include "qnxdevicefactory.h"
|
#include "qnxdevicefactory.h"
|
||||||
|
|
||||||
#include <projectexplorer/kitinformation.h>
|
|
||||||
#include <projectexplorer/target.h>
|
|
||||||
|
|
||||||
#include <QFileInfo>
|
|
||||||
|
|
||||||
using namespace ProjectExplorer;
|
|
||||||
|
|
||||||
namespace Qnx {
|
namespace Qnx {
|
||||||
namespace Internal {
|
namespace Internal {
|
||||||
|
|
||||||
@@ -46,12 +39,5 @@ QnxRunConfigurationFactory::QnxRunConfigurationFactory(QObject *parent) :
|
|||||||
setSupportedTargetDeviceTypes({Constants::QNX_QNX_OS_TYPE});
|
setSupportedTargetDeviceTypes({Constants::QNX_QNX_OS_TYPE});
|
||||||
}
|
}
|
||||||
|
|
||||||
QList<RunConfigurationCreationInfo> QnxRunConfigurationFactory::availableCreators(Target *parent) const
|
|
||||||
{
|
|
||||||
return Utils::transform(parent->applicationTargets().list, [this](const BuildTargetInfo &bti) {
|
|
||||||
return convert(tr("%1 on QNX Device").arg(QFileInfo(bti.targetName).completeBaseName()), bti.targetName);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
} // namespace Internal
|
} // namespace Internal
|
||||||
} // namespace Qnx
|
} // namespace Qnx
|
||||||
|
@@ -35,9 +35,6 @@ class QnxRunConfigurationFactory : public ProjectExplorer::IRunConfigurationFact
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
explicit QnxRunConfigurationFactory(QObject *parent = nullptr);
|
explicit QnxRunConfigurationFactory(QObject *parent = nullptr);
|
||||||
|
|
||||||
QList<ProjectExplorer::RunConfigurationCreationInfo>
|
|
||||||
availableCreators(ProjectExplorer::Target *parent) const override;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace Internal
|
} // namespace Internal
|
||||||
|
@@ -154,7 +154,7 @@ Core::Id RemoteLinuxCustomRunConfiguration::runConfigId()
|
|||||||
|
|
||||||
QString RemoteLinuxCustomRunConfiguration::runConfigDefaultDisplayName()
|
QString RemoteLinuxCustomRunConfiguration::runConfigDefaultDisplayName()
|
||||||
{
|
{
|
||||||
return tr("Custom Executable (on Remote Generic Linux Host)");
|
return tr("Custom Executable");
|
||||||
}
|
}
|
||||||
|
|
||||||
static QString localExeKey()
|
static QString localExeKey()
|
||||||
|
@@ -158,8 +158,7 @@ bool RemoteLinuxRunConfiguration::fromMap(const QVariantMap &map)
|
|||||||
QString RemoteLinuxRunConfiguration::defaultDisplayName()
|
QString RemoteLinuxRunConfiguration::defaultDisplayName()
|
||||||
{
|
{
|
||||||
if (!d->targetName.isEmpty())
|
if (!d->targetName.isEmpty())
|
||||||
//: %1 is the name of a project which is being run on remote Linux
|
return IRunConfigurationFactory::decoratedTargetName(d->targetName, target());
|
||||||
return tr("%1 (on Remote Device)").arg(d->targetName);
|
|
||||||
//: Remote Linux run configuration default display name
|
//: Remote Linux run configuration default display name
|
||||||
return tr("Run on Remote Device");
|
return tr("Run on Remote Device");
|
||||||
}
|
}
|
||||||
|
@@ -29,12 +29,6 @@
|
|||||||
#include "remotelinuxcustomrunconfiguration.h"
|
#include "remotelinuxcustomrunconfiguration.h"
|
||||||
#include "remotelinuxrunconfiguration.h"
|
#include "remotelinuxrunconfiguration.h"
|
||||||
|
|
||||||
#include <projectexplorer/buildtargetinfo.h>
|
|
||||||
#include <projectexplorer/target.h>
|
|
||||||
#include <utils/qtcassert.h>
|
|
||||||
|
|
||||||
#include <QFileInfo>
|
|
||||||
|
|
||||||
using namespace ProjectExplorer;
|
using namespace ProjectExplorer;
|
||||||
|
|
||||||
namespace RemoteLinux {
|
namespace RemoteLinux {
|
||||||
@@ -50,16 +44,6 @@ RemoteLinuxRunConfigurationFactory::RemoteLinuxRunConfigurationFactory(QObject *
|
|||||||
setSupportedTargetDeviceTypes({RemoteLinux::Constants::GenericLinuxOsType});
|
setSupportedTargetDeviceTypes({RemoteLinux::Constants::GenericLinuxOsType});
|
||||||
}
|
}
|
||||||
|
|
||||||
QList<RunConfigurationCreationInfo>
|
|
||||||
RemoteLinuxRunConfigurationFactory::availableCreators(Target *parent) const
|
|
||||||
{
|
|
||||||
return Utils::transform(parent->applicationTargets().list, [this](const BuildTargetInfo &bti) {
|
|
||||||
return convert(tr("%1 (on Remote Generic Linux Host)").arg(bti.targetName),
|
|
||||||
QFileInfo(bti.targetName).completeBaseName());
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// RemoteLinuxCustomRunConfigurationFactory
|
// RemoteLinuxCustomRunConfigurationFactory
|
||||||
|
|
||||||
RemoteLinuxCustomRunConfigurationFactory::RemoteLinuxCustomRunConfigurationFactory(QObject *parent)
|
RemoteLinuxCustomRunConfigurationFactory::RemoteLinuxCustomRunConfigurationFactory(QObject *parent)
|
||||||
|
@@ -36,9 +36,6 @@ class RemoteLinuxRunConfigurationFactory : public ProjectExplorer::IRunConfigura
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
explicit RemoteLinuxRunConfigurationFactory(QObject *parent = nullptr);
|
explicit RemoteLinuxRunConfigurationFactory(QObject *parent = nullptr);
|
||||||
|
|
||||||
QList<ProjectExplorer::RunConfigurationCreationInfo>
|
|
||||||
availableCreators(ProjectExplorer::Target *parent) const override;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
class RemoteLinuxCustomRunConfigurationFactory : public ProjectExplorer::FixedRunConfigurationFactory
|
class RemoteLinuxCustomRunConfigurationFactory : public ProjectExplorer::FixedRunConfigurationFactory
|
||||||
|
Reference in New Issue
Block a user