Fix disk insert/remove

pull/16/head
Timothy Pearson 12 years ago
parent a576bfdf81
commit 5a858d4748

@ -536,6 +536,9 @@ TQString TDEStorageDevice::friendlyDeviceType() {
if (isDiskOfType(TDEDiskDeviceType::Floppy)) { if (isDiskOfType(TDEDiskDeviceType::Floppy)) {
ret = i18n("Floppy Drive"); ret = i18n("Floppy Drive");
} }
if (isDiskOfType(TDEDiskDeviceType::Optical)) {
ret = i18n("Optical Drive");
}
if (isDiskOfType(TDEDiskDeviceType::CDROM)) { if (isDiskOfType(TDEDiskDeviceType::CDROM)) {
ret = i18n("CDROM Drive"); ret = i18n("CDROM Drive");
} }
@ -545,18 +548,12 @@ TQString TDEStorageDevice::friendlyDeviceType() {
if (isDiskOfType(TDEDiskDeviceType::DVDROM)) { if (isDiskOfType(TDEDiskDeviceType::DVDROM)) {
ret = i18n("DVD Drive"); ret = i18n("DVD Drive");
} }
if (isDiskOfType(TDEDiskDeviceType::DVDRW) || isDiskOfType(TDEDiskDeviceType::DVDRAM)) {
ret = i18n("DVDRW Drive");
}
if (isDiskOfType(TDEDiskDeviceType::DVDRW)) { if (isDiskOfType(TDEDiskDeviceType::DVDRW)) {
ret = i18n("DVDRW Drive"); ret = i18n("DVDRW Drive");
} }
if (isDiskOfType(TDEDiskDeviceType::DVDRAM)) { if (isDiskOfType(TDEDiskDeviceType::DVDRAM)) {
ret = i18n("DVDRAM Drive"); ret = i18n("DVDRAM Drive");
} }
if (isDiskOfType(TDEDiskDeviceType::Optical)) {
ret = i18n("Optical Drive");
}
if (isDiskOfType(TDEDiskDeviceType::Zip)) { if (isDiskOfType(TDEDiskDeviceType::Zip)) {
ret = i18n("Zip Drive"); ret = i18n("Zip Drive");
} }
@ -596,6 +593,9 @@ TQPixmap TDEStorageDevice::icon(KIcon::StdSizes size) {
if (isDiskOfType(TDEDiskDeviceType::Floppy)) { if (isDiskOfType(TDEDiskDeviceType::Floppy)) {
ret = DesktopIcon("3floppy_unmount", size); ret = DesktopIcon("3floppy_unmount", size);
} }
if (isDiskOfType(TDEDiskDeviceType::Optical)) {
ret = DesktopIcon("cdrom_unmount", size);
}
if (isDiskOfType(TDEDiskDeviceType::CDROM)) { if (isDiskOfType(TDEDiskDeviceType::CDROM)) {
ret = DesktopIcon("cdrom_unmount", size); ret = DesktopIcon("cdrom_unmount", size);
} }
@ -611,9 +611,6 @@ TQPixmap TDEStorageDevice::icon(KIcon::StdSizes size) {
if (isDiskOfType(TDEDiskDeviceType::DVDRAM)) { if (isDiskOfType(TDEDiskDeviceType::DVDRAM)) {
ret = DesktopIcon("dvd_unmount", size); ret = DesktopIcon("dvd_unmount", size);
} }
if (isDiskOfType(TDEDiskDeviceType::Optical)) {
ret = DesktopIcon("cdrom_unmount", size);
}
if (isDiskOfType(TDEDiskDeviceType::Zip)) { if (isDiskOfType(TDEDiskDeviceType::Zip)) {
ret = DesktopIcon("zip_unmount", size); ret = DesktopIcon("zip_unmount", size);
} }
@ -3056,6 +3053,10 @@ TDEGenericDevice* TDEHardwareDevices::classifyUnknownDevice(udev_device* dev, TD
if (systempath.lower().startsWith("/sys/devices/virtual")) { if (systempath.lower().startsWith("/sys/devices/virtual")) {
if (!device) device = new TDEGenericDevice(TDEGenericDeviceType::OtherVirtual); if (!device) device = new TDEGenericDevice(TDEGenericDeviceType::OtherVirtual);
} }
if (systempath.lower().startsWith("/sys/module/")
|| (systempath.lower().startsWith("/sys/kernel/"))) {
if (!device) device = new TDEGenericDevice(TDEGenericDeviceType::Platform); // FIXME Should go into a new kernel module category when the tdelibs ABI can be broken again
}
if ((devicetypestring == "audio") if ((devicetypestring == "audio")
|| (devicesubsystem == "sound") || (devicesubsystem == "sound")
|| (devicesubsystem == "ac97")) { || (devicesubsystem == "ac97")) {
@ -3395,12 +3396,10 @@ TDEGenericDevice* TDEHardwareDevices::classifyUnknownDevice(udev_device* dev, TD
TDEDiskDeviceType::TDEDiskDeviceType disktype = sdevice->diskType(); TDEDiskDeviceType::TDEDiskDeviceType disktype = sdevice->diskType();
TDEDiskDeviceStatus::TDEDiskDeviceStatus diskstatus = TDEDiskDeviceStatus::Null; TDEDiskDeviceStatus::TDEDiskDeviceStatus diskstatus = TDEDiskDeviceStatus::Null;
if (force_full_classification) { disktype = classifyDiskType(dev, devicebus, devicetypestring, systempath, devicevendor, devicemodel, filesystemtype, devicedriver);
disktype = classifyDiskType(dev, devicebus, devicetypestring, systempath, devicevendor, devicemodel, filesystemtype, devicedriver); sdevice->internalSetDiskType(disktype);
sdevice->internalSetDiskType(disktype); device = classifyUnknownDeviceByExternalRules(dev, device, true); // Check external rules for possible subtype overrides
device = classifyUnknownDeviceByExternalRules(dev, device, true); // Check external rules for possible subtype overrides disktype = sdevice->diskType(); // The type can be overridden by an external rule
disktype = sdevice->diskType(); // The type can be overridden by an external rule
}
if ((disktype & TDEDiskDeviceType::CDROM) if ((disktype & TDEDiskDeviceType::CDROM)
|| (disktype & TDEDiskDeviceType::CDRW) || (disktype & TDEDiskDeviceType::CDRW)

Loading…
Cancel
Save