File indexing completed on 2025-01-12 03:39:38
0001 /* 0002 SPDX-FileCopyrightText: 2000-2001, 2003, 2010 Dawit Alemayehu <adawit at kde.org> 0003 SPDX-License-Identifier: LGPL-2.0-or-later 0004 */ 0005 0006 #include "kurifilter.h" 0007 #include <QMap> 0008 0009 typedef QMap<QString, KUriFilterSearchProvider *> SearchProviderMap; 0010 class KUriFilterDataPrivate 0011 { 0012 public: 0013 explicit KUriFilterDataPrivate(const QUrl &u, const QString &typedUrl) 0014 : checkForExecs(true) 0015 , wasModified(true) 0016 , uriType(KUriFilterData::Unknown) 0017 , searchFilterOptions(KUriFilterData::SearchFilterOptionNone) 0018 , url(u.adjusted(QUrl::NormalizePathSegments)) 0019 , typedString(typedUrl) 0020 { 0021 } 0022 0023 ~KUriFilterDataPrivate() 0024 { 0025 } 0026 0027 static QString lookupIconNameFor(const QUrl &url, KUriFilterData::UriTypes type); 0028 0029 void setData(const QUrl &u, const QString &typedUrl) 0030 { 0031 checkForExecs = true; 0032 wasModified = true; 0033 uriType = KUriFilterData::Unknown; 0034 searchFilterOptions = KUriFilterData::SearchFilterOptionNone; 0035 0036 url = u.adjusted(QUrl::NormalizePathSegments); 0037 typedString = typedUrl; 0038 0039 errMsg.clear(); 0040 iconName.clear(); 0041 absPath.clear(); 0042 args.clear(); 0043 searchTerm.clear(); 0044 searchProvider.clear(); 0045 searchTermSeparator = QChar(); 0046 alternateDefaultSearchProvider.clear(); 0047 alternateSearchProviders.clear(); 0048 searchProviderMap.clear(); 0049 defaultUrlScheme.clear(); 0050 } 0051 0052 KUriFilterDataPrivate(KUriFilterDataPrivate *data) 0053 { 0054 wasModified = data->wasModified; 0055 checkForExecs = data->checkForExecs; 0056 uriType = data->uriType; 0057 searchFilterOptions = data->searchFilterOptions; 0058 0059 url = data->url; 0060 typedString = data->typedString; 0061 0062 errMsg = data->errMsg; 0063 iconName = data->iconName; 0064 absPath = data->absPath; 0065 args = data->args; 0066 searchTerm = data->searchTerm; 0067 searchTermSeparator = data->searchTermSeparator; 0068 searchProvider = data->searchProvider; 0069 alternateDefaultSearchProvider = data->alternateDefaultSearchProvider; 0070 alternateSearchProviders = data->alternateSearchProviders; 0071 searchProviderMap = data->searchProviderMap; 0072 defaultUrlScheme = data->defaultUrlScheme; 0073 } 0074 0075 bool checkForExecs; 0076 bool wasModified; 0077 KUriFilterData::UriTypes uriType; 0078 KUriFilterData::SearchFilterOptions searchFilterOptions; 0079 0080 QUrl url; 0081 QString typedString; 0082 QString errMsg; 0083 QString iconName; 0084 QString absPath; 0085 QString args; 0086 QString searchTerm; 0087 QString searchProvider; 0088 QString alternateDefaultSearchProvider; 0089 QString defaultUrlScheme; 0090 QChar searchTermSeparator; 0091 0092 QStringList alternateSearchProviders; 0093 QStringList searchProviderList; 0094 SearchProviderMap searchProviderMap; 0095 };