File indexing completed on 2024-04-21 04:58:22

0001 /*
0002     This file is part of the KDE project.
0003 
0004     SPDX-FileCopyrightText: 2020 Stefano Crocco <stefano.crocco@alice.it>
0005 
0006     SPDX-License-Identifier: LGPL-2.1-or-later
0007 */
0008 
0009 #include "konqurl.h"
0010 
0011 namespace KonqUrl {
0012   
0013     QLatin1String string(KonqUrl::Type type)
0014     {
0015       static QLatin1String s_konqUrls[] = {
0016         QLatin1String("konq:"),
0017         QLatin1String("konq:blank"),
0018         QLatin1String("konq:konqueror"),
0019         QLatin1String("konq:konqueror/launch"),
0020         QLatin1String("konq:konqueror/specs"),
0021         QLatin1String("konq:konqueror/intro"),
0022         QLatin1String("konq:konqueror/tips"),
0023         QLatin1String("konq:plugins"),
0024       };
0025       return s_konqUrls[static_cast<int>(type)];
0026     }
0027     
0028     QLatin1String scheme()
0029     {
0030         static QLatin1String s_konqScheme = QLatin1String("konq");
0031         return s_konqScheme;
0032     }
0033 
0034     
0035     QUrl url(KonqUrl::Type type) {
0036         return QUrl(string(type));
0037     }
0038     
0039     bool hasKonqScheme(const QUrl& url)
0040     {
0041       return url.scheme() == scheme();
0042     }
0043 
0044 
0045     bool canBeKonqUrl(const QString &url) {
0046         return url.startsWith(string(Type::NoPath));
0047     }
0048   
0049     bool hasKnownPathRoot(const QString &url) {
0050         return url == string(Type::Blank) || url == string(Type::Plugins) || url.startsWith(string(Type::Konqueror));
0051     }
0052     
0053     bool isValidNotBlank(const QString &url) {
0054         return url == string(Type::NoPath) || url == string(Type::Plugins) || url.startsWith(string(Type::Konqueror));
0055     }
0056     
0057     bool isValidNotBlank(const QUrl &url) {
0058         return isValidNotBlank(url.url());
0059     }
0060     
0061     bool isKonqBlank(const QString &url) {
0062         return url == string(Type::Blank);
0063     }
0064     
0065     bool isKonqBlank(const QUrl &url) {
0066         return url.url() == string(Type::Blank);
0067     }
0068   
0069 }