Changeset View
Changeset View
Standalone View
Standalone View
Modules/devinfo/devicelisting.cpp
Show First 20 Lines • Show All 140 Lines • ▼ Show 20 Line(s) | 128 | { | |||
---|---|---|---|---|---|
141 | } else { | 141 | } else { | ||
142 | status->updateStatus(i18nc("no device UDI", "None")); | 142 | status->updateStatus(i18nc("no device UDI", "None")); | ||
143 | } | 143 | } | ||
144 | } | 144 | } | ||
145 | 145 | | |||
146 | void DeviceListing::deviceAddedSlot(const QString &udi) | 146 | void DeviceListing::deviceAddedSlot(const QString &udi) | ||
147 | { | 147 | { | ||
148 | SolidHelper *solhelp = new SolidHelper(); | 148 | SolidHelper *solhelp = new SolidHelper(); | ||
149 | const QList<Solid::Device> list = Solid::Device::allDevices(); | | |||
150 | 149 | | |||
151 | foreach (const Solid::Device &dev, list) { | 150 | Solid::Device dev(udi); | ||
152 | if (dev.udi() == udi) { | 151 | if (!dev.isValid()) { | ||
152 | // Probably the device already disappeared again. | ||||
153 | return; | ||||
154 | } | ||||
155 | | ||||
153 | Solid::DeviceInterface::Type deviceType = solhelp->deviceType(&dev); | 156 | Solid::DeviceInterface::Type deviceType = solhelp->deviceType(&dev); | ||
154 | QTreeWidgetItem *parent = getTreeWidgetItemFromUdi(this, dev.parentUdi()); | 157 | QTreeWidgetItem *parent = getTreeWidgetItemFromUdi(this, dev.parentUdi()); | ||
155 | 158 | | |||
156 | // Incase of bad index | 159 | // Incase of bad index | ||
157 | if (deviceMap[deviceType] == nullptr) { | 160 | if (deviceMap[deviceType] == nullptr) { | ||
158 | QTreeWidgetItem *topItem = topLevelItem(0); | 161 | QTreeWidgetItem *topItem = topLevelItem(0); | ||
159 | if (!topItem) { | 162 | if (!topItem) { | ||
160 | delete solhelp; | 163 | delete solhelp; | ||
Show All 22 Lines | 185 | case Solid::DeviceInterface::StorageVolume: | |||
183 | if (parent == nullptr) { | 186 | if (parent == nullptr) { | ||
184 | break; | 187 | break; | ||
185 | } | 188 | } | ||
186 | new SolVolumeDevice(parent, dev); | 189 | new SolVolumeDevice(parent, dev); | ||
187 | break; | 190 | break; | ||
188 | default: | 191 | default: | ||
189 | break; | 192 | break; | ||
190 | } | 193 | } | ||
191 | } | | |||
192 | } | | |||
193 | delete solhelp; | 194 | delete solhelp; | ||
194 | } | 195 | } | ||
195 | 196 | | |||
196 | void DeviceListing::deviceRemovedSlot(const QString &udi) | 197 | void DeviceListing::deviceRemovedSlot(const QString &udi) | ||
197 | { | 198 | { | ||
198 | const QTreeWidgetItem *item = getTreeWidgetItemFromUdi(this, udi); | 199 | const QTreeWidgetItem *item = getTreeWidgetItemFromUdi(this, udi); | ||
199 | if (item == nullptr) { | 200 | if (item == nullptr) { | ||
200 | return; | 201 | return; | ||
Show All 24 Lines |