27#include <QtCore/QVariant>
222 void populateMimeData( QMimeData* mimeData,
260 void populateMimeData(
const KUrl::List& mostLocalUrls,
268 static bool canDecode(
const QMimeData *mimeData );
316 static KUrl::List fromMimeData(
const QMimeData *mimeData,
317 DecodeOptions decodeOptions,
342 explicit KUrl(
const char * urlOrPath );
349 explicit KUrl(
const QByteArray& urlOrPath );
383 void setProtocol(
const QString& proto );
397 void setUser(
const QString& user );
403 bool hasUser()
const;
421 void setPass(
const QString& pass );
427 bool hasPass()
const;
433 bool hasHost()
const;
441 QString path( AdjustPathOption trailing = LeaveTrailingSlash )
const;
449 QString toLocalFile( AdjustPathOption trailing = LeaveTrailingSlash )
const;
452 void setPath(
const QString& path );
458 bool hasPath()
const;
469 SimplifyDirSeparators = 0x00,
474 KeepDirSeparators = 0x01
477 Q_DECLARE_FLAGS(CleanPathOptions,CleanPathOption)
487 void cleanPath(
const CleanPathOption& options = SimplifyDirSeparators);
503 void adjustPath(AdjustPathOption trailing);
510 void setEncodedPathAndQuery(
const QString& _txt );
518 void setEncodedPath(
const QString& _txt );
529 PermitEmptyPath=0x00,
536 Q_DECLARE_FLAGS( EncodedPathAndQueryOptions, EncodedPathAndQueryOption)
546 QString encodedPathAndQuery( AdjustPathOption trailing = LeaveTrailingSlash,
const EncodedPathAndQueryOptions &options = PermitEmptyPath )
const;
554 void setQuery(
const QString& query );
578 void setRef(
const QString& fragment );
604 QString encodedHtmlRef()
const;
613 void setHTMLRef(
const QString& _ref );
620 bool hasHTMLRef()
const;
637 void setFileEncoding(
const QString &encoding);
665 void addPath(
const QString& txt );
674 Q_DECLARE_FLAGS(QueryItemsOptions,QueryItemsOption)
729 void setFileName(
const QString&_txt );
745 ObeyTrailingSlash = 0x02,
754 AppendTrailingSlash = 0x04,
759 IgnoreTrailingSlash = 0x01
762 Q_DECLARE_FLAGS(DirectoryOptions,DirectoryOption)
771 QString fileName(
const DirectoryOptions& options = IgnoreTrailingSlash )
const;
781 QString directory(
const DirectoryOptions& options = IgnoreTrailingSlash )
const;
786 void setDirectory(
const QString &dir);
801 bool cd(
const QString& _dir );
817 QString url( AdjustPathOption trailing = LeaveTrailingSlash )
const;
831 QString prettyUrl( AdjustPathOption trailing = LeaveTrailingSlash )
const;
849 QString pathOrUrl(AdjustPathOption trailing)
const;
856 QString toMimeDataString()
const;
897#ifndef KDE_NO_DEPRECATED
898 KDE_DEPRECATED
bool cmp(
const KUrl &u,
bool ignore_trailing =
false )
const;
917 CompareWithoutTrailingSlash = 0x01,
921 CompareWithoutFragment = 0x02,
931 AllowEmptyPath = 0x04
933 Q_DECLARE_FLAGS(EqualsOptions,EqualsOption)
944 bool equals(
const KUrl &u,
const EqualsOptions& options=0 )
const;
952 bool isParentOf(
const KUrl& u )
const;
971 static List split(
const QString& _url );
988 static List split(
const KUrl& _url );
997 static KUrl join(
const List& _list );
1015#ifndef KDE_NO_DEPRECATED
1016 static KDE_DEPRECATED
KUrl fromPathOrUrl(
const QString& text );
1024 static KUrl fromMimeDataByteArray(
const QByteArray& str );
1042 void populateMimeData( QMimeData* mimeData,
1043 const MetaDataMap& metaData = MetaDataMap(),
1044 MimeDataFlags flags = DefaultMimeDataFlags )
const;
1056#ifndef KDE_NO_DEPRECATED
1058 return QString::fromLatin1( QUrl::toPercentEncoding( str ).constData() );
1073#ifndef KDE_NO_DEPRECATED
1075 return QString::fromLatin1( QUrl::toPercentEncoding( str,
"/" ).constData() );
1089#ifndef KDE_NO_DEPRECATED
1091 return QUrl::fromPercentEncoding( str.toLatin1() );
1115 static bool isRelativeUrl(
const QString &_url);
1145 void _setQuery(
const QString& query );
1146 void _setEncodedUrl(
const QByteArray& url);
1150 KUrlPrivate*
const d;
1153Q_DECLARE_OPERATORS_FOR_FLAGS(KUrl::EncodedPathAndQueryOptions)
1154Q_DECLARE_OPERATORS_FOR_FLAGS(KUrl::CleanPathOptions)
1155Q_DECLARE_OPERATORS_FOR_FLAGS(KUrl::QueryItemsOptions)
1156Q_DECLARE_OPERATORS_FOR_FLAGS(KUrl::EqualsOptions)
1157Q_DECLARE_OPERATORS_FOR_FLAGS(KUrl::DirectoryOptions)
1159Q_DECLARE_METATYPE(
KUrl)
1170#ifndef KDE_NO_DEPRECATED
1186#ifndef KDE_NO_DEPRECATED
1187KDECORE_EXPORT_DEPRECATED
bool urlcmp(
const QString& _url1,
const QString& _url2,
const KUrl::EqualsOptions& options );
1190KDECORE_EXPORT uint
qHash(
const KUrl& kurl);
KUrl::List is a QList that contains KUrls with a few convenience methods.
List()
Creates an empty List.
DecodeOptions
Flags to be used in fromMimeData.
@ PreferLocalUrls
When the mimedata contains both KDE-style URLs (eg: desktop:/foo) and the "most local" version of the...
Represents and parses a URL.
KUrl & operator=(const QByteArray &_url)
DirectoryOption
option to be used in fileName and directory
static QString encode_string_no_slash(const QString &str)
Convert unicoded string to local encoding and use %-style encoding for all common delimiters / non-as...
EncodedPathAndQueryOption
Option to be used in encodedPathAndQuery.
static QString encode_string(const QString &str)
Convert unicoded string to local encoding and use %-style encoding for all common delimiters / non-as...
AdjustPathOption
Options to be used in adjustPath.
@ LeaveTrailingSlash
Do not change the path.
@ RemoveTrailingSlash
strips a trailing '/', except when the path is already just "/".
bool operator!=(const QString &_u) const
QMap< QString, QString > MetaDataMap
QueryItemsOption
Options for queryItems.
CleanPathOption
Options to be used in cleanPath.
EqualsOption
Flags to be used in URL comparison functions like equals, or urlcmp.
static QString decode_string(const QString &str)
Decode %-style encoding and convert from local encoding to unicode.
bool operator!=(const KUrl &_u) const
KUrl & operator=(const char *_url)
KUrl & operator=(const QString &_url)
bool operator==(const KEntry &k1, const KEntry &k2)
bool urlcmp(const QString &_url1, const QString &_url2)
static bool isLocalFile(const QUrl &url)
static bool hasSubUrl(const QUrl &url)
uint qHash(const KUrl &kurl)