diff options
| author | Christian Kandeler <christian.kandeler@digia.com> | 2013-09-16 11:12:31 +0200 |
|---|---|---|
| committer | Christian Kandeler <christian.kandeler@digia.com> | 2013-09-17 13:36:08 +0200 |
| commit | 2a3ef09473d0af1f8bb2ffa89fd737913341d688 (patch) | |
| tree | 3e9e03b669f660804d412e2103539d1f0b171550 /src | |
| parent | 0b5639f7358a14d9b5eb2b6db6b6671bd8853e8c (diff) | |
| download | qt-creator-2a3ef09473d0af1f8bb2ffa89fd737913341d688.tar.gz | |
Device support: Make IDevice::executeAction non-const.
Presumably this function is currently const because no current
implementation actually changes device properties, but there
is no reason why that should not be allowed.
Change-Id: I80e4355be70e40bca9df5e1287a1d1d3f60c6534
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Diffstat (limited to 'src')
11 files changed, 14 insertions, 11 deletions
diff --git a/src/plugins/android/androiddevice.cpp b/src/plugins/android/androiddevice.cpp index 64cc451eee..374b4ad3a1 100644 --- a/src/plugins/android/androiddevice.cpp +++ b/src/plugins/android/androiddevice.cpp @@ -78,7 +78,7 @@ QString AndroidDevice::displayNameForActionId(Core::Id actionId) const return QString(); } -void AndroidDevice::executeAction(Core::Id actionId, QWidget *parent) const +void AndroidDevice::executeAction(Core::Id actionId, QWidget *parent) { Q_UNUSED(actionId) Q_UNUSED(parent) diff --git a/src/plugins/android/androiddevice.h b/src/plugins/android/androiddevice.h index a89d6357d3..eda23a5dac 100644 --- a/src/plugins/android/androiddevice.h +++ b/src/plugins/android/androiddevice.h @@ -45,7 +45,7 @@ public: ProjectExplorer::IDeviceWidget *createWidget(); QList<Core::Id> actionIds() const; QString displayNameForActionId(Core::Id actionId) const; - void executeAction(Core::Id actionId, QWidget *parent = 0) const; + void executeAction(Core::Id actionId, QWidget *parent = 0); bool canAutoDetectPorts() const; ProjectExplorer::IDevice::Ptr clone() const; diff --git a/src/plugins/projectexplorer/devicesupport/desktopdevice.cpp b/src/plugins/projectexplorer/devicesupport/desktopdevice.cpp index 90c6aa8f20..7c9481cf3f 100644 --- a/src/plugins/projectexplorer/devicesupport/desktopdevice.cpp +++ b/src/plugins/projectexplorer/devicesupport/desktopdevice.cpp @@ -88,7 +88,7 @@ QString DesktopDevice::displayNameForActionId(Core::Id actionId) const return QString(); } -void DesktopDevice::executeAction(Core::Id actionId, QWidget *parent) const +void DesktopDevice::executeAction(Core::Id actionId, QWidget *parent) { Q_UNUSED(actionId); Q_UNUSED(parent); diff --git a/src/plugins/projectexplorer/devicesupport/desktopdevice.h b/src/plugins/projectexplorer/devicesupport/desktopdevice.h index d737ceeea7..7ddd35bacc 100644 --- a/src/plugins/projectexplorer/devicesupport/desktopdevice.h +++ b/src/plugins/projectexplorer/devicesupport/desktopdevice.h @@ -49,7 +49,7 @@ public: IDeviceWidget *createWidget(); QList<Core::Id> actionIds() const; QString displayNameForActionId(Core::Id actionId) const; - void executeAction(Core::Id actionId, QWidget *parent = 0) const; + void executeAction(Core::Id actionId, QWidget *parent = 0); bool canAutoDetectPorts() const; bool canCreateProcessModel() const; DeviceProcessList *createProcessListModel(QObject *parent) const; diff --git a/src/plugins/projectexplorer/devicesupport/devicemanager.cpp b/src/plugins/projectexplorer/devicesupport/devicemanager.cpp index fb2fb914af..5ab8e54547 100644 --- a/src/plugins/projectexplorer/devicesupport/devicemanager.cpp +++ b/src/plugins/projectexplorer/devicesupport/devicemanager.cpp @@ -433,7 +433,7 @@ private: IDeviceWidget *createWidget() { return 0; } QList<Core::Id> actionIds() const { return QList<Core::Id>(); } QString displayNameForActionId(Core::Id) const { return QString(); } - void executeAction(Core::Id, QWidget *) const { } + void executeAction(Core::Id, QWidget *) { } Ptr clone() const { return Ptr(new TestDevice(*this)); } }; diff --git a/src/plugins/projectexplorer/devicesupport/devicesettingswidget.cpp b/src/plugins/projectexplorer/devicesupport/devicesettingswidget.cpp index 432cfb339f..b7f62a22a9 100644 --- a/src/plugins/projectexplorer/devicesupport/devicesettingswidget.cpp +++ b/src/plugins/projectexplorer/devicesupport/devicesettingswidget.cpp @@ -336,10 +336,13 @@ void DeviceSettingsWidget::clearDetails() void DeviceSettingsWidget::handleAdditionalActionRequest(int actionId) { - const IDevice::ConstPtr device = m_deviceManager->find(currentDevice()->id()); + const IDevice::Ptr device = m_deviceManager->mutableDevice(currentDevice()->id()); QTC_ASSERT(device, return); updateDeviceFromUi(); device->executeAction(Core::Id::fromUniqueIdentifier(actionId), this); + + // Widget must be set up from scratch, because the action could have changed random attributes. + currentDeviceChanged(currentIndex()); } void DeviceSettingsWidget::handleProcessListRequested() diff --git a/src/plugins/projectexplorer/devicesupport/idevice.h b/src/plugins/projectexplorer/devicesupport/idevice.h index b8e928f694..8291a6c009 100644 --- a/src/plugins/projectexplorer/devicesupport/idevice.h +++ b/src/plugins/projectexplorer/devicesupport/idevice.h @@ -111,7 +111,7 @@ public: virtual IDeviceWidget *createWidget() = 0; virtual QList<Core::Id> actionIds() const = 0; virtual QString displayNameForActionId(Core::Id actionId) const = 0; - virtual void executeAction(Core::Id actionId, QWidget *parent = 0) const = 0; + virtual void executeAction(Core::Id actionId, QWidget *parent = 0) = 0; virtual DeviceProcessSupport::Ptr processSupport() const; // Devices that can auto detect ports need not return a ports gathering method. Such devices can diff --git a/src/plugins/qnx/blackberrydeviceconfiguration.cpp b/src/plugins/qnx/blackberrydeviceconfiguration.cpp index 0d3ca73422..ace022255c 100644 --- a/src/plugins/qnx/blackberrydeviceconfiguration.cpp +++ b/src/plugins/qnx/blackberrydeviceconfiguration.cpp @@ -143,7 +143,7 @@ QString BlackBerryDeviceConfiguration::displayNameForActionId(Core::Id actionId) return QString(); } -void BlackBerryDeviceConfiguration::executeAction(Core::Id actionId, QWidget *parent) const +void BlackBerryDeviceConfiguration::executeAction(Core::Id actionId, QWidget *parent) { Q_UNUSED(parent); diff --git a/src/plugins/qnx/blackberrydeviceconfiguration.h b/src/plugins/qnx/blackberrydeviceconfiguration.h index 50b35eb84a..950233637c 100644 --- a/src/plugins/qnx/blackberrydeviceconfiguration.h +++ b/src/plugins/qnx/blackberrydeviceconfiguration.h @@ -62,7 +62,7 @@ public: ProjectExplorer::IDeviceWidget *createWidget(); QList<Core::Id> actionIds() const; QString displayNameForActionId(Core::Id actionId) const; - void executeAction(Core::Id actionId, QWidget *parent) const; + void executeAction(Core::Id actionId, QWidget *parent); ProjectExplorer::IDevice::Ptr clone() const; bool hasDeviceTester() const; diff --git a/src/plugins/remotelinux/linuxdevice.cpp b/src/plugins/remotelinux/linuxdevice.cpp index 64570c225f..5d707b2354 100644 --- a/src/plugins/remotelinux/linuxdevice.cpp +++ b/src/plugins/remotelinux/linuxdevice.cpp @@ -217,7 +217,7 @@ QString LinuxDevice::displayNameForActionId(Core::Id actionId) const return QString(); // Can't happen. } -void LinuxDevice::executeAction(Core::Id actionId, QWidget *parent) const +void LinuxDevice::executeAction(Core::Id actionId, QWidget *parent) { QTC_ASSERT(actionIds().contains(actionId), return); diff --git a/src/plugins/remotelinux/linuxdevice.h b/src/plugins/remotelinux/linuxdevice.h index 85946e735e..f19a2476b2 100644 --- a/src/plugins/remotelinux/linuxdevice.h +++ b/src/plugins/remotelinux/linuxdevice.h @@ -66,7 +66,7 @@ public: ProjectExplorer::IDeviceWidget *createWidget(); QList<Core::Id> actionIds() const; QString displayNameForActionId(Core::Id actionId) const; - void executeAction(Core::Id actionId, QWidget *parent) const; + void executeAction(Core::Id actionId, QWidget *parent); ProjectExplorer::IDevice::Ptr clone() const; ProjectExplorer::DeviceProcessSupport::Ptr processSupport() const; |
