kio: drop KIO::MetaData from and to QVariant conversion methods

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
Ivailo Monev 2022-12-23 00:32:15 +02:00
parent 5a270d4864
commit 96f7941236
8 changed files with 33 additions and 112 deletions

View file

@ -173,8 +173,8 @@ void CommandRecorder::slotCopyingDone(KIO::Job *job, const KUrl &from, const KUr
if (m_cmd.m_type == FileUndoManager::Trash)
{
Q_ASSERT(to.protocol() == "trash");
const QMap<QString, QString> metaData = job->metaData();
QMap<QString, QString>::ConstIterator it = metaData.find("trashURL-" + from.path());
const KIO::MetaData metaData = job->metaData();
KIO::MetaData::ConstIterator it = metaData.find("trashURL-" + from.path());
if (it != metaData.constEnd()) {
// Update URL
op.m_dst = it.value();
@ -320,8 +320,8 @@ quint64 FileUndoManager::currentCommandSerialNumber() const
const UndoCommand& cmd = d->m_commands.last();
assert(cmd.m_valid);
return cmd.m_serialNumber;
} else
return 0;
}
return 0;
}
void FileUndoManager::undo()

View file

@ -1097,46 +1097,3 @@ QFile::Permissions KIO::convertPermissions(int permissions)
return qPermissions;
}
/***************************************************************
*
* KIO::MetaData
*
***************************************************************/
KIO::MetaData::MetaData(const QMap<QString,QVariant>& map)
{
*this = map;
}
KIO::MetaData & KIO::MetaData::operator += ( const QMap<QString,QVariant> &metaData )
{
QMapIterator<QString,QVariant> it (metaData);
while(it.hasNext()) {
it.next();
insert(it.key(), it.value().toString());
}
return *this;
}
KIO::MetaData & KIO::MetaData::operator = ( const QMap<QString,QVariant> &metaData )
{
clear();
return (*this += metaData);
}
QVariant KIO::MetaData::toVariant() const
{
QMap<QString, QVariant> map;
QMapIterator <QString,QString> it (*this);
while (it.hasNext()) {
it.next();
map.insert(it.key(), it.value());
}
return QVariant(map);
}

View file

@ -280,30 +280,14 @@ namespace KIO
class KIO_EXPORT MetaData : public QMap<QString, QString>
{
public:
/**
* Creates an empty meta data map.
*/
MetaData() : QMap<QString, QString>() { }
/**
* Copy constructor.
*/
MetaData(const QMap<QString, QString>&metaData) :
QMap<QString, QString>(metaData) { }
/**
* Creates a meta data map from a QVaraint map.
* @since 4.3.1
*/
MetaData(const QMap<QString,QVariant> &);
/**
* Adds the given meta data map to this map.
* @param metaData the map to add
* @return this map
*/
MetaData & operator += ( const QMap<QString,QString> &metaData )
MetaData & operator += ( const MetaData &metaData )
{
QMap<QString,QString>::ConstIterator it;
MetaData::ConstIterator it;
for(it = metaData.constBegin(); it != metaData.constEnd(); ++it)
{
insert(it.key(), it.value());
@ -312,32 +296,20 @@ public:
}
/**
* Same as above except the value in the map is a QVariant.
*
* This convenience function allows you to easily assign the values
* of a QVariant to this meta data class.
*
* @overload
* Adds the given meta data map to this map.
* @param metaData the map to add
* @return this map
* @since 4.3.1
*/
MetaData & operator += ( const QMap<QString,QVariant> &metaData );
/**
* Sets the given meta data map to this map.
* @param metaData the map to add
* @return this map
* @since 4.3.1
*/
MetaData & operator = ( const QMap<QString,QVariant> &metaData );
/**
* Returns the contents of the map as a QVariant.
*
* @return a QVariant representation of the meta data map.
* @since 4.3.1
*/
QVariant toVariant() const;
MetaData & operator += ( const QMap<QString,QString> &metaData )
{
MetaData::ConstIterator it;
for(it = metaData.constBegin(); it != metaData.constEnd(); ++it)
{
insert(it.key(), it.value());
}
return *this;
}
};
}

View file

@ -242,17 +242,12 @@ void Job::addMetaData( const QString &key, const QString &value)
d_func()->m_outgoingMetaData.insert(key, value);
}
void Job::addMetaData( const QMap<QString,QString> &values)
void Job::addMetaData( const MetaData &values)
{
Q_D(Job);
QMapIterator<QString,QString> it(values);
while(it.hasNext()) {
it.next();
d->m_outgoingMetaData.insert(it.key(), it.value());
}
d_func()->m_outgoingMetaData += values;
}
void Job::mergeMetaData( const QMap<QString,QString> &values)
void Job::mergeMetaData( const MetaData &values)
{
Q_D(Job);
QMapIterator<QString,QString> it(values);

View file

@ -209,7 +209,7 @@ namespace KIO {
* @see setMetaData()
* @see mergeMetaData()
*/
void addMetaData(const QMap<QString,QString> &values);
void addMetaData(const MetaData &values);
/**
* Add key/value pairs to the meta data that is sent to the slave.
@ -218,7 +218,7 @@ namespace KIO {
* @see setMetaData()
* @see addMetaData()
*/
void mergeMetaData(const QMap<QString,QString> &values);
void mergeMetaData(const MetaData &values);
/**
* @internal. For the scheduler. Do not use.

View file

@ -60,7 +60,7 @@ namespace KIO
QString m_mimetype;
QByteArray m_data;
KUrl m_url;
QMap<QString, QString> *m_metaData;
MetaData *m_metaData;
/**
* Whether the download succeeded or not
@ -228,7 +228,7 @@ bool NetAccess::mkdir( const KUrl & url, QWidget* window, int permissions )
}
bool NetAccess::synchronousRun( Job* job, QWidget* window, QByteArray* data,
KUrl* finalURL, QMap<QString, QString>* metaData )
KUrl* finalURL, MetaData* metaData )
{
NetAccess kioNet;
// Disable autodeletion until we are back from this event loop (#170963)
@ -357,13 +357,13 @@ void NetAccess::slotMimetype( KIO::Job *, const QString & type )
}
bool NetAccess::synchronousRunInternal( Job* job, QWidget* window, QByteArray* data,
KUrl* finalURL, QMap<QString,QString>* metaData )
KUrl* finalURL, MetaData* metaData )
{
if ( job->ui() ) job->ui()->setWindow( window );
d->m_metaData = metaData;
if ( d->m_metaData ) {
for ( QMap<QString, QString>::iterator it = d->m_metaData->begin(); it != d->m_metaData->end(); ++it ) {
for ( MetaData::iterator it = d->m_metaData->begin(); it != d->m_metaData->end(); ++it ) {
job->addMetaData( it.key(), it.value() );
}
}

View file

@ -24,16 +24,13 @@
#define KIO_NETACCESS_H
#include <QtCore/QObject>
#include <QStringList>
#include <QWidget>
#include <kio/global.h>
#include <kio/udsentry.h>
#include <kurl.h>
#include <kio/jobclasses.h> // for KIO::JobFlags
#include <QStringList>
#include <QWidget>
#include <QMap>
class KJob;
namespace KIO {
@ -309,7 +306,7 @@ public:
*
* @code
* KIO::Job *job = KIO::get( url );
* QMap<QString, QString> metaData;
* KIO::MetaData metaData;
* metaData.insert( "no-auth", "yes" );
* if ( NetAccess::synchronousRun( job, 0, &data, &url, &metaData ) ) {
* kDebug()<<"Success";
@ -334,7 +331,7 @@ public:
* @return true on success, false on failure.
*/
static bool synchronousRun( Job* job, QWidget* window, QByteArray* data=0,
KUrl* finalURL=0, QMap<QString,QString>* metaData=0 );
KUrl* finalURL=0, MetaData* metaData=0 );
/**
* Determines the mimetype of a given URL.
@ -395,7 +392,7 @@ private:
bool delInternal(const KUrl & url, QWidget* window = 0);
bool mkdirInternal(const KUrl & url, int permissions, QWidget* window = 0);
bool synchronousRunInternal( Job* job, QWidget* window, QByteArray* data,
KUrl* finalURL, QMap<QString,QString>* metaData );
KUrl* finalURL, MetaData* metaData );
QString mimetypeInternal(const KUrl & url, QWidget* window = 0);
void enter_loop();

View file

@ -472,7 +472,7 @@ void JobTest::moveFileNoPermissions()
KIO::CopyJob* job = KIO::move( u, d, KIO::HideProgressInfo );
job->setUiDelegate( 0 ); // no skip dialog, thanks
QMap<QString, QString> metaData;
KIO::MetaData metaData;
bool ok = KIO::NetAccess::synchronousRun( job, 0, 0, 0, &metaData );
QVERIFY( !ok );
QVERIFY( KIO::NetAccess::lastError() == KIO::ERR_ACCESS_DENIED );
@ -503,7 +503,7 @@ void JobTest::moveDirectoryNoPermissions()
KIO::CopyJob* job = KIO::move( u, d, KIO::HideProgressInfo );
job->setUiDelegate( 0 ); // no skip dialog, thanks
QMap<QString, QString> metaData;
KIO::MetaData metaData;
bool ok = KIO::NetAccess::synchronousRun( job, 0, 0, 0, &metaData );
QVERIFY( !ok );
QCOMPARE( KIO::NetAccess::lastError(), (int)KIO::ERR_ACCESS_DENIED );