From 66c83e6ac5671200983f3bbe5eccf674cdaae4b7 Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Sun, 1 Apr 2012 21:31:54 -0500 Subject: Add preliminary floppy drive support to TDE hardware library media backend --- kioslave/media/mediamanager/tdehardwarebackend.cpp | 23 ++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'kioslave/media/mediamanager/tdehardwarebackend.cpp') diff --git a/kioslave/media/mediamanager/tdehardwarebackend.cpp b/kioslave/media/mediamanager/tdehardwarebackend.cpp index dc615a146..d23e38f32 100644 --- a/kioslave/media/mediamanager/tdehardwarebackend.cpp +++ b/kioslave/media/mediamanager/tdehardwarebackend.cpp @@ -549,6 +549,11 @@ bool TDEBackend::setFloppyProperties(Medium* medium) } if (sdevice->isDiskOfType(TDEDiskDeviceType::Floppy)) { + setFloppyMountState(medium); + + // We don't use the routine above as floppy disks are extremely slow (we don't want them accessed at all during media listing) + medium->mountableState(sdevice->deviceNode(), sdevice->mountPath(), sdevice->fileSystemName(), !sdevice->mountPath().isNull()); + if (sdevice->mountPath().isNull()) { medium->setMimeType("media/floppy_unmounted"); } @@ -615,6 +620,24 @@ void TDEBackend::setCameraProperties(Medium* medium) } } +void TDEBackend::setFloppyMountState( Medium *medium ) +{ + KMountPoint::List mtab = KMountPoint::currentMountPoints(); + KMountPoint::List::iterator it = mtab.begin(); + KMountPoint::List::iterator end = mtab.end(); + + TQString fstype; + TQString mountpoint; + for (; it!=end; ++it) { + if ((*it)->mountedFrom() == medium->deviceNode() ) { + fstype = (*it)->mountType().isNull() ? (*it)->mountType() : "auto"; + mountpoint = (*it)->mountPoint(); + medium->mountableState( medium->deviceNode(), mountpoint, fstype, true ); + return; + } + } +} + TQStringList TDEBackend::mountoptions(const TQString &name) { const Medium* medium = m_mediaList.findById(name); -- cgit v1.2.1