[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdebase/workspace/plasma/dataengines/soliddevice
From: Petri Damstén <petri.damsten () kdemail ! net>
Date: 2007-11-01 22:01:52
Message-ID: 1193954512.892219.29522.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 731811 by pdamsten:
- Always fill "Devices" data since it might have been deleted
- Move initial device list filling to own function
M +32 -33 soliddeviceengine.cpp
M +3 -2 soliddeviceengine.h
--- trunk/KDE/kdebase/workspace/plasma/dataengines/soliddevice/soliddeviceengine.cpp \
#731810:731811 @@ -54,17 +54,9 @@
delete signalmanager;
}
-bool SolidDeviceEngine::sourceRequested(const QString &name)
+void SolidDeviceEngine::fillDevices()
{
- /* This creates a list of all available devices. This must be called first \
before any other sources
- * will be available.
- */
- if (name == "Devices") {
- //if the devicelist is already populated, return
- if (!devicelist.isEmpty()) {
- return true;
- }
-
+ if (devicelist.isEmpty()) {
foreach(Solid::Device device, \
Solid::Device::listFromType(Solid::DeviceInterface::Processor)) { processorlist << \
device.udi(); if (!devicelist.contains(device.udi())) {
@@ -72,7 +64,6 @@
devicemap[device.udi()] = device;
}
}
- setData(name, I18N_NOOP("Proccessor List"), processorlist);
foreach(Solid::Device device, \
Solid::Device::listFromType(Solid::DeviceInterface::Block)) { blocklist << \
device.udi(); if (!devicelist.contains(device.udi())) {
@@ -80,7 +71,6 @@
devicemap[device.udi()] = device;
}
}
- setData(name, I18N_NOOP("Block List"), blocklist);
foreach(Solid::Device device, \
Solid::Device::listFromType(Solid::DeviceInterface::StorageAccess)) { \
storageaccesslist << device.udi(); if (!devicelist.contains(device.udi())) {
@@ -88,7 +78,6 @@
devicemap[device.udi()] = device;
}
}
- setData(name, I18N_NOOP("Storage Access List"), storageaccesslist);
foreach(Solid::Device device, \
Solid::Device::listFromType(Solid::DeviceInterface::StorageDrive)) { \
storagedrivelist << device.udi(); if (!devicelist.contains(device.udi())) {
@@ -96,7 +85,6 @@
devicemap[device.udi()] = device;
}
}
- setData(name, I18N_NOOP("Storage Drive List"), storagedrivelist);
foreach(Solid::Device device, \
Solid::Device::listFromType(Solid::DeviceInterface::OpticalDrive)) { \
opticaldrivelist << device.udi(); if (!devicelist.contains(device.udi())) {
@@ -104,7 +92,6 @@
devicemap[device.udi()] = device;
}
}
- setData(name, I18N_NOOP("Optical Drive List"), opticaldrivelist);
foreach(Solid::Device device, \
Solid::Device::listFromType(Solid::DeviceInterface::StorageVolume)) { \
storagevolumelist << device.udi(); if (!devicelist.contains(device.udi())) {
@@ -112,7 +99,6 @@
devicemap[device.udi()] = device;
}
}
- setData(name, I18N_NOOP("Storage Volume List"), storagevolumelist);
foreach(Solid::Device device, \
Solid::Device::listFromType(Solid::DeviceInterface::OpticalDisc)) { opticaldisclist \
<< device.udi(); if (!devicelist.contains(device.udi())) {
@@ -120,7 +106,6 @@
devicemap[device.udi()] = device;
}
}
- setData(name, I18N_NOOP("Optical Disc List"), opticaldisclist);
foreach(Solid::Device device, \
Solid::Device::listFromType(Solid::DeviceInterface::Camera)) { cameralist << \
device.udi(); if (!devicelist.contains(device.udi())) {
@@ -128,7 +113,6 @@
devicemap[device.udi()] = device;
}
}
- setData(name, I18N_NOOP("Camera List"), cameralist);
foreach(Solid::Device device, \
Solid::Device::listFromType(Solid::DeviceInterface::PortableMediaPlayer)) { \
portablemediaplayerlist << device.udi(); if (!devicelist.contains(device.udi())) {
@@ -136,7 +120,6 @@
devicemap[device.udi()] = device;
}
}
- setData(name, I18N_NOOP("Portable Media Player List"), \
portablemediaplayerlist);
foreach(Solid::Device device, \
Solid::Device::listFromType(Solid::DeviceInterface::NetworkInterface)) { \
networkinterfacelist << device.udi(); if (!devicelist.contains(device.udi())) {
@@ -144,7 +127,6 @@
devicemap[device.udi()] = device;
}
}
- setData(name, I18N_NOOP("Network Interface List"), networkinterfacelist);
foreach(Solid::Device device, \
Solid::Device::listFromType(Solid::DeviceInterface::AcAdapter)) { acadapterlist << \
device.udi(); if (!devicelist.contains(device.udi())) {
@@ -152,7 +134,6 @@
devicemap[device.udi()] = device;
}
}
- setData(name, I18N_NOOP("Ac Adapter List"), acadapterlist);
foreach(Solid::Device device, \
Solid::Device::listFromType(Solid::DeviceInterface::Battery)) { batterylist << \
device.udi(); if (!devicelist.contains(device.udi())) {
@@ -160,7 +141,6 @@
devicemap[device.udi()] = device;
}
}
- setData(name, I18N_NOOP("Battery List"), batterylist);
foreach(Solid::Device device, \
Solid::Device::listFromType(Solid::DeviceInterface::Button)) { buttonlist << \
device.udi(); if (!devicelist.contains(device.udi())) {
@@ -168,7 +148,6 @@
devicemap[device.udi()] = device;
}
}
- setData(name, I18N_NOOP("Button List"), buttonlist);
foreach(Solid::Device device, \
Solid::Device::listFromType(Solid::DeviceInterface::AudioInterface)) { \
audiointerfacelist << device.udi(); if (!devicelist.contains(device.udi())) {
@@ -176,7 +155,6 @@
devicemap[device.udi()] = device;
}
}
- setData(name, I18N_NOOP("Audio Interface List"), audiointerfacelist);
foreach(Solid::Device device, \
Solid::Device::listFromType(Solid::DeviceInterface::DvbInterface)) { \
dvbinterfacelist << device.udi(); if (!devicelist.contains(device.udi())) {
@@ -184,7 +162,6 @@
devicemap[device.udi()] = device;
}
}
- setData(name, I18N_NOOP("DVB Interface List"), dvbinterfacelist);
foreach(Solid::Device device, \
Solid::Device::listFromType(Solid::DeviceInterface::Unknown)) { unknownlist << \
device.udi(); if (!devicelist.contains(device.udi())) {
@@ -192,20 +169,42 @@
devicemap[device.udi()] = device;
}
}
- setData(name, I18N_NOOP("Unknown List"), unknownlist);
-
- if (devicelist.isEmpty() ) {
- return false;
- }
- setData(name, I18N_NOOP("Device List"), devicelist);
-
//detect when new devices are added
Solid::DeviceNotifier *notifier = Solid::DeviceNotifier::instance();
connect(notifier, SIGNAL(deviceAdded(const QString&)),
this, SLOT(deviceAdded(const QString&)));
connect(notifier, SIGNAL(deviceRemoved(const QString&)),
this, SLOT(deviceRemoved(const QString&)));
+ }
+}
+bool SolidDeviceEngine::sourceRequested(const QString &name)
+{
+ /* This creates a list of all available devices. This must be called first \
before any other sources + * will be available.
+ */
+ if (name == "Devices") {
+ fillDevices();
+ if (devicelist.isEmpty() ) {
+ return false;
+ }
+ setData(name, I18N_NOOP("Proccessor List"), processorlist);
+ setData(name, I18N_NOOP("Block List"), blocklist);
+ setData(name, I18N_NOOP("Storage Access List"), storageaccesslist);
+ setData(name, I18N_NOOP("Storage Drive List"), storagedrivelist);
+ setData(name, I18N_NOOP("Optical Drive List"), opticaldrivelist);
+ setData(name, I18N_NOOP("Storage Volume List"), storagevolumelist);
+ setData(name, I18N_NOOP("Optical Disc List"), opticaldisclist);
+ setData(name, I18N_NOOP("Camera List"), cameralist);
+ setData(name, I18N_NOOP("Portable Media Player List"), \
portablemediaplayerlist); + setData(name, I18N_NOOP("Network Interface List"), \
networkinterfacelist); + setData(name, I18N_NOOP("Ac Adapter List"), \
acadapterlist); + setData(name, I18N_NOOP("Battery List"), batterylist);
+ setData(name, I18N_NOOP("Button List"), buttonlist);
+ setData(name, I18N_NOOP("Audio Interface List"), audiointerfacelist);
+ setData(name, I18N_NOOP("DVB Interface List"), dvbinterfacelist);
+ setData(name, I18N_NOOP("Unknown List"), unknownlist);
+ setData(name, I18N_NOOP("Device List"), devicelist);
return true;
}
else {
@@ -674,7 +673,7 @@
if (!device.isValid()) {
return false;
}
-
+
Solid::StorageAccess *storageaccess = device.as<Solid::StorageAccess>();
if (storageaccess == 0) return false;
setData(udi, I18N_NOOP("Free Space"), \
freeDiskSpace(storageaccess->filePath()));
--- trunk/KDE/kdebase/workspace/plasma/dataengines/soliddevice/soliddeviceengine.h \
#731810:731811 @@ -47,7 +47,8 @@
bool populateDeviceData(const QString &name);
qlonglong freeDiskSpace(const QString &mountPoint);
bool updateFreeSpace(const QString &udi);
-
+ void fillDevices();
+
QStringList devicelist;
//setup lists for devicetypes
QStringList processorlist;
@@ -66,7 +67,7 @@
QStringList audiointerfacelist;
QStringList dvbinterfacelist;
QStringList unknownlist;
-
+
QMap<QString, Solid::Device> devicemap;
DeviceSignalMapManager *signalmanager;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic