freebsd-ports/x11/kdebase4/files/patch-kioslave_media_kdedmodule_fstabbackend.cpp
Michael Nottebrock 4bdac311d9 Fix some of the issues in the media:/ kioslave. proc filesystems should no
longer appear in the list, numbering of NFS filesystems should be okay now
and removable media should be mountable, unmountable and browseable - if
the user running KDE can mount them in the first place (i.e. vfs.usermount
and mountpoint ownership still required).

Obtained from: KDE SVN
2005-07-12 13:53:12 +00:00

63 lines
1.5 KiB
C++

--- kioslave/media/kdedmodule/fstabbackend.cpp
+++ kioslave/media/kdedmodule/fstabbackend.cpp
@@ -47,6 +47,12 @@
handleMtabChange();
KDirWatch::self()->startScan();
+
+#ifdef Q_OS_FREEBSD
+ connect( &m_mtabTimer, SIGNAL( timeout() ),
+ this, SLOT( handleMtabChange() ) );
+ m_mtabTimer.start(250);
+#endif
}
FstabBackend::~FstabBackend()
@@ -86,7 +92,7 @@
|| mount->mountType() == "tmpfs"
|| mount->mountType() == "sysfs"
|| mount->mountType() == "usbfs"
- || mount->mountType() == "proc"
+ || mount->mountType().contains( "proc" )
|| mount->mountType() == "unknown"
|| mount->mountType() == "none"
|| mount->mountedFrom() == "none"
@@ -136,7 +142,7 @@
#if 0
else if ( !m_mtabIds.contains(id) )
{
- QString name = generateName(dev);
+ QString name = generateName(dev, fs);
Medium *m = new Medium(id, name);
@@ -205,7 +211,7 @@
if ( !m_fstabIds.contains(id) )
{
- QString name = generateName(dev);
+ QString name = generateName(dev, fs);
Medium *m = new Medium(id, name);
@@ -247,9 +253,18 @@
+m.replace("/", "");
}
-QString FstabBackend::generateName(const QString &devNode)
+QString FstabBackend::generateName(const QString &devNode, const QString &fsType)
{
- return KURL(devNode).fileName();
+ KURL url( devNode );
+
+ if ( url.isValid() )
+ {
+ return url.fileName();
+ }
+ else // surely something nfs or samba based
+ {
+ return fsType;
+ }
}
void FstabBackend::guess(const QString &devNode, const QString &mountPoint,