Phonon

mrl.cpp
1/* This file is part of the KDE project
2 Copyright (C) 2011 Harald Sitter <sitter@kde.org>
3
4 This library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Lesser General Public
6 License as published by the Free Software Foundation; either
7 version 2.1 of the License, or (at your option) version 3, or any
8 later version accepted by the membership of KDE e.V. (or its
9 successor approved by the membership of KDE e.V.), Nokia Corporation
10 (or its successors, if any) and the KDE Free Qt Foundation, which shall
11 act as a proxy defined in Section 6 of version 3 of the license.
12
13 This library is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 Lesser General Public License for more details.
17
18 You should have received a copy of the GNU Lesser General Public
19 License along with this library. If not, see <http://www.gnu.org/licenses/>.
20*/
21
22#include "mrl.h"
23
24#include <QFile>
25
26namespace Phonon
27{
28
29Mrl::Mrl()
30 : QUrl()
31{
32}
33
34Mrl::Mrl(const Mrl &copy)
35 : QUrl(copy)
36{
37}
38
39Mrl::Mrl(const QUrl &url)
40 : QUrl(url)
41{
42}
43
44Mrl::Mrl(const QString &url)
45 : QUrl(url)
46{
47}
48
49Mrl &Mrl::operator =(const Mrl &copy)
50{
51 QUrl::operator =(copy);
52 return *this;
53}
54
55#ifndef QT_NO_URL_CAST_FROM_STRING
56Mrl &Mrl::operator =(const QString &url)
57{
59 return *this;
60}
61#endif // QT_NO_URL_CAST_FROM_STRING
62
63QByteArray Mrl::toEncoded(FormattingOptions options) const
64{
65 QByteArray encodedMrl;
66
67 static QByteArray encodingExclude(":/\\?=&,@");
68 if (scheme() == QLatin1String("")) {
69 encodedMrl = QFile::encodeName("file://" + toLocalFile()).toPercentEncoding(encodingExclude);
70 } else if (scheme() == QLatin1String("file")) {
71 encodedMrl = QFile::encodeName("file://" + toLocalFile()).toPercentEncoding(encodingExclude);
72 } else {
73 encodedMrl = QUrl::toEncoded(options);
74 }
75
76 return encodedMrl;
77}
78
79} // namespace Phonon
KIOCORE_EXPORT CopyJob * copy(const QList< QUrl > &src, const QUrl &dest, JobFlags flags=DefaultFlags)
QByteArray toPercentEncoding(const QByteArray &exclude, const QByteArray &include, char percent) const const
QByteArray encodeName(const QString &fileName)
FormattingOptions
QUrl & operator=(QUrl &&other)
QByteArray toEncoded(FormattingOptions options) const const
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Fri Nov 22 2024 12:01:16 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.