summaryrefslogtreecommitdiffstats
path: root/kioslave/remote/remoteimpl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kioslave/remote/remoteimpl.cpp')
-rw-r--r--kioslave/remote/remoteimpl.cpp298
1 files changed, 0 insertions, 298 deletions
diff --git a/kioslave/remote/remoteimpl.cpp b/kioslave/remote/remoteimpl.cpp
deleted file mode 100644
index 2ca263768..000000000
--- a/kioslave/remote/remoteimpl.cpp
+++ /dev/null
@@ -1,298 +0,0 @@
-/* This file is part of the KDE project
- Copyright (c) 2004 Kevin Ottens <ervin ipsquad net>
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public License
- along with this library; see the file COPYING.LIB. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-*/
-
-#include "remoteimpl.h"
-
-#include <kdebug.h>
-#include <kglobalsettings.h>
-#include <kstandarddirs.h>
-#include <kdesktopfile.h>
-#include <kservice.h>
-#include <klocale.h>
-
-#include <tqdir.h>
-#include <tqfile.h>
-
-#include <sys/stat.h>
-
-#define WIZARD_URL "remote:/x-wizard_service.desktop"
-#define WIZARD_SERVICE "knetattach"
-
-RemoteImpl::RemoteImpl()
-{
- TDEGlobal::dirs()->addResourceType("remote_entries",
- KStandardDirs::kde_default("data") + "remoteview");
-
- TQString path = TDEGlobal::dirs()->saveLocation("remote_entries");
-
- TQDir dir = path;
- if (!dir.exists())
- {
- dir.cdUp();
- dir.mkdir("remoteview");
- }
-}
-
-void RemoteImpl::listRoot(TQValueList<TDEIO::UDSEntry> &list) const
-{
- kdDebug(1220) << "RemoteImpl::listRoot" << endl;
-
- TQStringList names_found;
- TQStringList dirList = TDEGlobal::dirs()->resourceDirs("remote_entries");
-
- TQStringList::ConstIterator dirpath = dirList.begin();
- TQStringList::ConstIterator end = dirList.end();
- for(; dirpath!=end; ++dirpath)
- {
- TQDir dir = *dirpath;
- if (!dir.exists()) continue;
-
- TQStringList filenames
- = dir.entryList( TQDir::Files | TQDir::Readable );
-
-
- TDEIO::UDSEntry entry;
-
- TQStringList::ConstIterator name = filenames.begin();
- TQStringList::ConstIterator endf = filenames.end();
-
- for(; name!=endf; ++name)
- {
- if (!names_found.contains(*name))
- {
- entry.clear();
- createEntry(entry, *dirpath, *name);
- list.append(entry);
- names_found.append(*name);
- }
- }
- }
-}
-
-bool RemoteImpl::findDirectory(const TQString &filename, TQString &directory) const
-{
- kdDebug(1220) << "RemoteImpl::findDirectory" << endl;
-
- TQStringList dirList = TDEGlobal::dirs()->resourceDirs("remote_entries");
-
- TQStringList::ConstIterator dirpath = dirList.begin();
- TQStringList::ConstIterator end = dirList.end();
- for(; dirpath!=end; ++dirpath)
- {
- TQDir dir = *dirpath;
- if (!dir.exists()) continue;
-
- TQStringList filenames
- = dir.entryList( TQDir::Files | TQDir::Readable );
-
-
- TDEIO::UDSEntry entry;
-
- TQStringList::ConstIterator name = filenames.begin();
- TQStringList::ConstIterator endf = filenames.end();
-
- for(; name!=endf; ++name)
- {
- if (*name==filename)
- {
- directory = *dirpath;
- return true;
- }
- }
- }
-
- return false;
-}
-
-TQString RemoteImpl::findDesktopFile(const TQString &filename) const
-{
- kdDebug(1220) << "RemoteImpl::findDesktopFile" << endl;
-
- TQString directory;
- if (findDirectory(filename+".desktop", directory))
- {
- return directory+filename+".desktop";
- }
-
- return TQString::null;
-}
-
-KURL RemoteImpl::findBaseURL(const TQString &filename) const
-{
- kdDebug(1220) << "RemoteImpl::findBaseURL" << endl;
-
- TQString file = findDesktopFile(filename);
- if (!file.isEmpty())
- {
- KDesktopFile desktop(file, true);
- return desktop.readURL();
- }
-
- return KURL();
-}
-
-
-static void addAtom(TDEIO::UDSEntry &entry, unsigned int ID, long l,
- const TQString &s = TQString::null)
-{
- TDEIO::UDSAtom atom;
- atom.m_uds = ID;
- atom.m_long = l;
- atom.m_str = s;
- entry.append(atom);
-}
-
-
-void RemoteImpl::createTopLevelEntry(TDEIO::UDSEntry &entry) const
-{
- entry.clear();
- addAtom(entry, TDEIO::UDS_NAME, 0, ".");
- addAtom(entry, TDEIO::UDS_FILE_TYPE, S_IFDIR);
- addAtom(entry, TDEIO::UDS_ACCESS, 0555);
- addAtom(entry, TDEIO::UDS_MIME_TYPE, 0, "inode/directory");
- addAtom(entry, TDEIO::UDS_ICON_NAME, 0, "network");
-}
-
-static KURL findWizardRealURL()
-{
- KURL url;
- KService::Ptr service = KService::serviceByDesktopName(WIZARD_SERVICE);
-
- if (service && service->isValid())
- {
- url.setPath( locate("apps",
- service->desktopEntryPath())
- );
- }
-
- return url;
-}
-
-bool RemoteImpl::createWizardEntry(TDEIO::UDSEntry &entry) const
-{
- entry.clear();
-
- KURL url = findWizardRealURL();
-
- if (!url.isValid())
- {
- return false;
- }
-
- addAtom(entry, TDEIO::UDS_NAME, 0, i18n("Add a Network Folder"));
- addAtom(entry, TDEIO::UDS_FILE_TYPE, S_IFREG);
- addAtom(entry, TDEIO::UDS_URL, 0, WIZARD_URL);
- addAtom(entry, TDEIO::UDS_LOCAL_PATH, 0, url.path());
- addAtom(entry, TDEIO::UDS_ACCESS, 0500);
- addAtom(entry, TDEIO::UDS_MIME_TYPE, 0, "application/x-desktop");
- addAtom(entry, TDEIO::UDS_ICON_NAME, 0, "wizard");
-
- return true;
-}
-
-bool RemoteImpl::isWizardURL(const KURL &url) const
-{
- return url==KURL(WIZARD_URL);
-}
-
-
-void RemoteImpl::createEntry(TDEIO::UDSEntry &entry,
- const TQString &directory,
- const TQString &file) const
-{
- kdDebug(1220) << "RemoteImpl::createEntry" << endl;
-
- KDesktopFile desktop(directory+file, true);
-
- kdDebug(1220) << "path = " << directory << file << endl;
-
- entry.clear();
-
- TQString new_filename = file;
- new_filename.truncate( file.length()-8);
-
- addAtom(entry, TDEIO::UDS_NAME, 0, desktop.readName());
- addAtom(entry, TDEIO::UDS_URL, 0, "remote:/"+new_filename);
-
- addAtom(entry, TDEIO::UDS_FILE_TYPE, S_IFDIR);
- addAtom(entry, TDEIO::UDS_MIME_TYPE, 0, "inode/directory");
-
- TQString icon = desktop.readIcon();
-
- addAtom(entry, TDEIO::UDS_ICON_NAME, 0, icon);
- addAtom(entry, TDEIO::UDS_LINK_DEST, 0, desktop.readURL());
-}
-
-bool RemoteImpl::statNetworkFolder(TDEIO::UDSEntry &entry, const TQString &filename) const
-{
- kdDebug(1220) << "RemoteImpl::statNetworkFolder: " << filename << endl;
-
- TQString directory;
- if (findDirectory(filename+".desktop", directory))
- {
- createEntry(entry, directory, filename+".desktop");
- return true;
- }
-
- return false;
-}
-
-bool RemoteImpl::deleteNetworkFolder(const TQString &filename) const
-{
- kdDebug(1220) << "RemoteImpl::deleteNetworkFolder: " << filename << endl;
-
- TQString directory;
- if (findDirectory(filename+".desktop", directory))
- {
- kdDebug(1220) << "Removing " << directory << filename << ".desktop" << endl;
- return TQFile::remove(directory+filename+".desktop");
- }
-
- return false;
-}
-
-bool RemoteImpl::renameFolders(const TQString &src, const TQString &dest,
- bool overwrite) const
-{
- kdDebug(1220) << "RemoteImpl::renameFolders: "
- << src << ", " << dest << endl;
-
- TQString directory;
- if (findDirectory(src+".desktop", directory))
- {
- if (!overwrite && TQFile::exists(directory+dest+".desktop"))
- {
- return false;
- }
-
- kdDebug(1220) << "Renaming " << directory << src << ".desktop"<< endl;
- TQDir 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;
-}
-
-