diff --git a/src/plugins/remotelinux/linuxdeviceconfiguration.cpp b/src/plugins/remotelinux/linuxdeviceconfiguration.cpp index 1fcd6b1e3ae..af8866dc52c 100644 --- a/src/plugins/remotelinux/linuxdeviceconfiguration.cpp +++ b/src/plugins/remotelinux/linuxdeviceconfiguration.cpp @@ -233,6 +233,11 @@ void LinuxDeviceConfiguration::setFreePorts(const PortList &freePorts) d->freePorts = freePorts; } +void LinuxDeviceConfiguration::setAttribute(const QString &name, const QVariant &value) +{ + d->attributes[name] = value; +} + bool LinuxDeviceConfiguration::isAutoDetected() const { return d->origin == AutoDetected; @@ -243,6 +248,11 @@ QVariantHash LinuxDeviceConfiguration::attributes() const return d->attributes; } +QVariant LinuxDeviceConfiguration::attribute(const QString &name) const +{ + return d->attributes.value(name); +} + PortList LinuxDeviceConfiguration::freePorts() const { return d->freePorts; } QString LinuxDeviceConfiguration::displayName() const { return d->displayName; } QString LinuxDeviceConfiguration::osType() const { return d->osType; } diff --git a/src/plugins/remotelinux/linuxdeviceconfiguration.h b/src/plugins/remotelinux/linuxdeviceconfiguration.h index c98ce2eb51e..9e9b9a56a62 100644 --- a/src/plugins/remotelinux/linuxdeviceconfiguration.h +++ b/src/plugins/remotelinux/linuxdeviceconfiguration.h @@ -80,6 +80,7 @@ public: bool isDefault() const; bool isAutoDetected() const; QVariantHash attributes() const; + QVariant attribute(const QString &name) const; static QString defaultPrivateKeyFilePath(); static QString defaultPublicKeyFilePath(); @@ -107,6 +108,7 @@ private: void setDefault(bool isDefault); void setSshParameters(const Utils::SshConnectionParameters &sshParameters); void setFreePorts(const PortList &freePorts); + void setAttribute(const QString &name, const QVariant &value); void save(QSettings &settings) const; Internal::LinuxDeviceConfigurationPrivate *d; diff --git a/src/plugins/remotelinux/linuxdeviceconfigurations.cpp b/src/plugins/remotelinux/linuxdeviceconfigurations.cpp index 47842bf5685..58958662f64 100644 --- a/src/plugins/remotelinux/linuxdeviceconfigurations.cpp +++ b/src/plugins/remotelinux/linuxdeviceconfigurations.cpp @@ -255,6 +255,14 @@ void LinuxDeviceConfigurations::setDefaultDevice(int idx) emit dataChanged(newDefaultIndex, newDefaultIndex); } +void LinuxDeviceConfigurations::setAttribute(int index, const QString &name, const QVariant &value) +{ + QTC_ASSERT(this != LinuxDeviceConfigurationsPrivate::instance, return); + Q_ASSERT(index >= 0 && index < rowCount()); + + d->devConfigs.at(index)->setAttribute(name, value); +} + LinuxDeviceConfigurations::LinuxDeviceConfigurations(QObject *parent) : QAbstractListModel(parent), d(new LinuxDeviceConfigurationsPrivate) { diff --git a/src/plugins/remotelinux/linuxdeviceconfigurations.h b/src/plugins/remotelinux/linuxdeviceconfigurations.h index 3a48697bc2c..3e4a1adcb35 100644 --- a/src/plugins/remotelinux/linuxdeviceconfigurations.h +++ b/src/plugins/remotelinux/linuxdeviceconfigurations.h @@ -79,6 +79,7 @@ public: void setSshParameters(int i, const Utils::SshConnectionParameters ¶ms); void setFreePorts(int i, const PortList &freePorts); void setDefaultDevice(int index); + void setAttribute(int index, const QString &name, const QVariant &value); virtual int rowCount(const QModelIndex &parent = QModelIndex()) const; virtual QVariant data(const QModelIndex &index,