mirror of
https://bitbucket.org/smil3y/kde-workspace.git
synced 2025-02-23 18:32:50 +00:00
generic: adjust to slave changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
parent
4097675cf0
commit
ed5882e440
12 changed files with 41 additions and 125 deletions
|
@ -116,8 +116,9 @@ void FileNameSearchProtocol::searchDirectory(const KUrl& directory)
|
|||
|
||||
if (addItem) {
|
||||
KIO::UDSEntry entry = item.entry();
|
||||
entry.insert(KIO::UDSEntry::UDS_URL, item.url().url() );
|
||||
listEntry(entry,false);
|
||||
entry.insert(KIO::UDSEntry::UDS_URL, item.url().url());
|
||||
entry.insert(KIO::UDSEntry::UDS_MIME_TYPE, item.mimetype());
|
||||
listEntry(entry, false);
|
||||
}
|
||||
|
||||
if (item.isDir()) {
|
||||
|
|
|
@ -36,21 +36,22 @@ class KUrl;
|
|||
* item. If the query item "checkContent" is set to "yes", all files with
|
||||
* a text MIME type will be checked for the content.
|
||||
*/
|
||||
class FileNameSearchProtocol : public KIO::SlaveBase {
|
||||
class FileNameSearchProtocol : public KIO::SlaveBase
|
||||
{
|
||||
public:
|
||||
FileNameSearchProtocol(const QByteArray& app);
|
||||
FileNameSearchProtocol(const QByteArray &app);
|
||||
virtual ~FileNameSearchProtocol();
|
||||
|
||||
virtual void listDir(const KUrl& url);
|
||||
void listDir(const KUrl &url) final;
|
||||
|
||||
private:
|
||||
void searchDirectory(const KUrl& directory);
|
||||
void searchDirectory(const KUrl &directory);
|
||||
|
||||
/**
|
||||
* @return True, if the pattern m_searchPattern is part of
|
||||
* the file \a fileName.
|
||||
*/
|
||||
bool contentContainsPattern(const KUrl& fileName) const;
|
||||
bool contentContainsPattern(const KUrl &fileName) const;
|
||||
|
||||
void cleanup();
|
||||
|
||||
|
|
|
@ -274,18 +274,12 @@ void KameraProtocol::get(const KUrl &url)
|
|||
if (info.preview.fields & GP_FILE_INFO_SIZE) {
|
||||
totalSize(info.preview.size);
|
||||
}
|
||||
if (info.preview.fields & GP_FILE_INFO_TYPE) {
|
||||
mimeType(info.preview.type);
|
||||
}
|
||||
} else {
|
||||
kDebug(7123) << "get() retrieving the full-scale photo";
|
||||
fileType = GP_FILE_TYPE_NORMAL;
|
||||
if (info.file.fields & GP_FILE_INFO_SIZE) {
|
||||
totalSize(info.file.size);
|
||||
}
|
||||
if (info.preview.fields & GP_FILE_INFO_TYPE) {
|
||||
mimeType(info.file.type);
|
||||
}
|
||||
}
|
||||
|
||||
// fetch the data
|
||||
|
@ -315,11 +309,6 @@ void KameraProtocol::get(const KUrl &url)
|
|||
return;
|
||||
}
|
||||
}
|
||||
// emit the mimetype
|
||||
// NOTE: we must first get the file, so that CameraFile->name would be set
|
||||
const char *fileMimeType;
|
||||
gp_file_get_mime_type(m_file, &fileMimeType);
|
||||
mimeType(fileMimeType);
|
||||
|
||||
// We need to pass left over data here. Some camera drivers do not
|
||||
// implement progress callbacks!
|
||||
|
@ -392,12 +381,10 @@ void KameraProtocol::stat(const KUrl &url)
|
|||
void KameraProtocol::statRoot(void)
|
||||
{
|
||||
KIO::UDSEntry entry;
|
||||
|
||||
entry.insert(KIO::UDSEntry::UDS_NAME, QString::fromLocal8Bit("/"));
|
||||
|
||||
entry.insert(KIO::UDSEntry::UDS_FILE_TYPE,S_IFDIR);
|
||||
|
||||
entry.insert(KIO::UDSEntry::UDS_ACCESS,(S_IRUSR | S_IRGRP | S_IROTH));
|
||||
entry.insert(KIO::UDSEntry::UDS_NAME, QString::fromLatin1("/"));
|
||||
entry.insert(KIO::UDSEntry::UDS_FILE_TYPE, S_IFDIR);
|
||||
entry.insert(KIO::UDSEntry::UDS_ACCESS, (S_IRUSR | S_IRGRP | S_IROTH));
|
||||
entry.insert(KIO::UDSEntry::UDS_MIME_TYPE, QString::fromLatin1("inode/directory"));
|
||||
statEntry(entry);
|
||||
finished();
|
||||
// If we just do this call, timeout right away if no other requests are
|
||||
|
@ -450,8 +437,9 @@ void KameraProtocol::statRegular(const KUrl &xurl)
|
|||
QString xname = current_camera + "@" + current_port;
|
||||
entry.insert(KIO::UDSEntry::UDS_NAME, path_quote(xname));
|
||||
entry.insert(KIO::UDSEntry::UDS_DISPLAY_NAME, current_camera);
|
||||
entry.insert(KIO::UDSEntry::UDS_FILE_TYPE,S_IFDIR);
|
||||
entry.insert(KIO::UDSEntry::UDS_ACCESS,(S_IRUSR | S_IRGRP | S_IROTH));
|
||||
entry.insert(KIO::UDSEntry::UDS_FILE_TYPE, S_IFDIR);
|
||||
entry.insert(KIO::UDSEntry::UDS_ACCESS, (S_IRUSR | S_IRGRP | S_IROTH));
|
||||
entry.insert(KIO::UDSEntry::UDS_MIME_TYPE, QString::fromLatin1("inode/directory"));
|
||||
statEntry(entry);
|
||||
finished();
|
||||
return;
|
||||
|
@ -651,7 +639,7 @@ void KameraProtocol::listDir(const KUrl &yurl)
|
|||
entry.insert(KIO::UDSEntry::UDS_FILE_TYPE,S_IFDIR);
|
||||
entry.insert(KIO::UDSEntry::UDS_ACCESS,(S_IRUSR | S_IRGRP | S_IROTH |S_IWUSR | S_IWGRP | S_IWOTH));
|
||||
xname = (*it) + "@" + m_cfgPath;
|
||||
entry.insert(KIO::UDSEntry::UDS_NAME,path_quote(xname));
|
||||
entry.insert(KIO::UDSEntry::UDS_NAME, path_quote(xname));
|
||||
// do not confuse regular users with the @usb...
|
||||
entry.insert(KIO::UDSEntry::UDS_DISPLAY_NAME, *it);
|
||||
listEntry(entry, false);
|
||||
|
@ -871,7 +859,7 @@ void KameraProtocol::translateTextToUDS(KIO::UDSEntry &udsEntry, const QString &
|
|||
|
||||
udsEntry.clear();
|
||||
|
||||
udsEntry.insert(KIO::UDSEntry::UDS_FILE_TYPE,S_IFREG);
|
||||
udsEntry.insert(KIO::UDSEntry::UDS_FILE_TYPE, S_IFREG);
|
||||
udsEntry.insert(KIO::UDSEntry::UDS_NAME,path_quote(fn));
|
||||
udsEntry.insert(KIO::UDSEntry::UDS_DISPLAY_NAME,fn);
|
||||
udsEntry.insert(KIO::UDSEntry::UDS_SIZE,strlen(text));
|
||||
|
@ -884,22 +872,22 @@ void KameraProtocol::translateFileToUDS(KIO::UDSEntry &udsEntry, const CameraFil
|
|||
|
||||
udsEntry.clear();
|
||||
|
||||
udsEntry.insert(KIO::UDSEntry::UDS_FILE_TYPE,S_IFREG);
|
||||
udsEntry.insert(KIO::UDSEntry::UDS_NAME,path_quote(name));
|
||||
udsEntry.insert(KIO::UDSEntry::UDS_DISPLAY_NAME,name);
|
||||
udsEntry.insert(KIO::UDSEntry::UDS_FILE_TYPE, S_IFREG);
|
||||
udsEntry.insert(KIO::UDSEntry::UDS_NAME, path_quote(name));
|
||||
udsEntry.insert(KIO::UDSEntry::UDS_DISPLAY_NAME, name);
|
||||
|
||||
if (info.file.fields & GP_FILE_INFO_SIZE) {
|
||||
udsEntry.insert(KIO::UDSEntry::UDS_SIZE,info.file.size);
|
||||
}
|
||||
|
||||
if (info.file.fields & GP_FILE_INFO_MTIME) {
|
||||
udsEntry.insert(KIO::UDSEntry::UDS_MODIFICATION_TIME,info.file.mtime);
|
||||
udsEntry.insert(KIO::UDSEntry::UDS_MODIFICATION_TIME, info.file.mtime);
|
||||
} else {
|
||||
udsEntry.insert(KIO::UDSEntry::UDS_MODIFICATION_TIME,time(NULL));
|
||||
udsEntry.insert(KIO::UDSEntry::UDS_MODIFICATION_TIME, time(NULL));
|
||||
}
|
||||
|
||||
if (info.file.fields & GP_FILE_INFO_TYPE) {
|
||||
udsEntry.insert(KIO::UDSEntry::UDS_MIME_TYPE,QString::fromLatin1(info.file.type));
|
||||
udsEntry.insert(KIO::UDSEntry::UDS_MIME_TYPE, QString::fromLatin1(info.file.type));
|
||||
}
|
||||
|
||||
if (info.file.fields & GP_FILE_INFO_PERMISSIONS) {
|
||||
|
@ -917,8 +905,8 @@ void KameraProtocol::translateDirectoryToUDS(KIO::UDSEntry &udsEntry, const QStr
|
|||
|
||||
udsEntry.clear();
|
||||
|
||||
udsEntry.insert(KIO::UDSEntry::UDS_FILE_TYPE,S_IFDIR);
|
||||
udsEntry.insert(KIO::UDSEntry::UDS_NAME,path_quote(dirname));
|
||||
udsEntry.insert(KIO::UDSEntry::UDS_FILE_TYPE, S_IFDIR);
|
||||
udsEntry.insert(KIO::UDSEntry::UDS_NAME, path_quote(dirname));
|
||||
udsEntry.insert(KIO::UDSEntry::UDS_DISPLAY_NAME, dirname);
|
||||
udsEntry.insert(KIO::UDSEntry::UDS_ACCESS,S_IRUSR | S_IRGRP | S_IROTH |S_IWUSR | S_IWGRP | S_IWOTH | S_IXUSR | S_IXOTH | S_IXGRP);
|
||||
udsEntry.insert(KIO::UDSEntry::UDS_MIME_TYPE, QString("inode/directory"));
|
||||
|
|
|
@ -398,45 +398,6 @@ void MTPSlave::stat(const KUrl& url)
|
|||
finished();
|
||||
}
|
||||
|
||||
void MTPSlave::mimetype(const KUrl& url)
|
||||
{
|
||||
int check = checkUrl(url);
|
||||
switch (check)
|
||||
{
|
||||
case 0: {
|
||||
break;
|
||||
}
|
||||
case 1: {
|
||||
finished();
|
||||
return;
|
||||
}
|
||||
case 2: {
|
||||
error(ERR_DOES_NOT_EXIST, url.path());
|
||||
return;
|
||||
}
|
||||
default: {
|
||||
error(ERR_MALFORMED_URL, url.path());
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
kDebug(KIO_MTP) << url.path();
|
||||
|
||||
QStringList pathItems = url.path().split(QLatin1Char('/'), QString::SkipEmptyParts);
|
||||
|
||||
QPair<void*, LIBMTP_mtpdevice_t*> pair = getPath(url.path());
|
||||
|
||||
if (pair.first) {
|
||||
if (pathItems.size() > 2) {
|
||||
mimetype(getMimetype(((LIBMTP_file_t*)pair.first)->filetype));
|
||||
} else {
|
||||
mimetype(QString::fromLatin1("inode/directory"));
|
||||
}
|
||||
} else {
|
||||
error(ERR_DOES_NOT_EXIST, url.path());
|
||||
}
|
||||
}
|
||||
|
||||
void MTPSlave::put(const KUrl& url, int, JobFlags flags)
|
||||
{
|
||||
int check = checkUrl(url);
|
||||
|
@ -535,7 +496,6 @@ void MTPSlave::get(const KUrl& url)
|
|||
if (pair.first) {
|
||||
LIBMTP_file_t *file = (LIBMTP_file_t*)pair.first;
|
||||
|
||||
mimeType(getMimetype(file->filetype));
|
||||
totalSize(file->filesize);
|
||||
|
||||
LIBMTP_mtpdevice_t *device = pair.second;
|
||||
|
|
|
@ -72,15 +72,14 @@ public:
|
|||
MTPSlave(const QByteArray& app);
|
||||
virtual ~MTPSlave();
|
||||
|
||||
virtual void listDir(const KUrl& url);
|
||||
virtual void stat(const KUrl& url);
|
||||
virtual void mimetype(const KUrl& url);
|
||||
virtual void get(const KUrl& url);
|
||||
virtual void put(const KUrl& url, int, JobFlags flags);
|
||||
virtual void copy(const KUrl& src, const KUrl& dest, int, JobFlags flags);
|
||||
virtual void mkdir(const KUrl& url, int);
|
||||
virtual void del(const KUrl& url, bool);
|
||||
virtual void rename(const KUrl& src, const KUrl& dest, JobFlags flags);
|
||||
void listDir(const KUrl& url) final;
|
||||
void stat(const KUrl& url) final;
|
||||
void get(const KUrl& url) final;
|
||||
void put(const KUrl& url, int, JobFlags flags) final;
|
||||
void copy(const KUrl& src, const KUrl& dest, int, JobFlags flags) final;
|
||||
void mkdir(const KUrl& url, int) final;
|
||||
void del(const KUrl& url, bool) final;
|
||||
void rename(const KUrl& src, const KUrl& dest, JobFlags flags) final;
|
||||
};
|
||||
|
||||
#endif //#endif KIO_MTP_H
|
||||
|
|
|
@ -75,30 +75,6 @@ NetworkSlave::~NetworkSlave()
|
|||
delete m_kdnssd;
|
||||
}
|
||||
|
||||
void NetworkSlave::mimetype(const KUrl &url)
|
||||
{
|
||||
if (!KDNSSD::isSupported()) {
|
||||
error(KIO::ERR_UNSUPPORTED_ACTION, url.prettyUrl());
|
||||
return;
|
||||
}
|
||||
if (!m_kdnssd) {
|
||||
m_kdnssd = new KDNSSD();
|
||||
}
|
||||
if (!m_kdnssd->startBrowse()) {
|
||||
error(KIO::ERR_SLAVE_DEFINED, m_kdnssd->errorString());
|
||||
return;
|
||||
}
|
||||
foreach (const KDNSSDService &kdnssdservice, m_kdnssd->services()) {
|
||||
// qDebug() << Q_FUNC_INFO << kdnssdservice.url << url.prettyUrl();
|
||||
if (kdnssdservice.url == url.prettyUrl()) {
|
||||
mimeType(mimeForService(kdnssdservice));
|
||||
finished();
|
||||
return;
|
||||
}
|
||||
}
|
||||
error(KIO::ERR_DOES_NOT_EXIST, url.prettyUrl());
|
||||
}
|
||||
|
||||
void NetworkSlave::stat(const KUrl &url)
|
||||
{
|
||||
if (!KDNSSD::isSupported()) {
|
||||
|
|
|
@ -31,14 +31,13 @@ class NetworkSlave : public KIO::SlaveBase
|
|||
{
|
||||
public:
|
||||
NetworkSlave(const QByteArray &programSocket);
|
||||
virtual ~NetworkSlave();
|
||||
~NetworkSlave();
|
||||
|
||||
public: // KIO::SlaveBase API
|
||||
virtual void mimetype(const KUrl &url);
|
||||
virtual void stat(const KUrl &url);
|
||||
virtual void listDir(const KUrl &url);
|
||||
public:
|
||||
void stat(const KUrl &url) final;
|
||||
void listDir(const KUrl &url) final;
|
||||
|
||||
private: // data
|
||||
private:
|
||||
KDNSSD *m_kdnssd;
|
||||
};
|
||||
|
||||
|
|
|
@ -217,7 +217,6 @@ void ThumbnailProtocol::get(const KUrl &url)
|
|||
|
||||
const QString imgpath = KTemporaryFile::filePath(QString::fromLatin1("XXXXXXXXXX%1").arg(thumbExt));
|
||||
img.save(imgpath, thumbFormat);
|
||||
mimeType(KMimeType::findByPath(imgpath)->name());
|
||||
data(QFile::encodeName(imgpath));
|
||||
finished();
|
||||
}
|
||||
|
|
|
@ -43,7 +43,7 @@ public:
|
|||
ThumbnailProtocol(const QByteArray &app);
|
||||
virtual ~ThumbnailProtocol();
|
||||
|
||||
virtual void get(const KUrl &url);
|
||||
void get(const KUrl &url) final;
|
||||
|
||||
protected:
|
||||
ThumbCreator* getThumbCreator(const QString& plugin);
|
||||
|
|
|
@ -535,8 +535,6 @@ void TrashProtocol::get( const KUrl& url )
|
|||
KIO::Job* job = KIO::get( fileURL, KIO::HideProgressInfo );
|
||||
connect( job, SIGNAL( data( KIO::Job*, const QByteArray& ) ),
|
||||
this, SLOT( slotData( KIO::Job*, const QByteArray& ) ) );
|
||||
connect( job, SIGNAL( mimetype( KIO::Job*, const QString& ) ),
|
||||
this, SLOT( slotMimetype( KIO::Job*, const QString& ) ) );
|
||||
connect( job, SIGNAL( result(KJob*) ),
|
||||
this, SLOT( jobFinished(KJob*) ) );
|
||||
enterLoop();
|
||||
|
@ -547,11 +545,6 @@ void TrashProtocol::slotData( KIO::Job*, const QByteArray&arr )
|
|||
data( arr );
|
||||
}
|
||||
|
||||
void TrashProtocol::slotMimetype( KIO::Job*, const QString& mt )
|
||||
{
|
||||
mimeType( mt );
|
||||
}
|
||||
|
||||
void TrashProtocol::jobFinished( KJob* job )
|
||||
{
|
||||
if ( job->error() )
|
||||
|
|
|
@ -54,7 +54,6 @@ Q_SIGNALS:
|
|||
|
||||
private Q_SLOTS:
|
||||
void slotData( KIO::Job*, const QByteArray& );
|
||||
void slotMimetype( KIO::Job*, const QString& );
|
||||
void jobFinished( KJob* job );
|
||||
|
||||
private:
|
||||
|
|
|
@ -523,6 +523,7 @@ bool TrashImpl::synchronousDel( const QString& path, bool setLastErrorCode, bool
|
|||
enterLoop();
|
||||
}
|
||||
|
||||
kDebug() << "deleting " << url;
|
||||
KIO::DeleteJob *job = KIO::del( url, KIO::HideProgressInfo );
|
||||
connect( job, SIGNAL( result(KJob*) ),
|
||||
this, SLOT( jobFinished(KJob*) ) );
|
||||
|
|
Loading…
Add table
Reference in a new issue