aboutsummaryrefslogtreecommitdiffstats
path: root/kde2/kioslave
diff options
context:
space:
mode:
authorFritz Elfert <felfert@to.com>2001-03-27 01:17:19 +0000
committerFritz Elfert <felfert@to.com>2001-03-27 01:17:19 +0000
commitfb6e57695452dc5265a35532f74e918490880723 (patch)
tree1f3f2738ed4466b3505eb0cecfcf9e3ec2a0757f /kde2/kioslave
parentc1c226e16aa579be9e64cba3c4bdca201923096c (diff)
downloadplptools-fb6e57695452dc5265a35532f74e918490880723.tar.gz
plptools-fb6e57695452dc5265a35532f74e918490880723.tar.bz2
plptools-fb6e57695452dc5265a35532f74e918490880723.zip
plpprops: Changes for recent fixes in KDE-Libs
KPsion: Autobackup now handled correctly
Diffstat (limited to 'kde2/kioslave')
-rw-r--r--kde2/kioslave/kio_plp.cpp29
-rw-r--r--kde2/kioslave/kio_plp.h5
2 files changed, 22 insertions, 12 deletions
diff --git a/kde2/kioslave/kio_plp.cpp b/kde2/kioslave/kio_plp.cpp
index bfa6d70..2374dc3 100644
--- a/kde2/kioslave/kio_plp.cpp
+++ b/kde2/kioslave/kio_plp.cpp
@@ -322,6 +322,23 @@ uid2mime(PlpDirent &e) {
}
void PLPProtocol::
+appendUIDmime(PlpDirent &e, UDSEntry &entry) {
+ QString tmp;
+
+ if ((e.getAttr() & rfsv::PSI_A_DIR) == 0) {
+ PlpUID u = e.getUID();
+ UidMap::Iterator it = puids.find(u);
+ if (it != puids.end()) {
+ UDSAtom atom;
+
+ atom.m_uds = KIO::UDS_MIME_TYPE;
+ atom.m_str = it.data();
+ entry.append(atom);
+ }
+ }
+}
+
+void PLPProtocol::
listDir(const KURL& _url) {
KURL url(_url);
QString path(QFile::encodeName(url.path(-1)));
@@ -371,18 +388,13 @@ listDir(const KURL& _url) {
UDSAtom atom;
PlpDirent e = files[i];
- long attr = e.getAttr();
entry.clear();
atom.m_uds = KIO::UDS_NAME;
atom.m_str = e.getName();
entry.append(atom);
- if ((attr & rfsv::PSI_A_DIR) == 0) {
- atom.m_uds = KIO::UDS_MIME_TYPE;
- atom.m_str = uid2mime(e);
- entry.append(atom);
- }
+ appendUIDmime(e, entry);
completeUDSEntry(entry, e, rom);
listEntry(entry, false);
@@ -431,18 +443,15 @@ createVirtualDirEntry(UDSEntry & entry, bool rdonly, int type) {
atom.m_long = S_IFDIR;
entry.append(atom);
atom.m_uds = KIO::UDS_GUESSED_MIME_TYPE;
- atom.m_uds = KIO::UDS_MIME_TYPE;
atom.m_str = QString("inode/x-psion-drive");
entry.append(atom);
break;
case PLP_FTYPE_DRIVE:
atom.m_uds = KIO::UDS_FILE_TYPE;
- atom.m_long = S_IFDIR;
+ atom.m_long = S_IFREG;
entry.append(atom);
atom.m_uds = KIO::UDS_GUESSED_MIME_TYPE;
atom.m_str = QString("inode/x-psion-drive");
- atom.m_uds = KIO::UDS_MIME_TYPE;
- atom.m_str = QString("inode/x-psion-drive");
entry.append(atom);
break;
case PLP_FTYPE_OWNER:
diff --git a/kde2/kioslave/kio_plp.h b/kde2/kioslave/kio_plp.h
index 9119e6d..c5c0701 100644
--- a/kde2/kioslave/kio_plp.h
+++ b/kde2/kioslave/kio_plp.h
@@ -38,7 +38,7 @@ class PLPProtocol : public KIO::SlaveBase {
public:
PLPProtocol (const QCString &pool, const QCString &app);
virtual ~PLPProtocol();
-
+
virtual void openConnection();
virtual void closeConnection();
@@ -74,6 +74,7 @@ private:
QString uid2mime(PlpDirent &e);
int checkSpecial(const QString& path);
void setOwner(KIO::UDSEntry & entry);
+ void appendUIDmime(PlpDirent &e, KIO::UDSEntry &entry);
rfsv *plpRfsv;
rpcs *plpRpcs;
@@ -81,7 +82,7 @@ private:
ppsocket *plpRpcsSocket;
QStringList drives;
QMap<QString,char> drivechars;
- UidMap puids;
+ UidMap puids;
QString currentHost;
int currentPort;
time_t t_last;