diff --git a/src/plugins/projectexplorer/devicesupport/devicemanager.cpp b/src/plugins/projectexplorer/devicesupport/devicemanager.cpp index 0c0f73d7a281223eb94ac9788c9e8a4c85598e47..4f0bfac541087d55883cb1ec360efa2dc267db8f 100644 --- a/src/plugins/projectexplorer/devicesupport/devicemanager.cpp +++ b/src/plugins/projectexplorer/devicesupport/devicemanager.cpp @@ -70,6 +70,15 @@ const char DefaultDevicesKey[] = "DefaultDevices"; class DeviceManagerPrivate { public: + int indexForId(Core::Id id) const + { + for (int i = 0; i < devices.count(); ++i) { + if (devices.at(i)->id() == id) + return i; + } + return -1; + } + static DeviceManager *clonedInstance; QList<IDevice::Ptr> devices; QList<IDevice::Ptr> inactiveAutoDetectedDevices; @@ -223,7 +232,7 @@ void DeviceManager::addDevice(const IDevice::Ptr &_device) QTC_ASSERT(this != instance() || device->isAutoDetected(), return); QString name = device->displayName(); - const int pos = indexForId(device->id()); + const int pos = d->indexForId(device->id()); if (pos >= 0) { device->setDisplayName(QString()); // For name uniquification to work. d->devices[pos] = device; @@ -272,7 +281,7 @@ void DeviceManager::removeDevice(Core::Id id) const bool wasDefault = d->defaultDevices.value(device->type()) == device->id(); const Core::Id deviceType = device->type(); - d->devices.removeAt(indexForId(id)); + d->devices.removeAt(d->indexForId(id)); emit deviceRemoved(device->id()); if (wasDefault) { @@ -342,7 +351,7 @@ IDevice::ConstPtr DeviceManager::deviceAt(int idx) const IDevice::Ptr DeviceManager::mutableDevice(Core::Id id) const { - const int index = indexForId(id); + const int index = d->indexForId(id); return index == -1 ? IDevice::Ptr() : d->devices.at(index); } @@ -357,7 +366,7 @@ bool DeviceManager::hasDevice(const QString &name) const IDevice::ConstPtr DeviceManager::find(Core::Id id) const { - const int index = indexForId(id); + const int index = d->indexForId(id); return index == -1 ? IDevice::ConstPtr() : deviceAt(index); } @@ -374,25 +383,11 @@ IDevice::ConstPtr DeviceManager::defaultDevice(Core::Id deviceType) const return find(id); } -int DeviceManager::indexForId(Core::Id id) const -{ - for (int i = 0; i < d->devices.count(); ++i) { - if (deviceAt(i)->id() == id) - return i; - } - return -1; -} - Core::Id DeviceManager::deviceId(const IDevice::ConstPtr &device) const { return device ? device->id() : IDevice::invalidId(); } -int DeviceManager::indexOf(const IDevice::ConstPtr &device) const -{ - return indexForId(device->id()); -} - void DeviceManager::ensureOneDefaultDevicePerType() { foreach (const IDevice::Ptr &device, d->devices) { diff --git a/src/plugins/projectexplorer/devicesupport/devicemanager.h b/src/plugins/projectexplorer/devicesupport/devicemanager.h index 141cd9bde64ea6aee4207b3b12ef4930f08e5c17..e9a913ef3147b07a3b5cc2fd6099dcf7da587855 100644 --- a/src/plugins/projectexplorer/devicesupport/devicemanager.h +++ b/src/plugins/projectexplorer/devicesupport/devicemanager.h @@ -67,9 +67,6 @@ public: bool hasDevice(const QString &name) const; Core::Id deviceId(const IDevice::ConstPtr &device) const; - int indexForId(Core::Id id) const; - int indexOf(const IDevice::ConstPtr &device) const; - void addDevice(const IDevice::Ptr &device); void removeDevice(Core::Id id); diff --git a/src/plugins/projectexplorer/devicesupport/devicemanagermodel.h b/src/plugins/projectexplorer/devicesupport/devicemanagermodel.h index 3317fb5110ccbe394df4b1ff1e351fe649ebcd4b..bc4eeb827d84ddb1ce830875a99c10723657c13e 100644 --- a/src/plugins/projectexplorer/devicesupport/devicemanagermodel.h +++ b/src/plugins/projectexplorer/devicesupport/devicemanagermodel.h @@ -56,6 +56,7 @@ public: IDevice::ConstPtr device(int pos) const; Core::Id deviceId(int pos) const; int indexOf(IDevice::ConstPtr dev) const; + int indexForId(Core::Id id) const; int rowCount(const QModelIndex &parent = QModelIndex()) const; private slots: @@ -67,8 +68,6 @@ private slots: private: QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; - int indexForId(Core::Id id) const; - Internal::DeviceManagerModelPrivate * const d; }; diff --git a/src/plugins/projectexplorer/devicesupport/devicesettingswidget.cpp b/src/plugins/projectexplorer/devicesupport/devicesettingswidget.cpp index 0140a3024b5384356ea12a523dbd0f66c17373a0..7605178354019df583f42f11c76cbe7560c8e45a 100644 --- a/src/plugins/projectexplorer/devicesupport/devicesettingswidget.cpp +++ b/src/plugins/projectexplorer/devicesupport/devicesettingswidget.cpp @@ -271,7 +271,7 @@ void DeviceSettingsWidget::setDefaultDevice() void DeviceSettingsWidget::handleDeviceUpdated(Id id) { - const int index = m_deviceManager->indexForId(id); + const int index = m_deviceManagerModel->indexForId(id); if (index == currentIndex()) currentDeviceChanged(index); }