[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-core-devel
Subject: Backporting 100607 fix?
From: Kévin_Ottens <ervin () ipsquad ! net>
Date: 2005-03-02 18:56:50
Message-ID: 200503021956.51956.ervin () ipsquad ! net
[Download RAW message or body]
Hi,
Can I backport this fix for KDE 3.4?
I don't know how I missed this one...
Regards.
--
Kévin 'ervin' Ottens, http://ervin.ipsquad.net
"Ni le maître sans disciple, Ni le disciple sans maître,
Ne font reculer l'ignorance."
["100607_fix.diff" (text/x-diff)]
Index: kio_remote.cpp
===================================================================
RCS file: /home/kde/kdebase/kioslave/remote/kio_remote.cpp,v
retrieving revision 1.7
diff -u -p -u -r1.7 kio_remote.cpp
--- kio_remote.cpp 7 Feb 2005 10:54:27 -0000 1.7
+++ kio_remote.cpp 2 Mar 2005 18:45:14 -0000
@@ -192,4 +192,21 @@ void RemoteProtocol::get(const KURL &url
error(KIO::ERR_MALFORMED_URL, url.prettyURL());
}
+void RemoteProtocol::rename(const KURL &src, const KURL &dest,
+ bool overwrite)
+{
+ if (src.protocol()!="remote" || dest.protocol()!="remote"
+ || m_impl.isWizardURL(src) || m_impl.isWizardURL(dest))
+ {
+ error(KIO::ERR_UNSUPPORTED_ACTION, src.prettyURL());
+ return;
+ }
+ if (m_impl.renameFolders(src.fileName(), dest.fileName(), overwrite))
+ {
+ finished();
+ return;
+ }
+
+ error(KIO::ERR_CANNOT_RENAME, src.prettyURL());
+}
Index: kio_remote.h
===================================================================
RCS file: /home/kde/kdebase/kioslave/remote/kio_remote.h,v
retrieving revision 1.5
diff -u -p -u -r1.5 kio_remote.h
--- kio_remote.h 7 Feb 2005 10:54:27 -0000 1.5
+++ kio_remote.h 2 Mar 2005 18:45:14 -0000
@@ -34,6 +34,7 @@ public:
virtual void stat(const KURL &url);
virtual void del(const KURL &url, bool isFile);
virtual void get(const KURL &url);
+ virtual void rename(const KURL &src, const KURL &dest, bool overwrite);
private:
void listRoot();
Index: remoteimpl.cpp
===================================================================
RCS file: /home/kde/kdebase/kioslave/remote/remoteimpl.cpp,v
retrieving revision 1.3
diff -u -p -u -r1.3 remoteimpl.cpp
--- remoteimpl.cpp 7 Feb 2005 12:10:48 -0000 1.3
+++ remoteimpl.cpp 2 Mar 2005 18:45:14 -0000
@@ -269,3 +269,32 @@ bool RemoteImpl::deleteNetworkFolder(con
return false;
}
+bool RemoteImpl::renameFolders(const QString &src, const QString &dest,
+ bool overwrite) const
+{
+ kdDebug() << "RemoteImpl::renameFolders: "
+ << src << ", " << dest << endl;
+
+ QString directory;
+ if (findDirectory(src+".desktop", directory))
+ {
+ if (!overwrite && QFile::exists(directory+dest+".desktop"))
+ {
+ return false;
+ }
+
+ kdDebug() << "Renaming " << directory << src << ".desktop"<< endl;
+ QDir dir(directory);
+ bool res = dir.rename(src+".desktop", dest+".desktop");
+ if (res)
+ {
+ KDesktopFile desktop(directory+dest+".desktop");
+ desktop.writeEntry("Name", dest);
+ }
+ return res;
+ }
+
+ return false;
+}
+
+
Index: remoteimpl.h
===================================================================
RCS file: /home/kde/kdebase/kioslave/remote/remoteimpl.h,v
retrieving revision 1.2
diff -u -p -u -r1.2 remoteimpl.h
--- remoteimpl.h 7 Feb 2005 10:54:27 -0000 1.2
+++ remoteimpl.h 2 Mar 2005 18:45:14 -0000
@@ -42,6 +42,8 @@ public:
QString findDesktopFile(const QString &filename) const;
bool deleteNetworkFolder(const QString &filename) const;
+ bool renameFolders(const QString &src, const QString &dest,
+ bool overwrite) const;
private:
bool findDirectory(const QString &filename, QString &directory) const;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic