• Skip to content
  • Skip to link menu
  • KDE API Reference
  • kdelibs-4.14.38 API Reference
  • KDE Home
  • Contact Us
 

KIO

  • kio
  • kio
kurifilter.h
Go to the documentation of this file.
1/*
2 * This file is part of the KDE libraries
3 * Copyright (C) 2000-2001,2003,2010 Dawit Alemayehu <adawit at kde.org>
4 *
5 * Original author
6 * Copyright (C) 2000 Yves Arrouye <yves@realnames.com>
7 *
8 *
9 * This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Library General Public
11 * License as published by the Free Software Foundation; either
12 * version 2 of the License, or (at your option) any later version.
13 *
14 * This library is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 * Library General Public License for more details.
18 *
19 * You should have received a copy of the GNU Library General Public License
20 * along with this library; see the file COPYING.LIB. If not, write to
21 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
22 * Boston, MA 02110-1301, USA.
23 **/
24
25#ifndef KURIFILTER_H
26#define KURIFILTER_H
27
28#include <kio/kio_export.h>
29#include <kurl.h>
30
31#include <QtCore/QObject>
32#include <QtCore/QHash>
33#include <QtCore/QPair>
34#include <QtCore/QStringList>
35
36#ifdef Q_OS_WIN
37#undef ERROR
38#endif
39
40class KUriFilterPrivate;
41class KUriFilterDataPrivate;
42class KCModule;
43class QHostInfo;
44
50class KIO_EXPORT KUriFilterSearchProvider
51{
52public:
56 KUriFilterSearchProvider();
57
61 KUriFilterSearchProvider(const KUriFilterSearchProvider&);
62
66 virtual ~KUriFilterSearchProvider();
67
74 QString desktopEntryName() const;
75
82 QString name() const;
83
87 QString iconName() const;
88
94 QStringList keys() const;
95
104 QString defaultKey() const;
105
109 KUriFilterSearchProvider& operator=(const KUriFilterSearchProvider&);
110
111protected:
112 void setDesktopEntryName(const QString&);
113 void setIconName(const QString&);
114 void setKeys(const QStringList&);
115 void setName(const QString&);
116
117private:
118 friend class KUriFilterPlugin;
119 class KUriFilterSearchProviderPrivate;
120 KUriFilterSearchProviderPrivate * const d;
121};
122
169class KIO_EXPORT KUriFilterData
170{
171public:
188 enum UriTypes { NetProtocol=0, LocalFile, LocalDir, Executable, Help, Shell, Blocked, Error, Unknown };
189
213 enum SearchFilterOption
214 {
215 SearchFilterOptionNone = 0x0,
216 RetrieveSearchProvidersOnly = 0x01,
217 RetrievePreferredSearchProvidersOnly = 0x02,
218 RetrieveAvailableSearchProvidersOnly = (RetrievePreferredSearchProvidersOnly | RetrieveSearchProvidersOnly)
219 };
220 Q_DECLARE_FLAGS(SearchFilterOptions, SearchFilterOption)
221
222
227 KUriFilterData();
228
234 explicit KUriFilterData( const KUrl& url );
235
241 explicit KUriFilterData( const QString& url );
242
250 KUriFilterData( const KUriFilterData& other );
251
255 ~KUriFilterData();
256
265 KUrl uri() const;
266
276 QString errorMsg() const;
277
286 UriTypes uriType() const;
287
295 QString absolutePath() const;
296
304 bool hasAbsolutePath() const;
305
312 QString argsAndOptions() const;
313
320 bool hasArgsAndOptions() const;
321
326 bool checkForExecutables() const;
327
331 QString typedString() const;
332
342 QString searchTerm() const;
343
354 QChar searchTermSeparator() const;
355
365 QString searchProvider() const;
366
391 QStringList preferredSearchProviders() const;
392
403 KUriFilterSearchProvider queryForSearchProvider(const QString& provider) const;
404
418 QString queryForPreferredSearchProvider(const QString &provider) const;
419
432 QStringList allQueriesForSearchProvider(const QString& provider) const;
433
443 QString iconNameForPreferredSearchProvider(const QString &provider) const;
444
457 QStringList alternateSearchProviders() const;
458
469 QString alternateDefaultSearchProvider() const;
470
479 QString defaultUrlScheme() const;
480
489 SearchFilterOptions searchFilteringOptions() const;
490
497 QString iconName();
498
506 void setCheckForExecutables (bool check);
507
516 void setData( const KUrl& url );
517
527 void setData( const QString& url );
528
543 bool setAbsolutePath( const QString& abs_path );
544
558 void setAlternateSearchProviders(const QStringList &providers);
559
572 void setAlternateDefaultSearchProvider(const QString &provider);
573
588 void setDefaultUrlScheme(const QString&);
589
605 void setSearchFilteringOptions(SearchFilterOptions options);
606
615 KUriFilterData& operator=( const KUrl& url );
616
625 KUriFilterData& operator=( const QString& url );
626
627private:
628 friend class KUriFilterPlugin;
629 KUriFilterDataPrivate * const d;
630};
631
632
645class KIO_EXPORT KUriFilterPlugin : public QObject
646{
647 Q_OBJECT
648
649public:
657#ifndef KDE_NO_DEPRECATED
658 KDE_DEPRECATED typedef QHash<QString, QPair<QString, QString> > ProviderInfoList;
659#endif
660
667 explicit KUriFilterPlugin( const QString &name, QObject *parent = 0 );
668
675 virtual bool filterUri( KUriFilterData& data ) const = 0;
676
685 virtual KCModule *configModule( QWidget*, const char* ) const;
686
692 virtual QString configName() const;
693
694protected:
698 void setFilteredUri ( KUriFilterData& data, const KUrl& uri ) const;
699
703 void setErrorMsg ( KUriFilterData& data, const QString& errmsg ) const;
704
708 void setUriType ( KUriFilterData& data, KUriFilterData::UriTypes type) const;
709
714 void setArguments( KUriFilterData& data, const QString& args ) const;
715
722 void setSearchProvider( KUriFilterData& data, const QString& provider,
723 const QString& term, const QChar& separator) const;
724
731#ifndef KDE_NO_DEPRECATED
732 KDE_DEPRECATED void setPreferredSearchProviders(KUriFilterData& data, const ProviderInfoList& providers) const;
733#endif
734
740 void setSearchProviders(KUriFilterData& data, const QList<KUriFilterSearchProvider*>& providers) const;
741
747 QString iconNameFor(const KUrl& url, KUriFilterData::UriTypes type) const;
748
765 QHostInfo resolveName (const QString& hostname, unsigned long timeout) const;
766
767private:
768 class KUriFilterPluginPrivate * const d;
769};
770
871class KIO_EXPORT KUriFilter
872{
873public:
880 enum SearchFilterType {
881 NormalTextFilter = 0x01,
882 WebShortcutFilter = 0x02
883 };
884 Q_DECLARE_FLAGS(SearchFilterTypes, SearchFilterType)
885
886
889 ~KUriFilter ();
890
894 static KUriFilter* self();
895
907 bool filterUri( KUriFilterData& data, const QStringList& filters = QStringList() );
908
920 bool filterUri( KUrl &uri, const QStringList& filters = QStringList() );
921
933 bool filterUri( QString &uri, const QStringList& filters = QStringList() );
934
946 KUrl filteredUri( const KUrl &uri, const QStringList& filters = QStringList() );
947
959 QString filteredUri( const QString &uri, const QStringList& filters = QStringList() );
960
967#ifndef KDE_NO_DEPRECATED
968 KDE_DEPRECATED bool filterSearchUri(KUriFilterData &data);
969#endif
970
987 bool filterSearchUri(KUriFilterData &data, SearchFilterTypes types);
988
994 QStringList pluginNames() const;
995
996protected:
997
1004 KUriFilter();
1005
1011 void loadPlugins();
1012
1013private:
1014 KUriFilterPrivate * const d;
1015};
1016
1017Q_DECLARE_OPERATORS_FOR_FLAGS(KUriFilterData::SearchFilterOptions)
1018Q_DECLARE_OPERATORS_FOR_FLAGS(KUriFilter::SearchFilterTypes)
1019
1020#endif
KCModule
KUriFilterData
This class is a basic messaging class used to exchange filtering information between the filter plugi...
Definition: kurifilter.h:170
KUriFilterData::UriTypes
UriTypes
Describes the type of the URI that was filtered.
Definition: kurifilter.h:188
KUriFilterData::Blocked
@ Blocked
Definition: kurifilter.h:188
KUriFilterData::SearchFilterOption
SearchFilterOption
This enum describes the search filtering options to be used.
Definition: kurifilter.h:214
KUriFilterPlugin
Base class for URI filter plugins.
Definition: kurifilter.h:646
KUriFilterPlugin::ProviderInfoList
QHash< QString, QPair< QString, QString > > ProviderInfoList
List for holding the following search provider information: ([search provider name],...
Definition: kurifilter.h:658
KUriFilterPlugin::filterUri
virtual bool filterUri(KUriFilterData &data) const =0
Filters a URI.
KUriFilterSearchProvider
Class that holds information about a search provider.
Definition: kurifilter.h:51
KUriFilter
KUriFilter applies a number of filters to a URI and returns a filtered version if any filter matches.
Definition: kurifilter.h:872
KUriFilter::SearchFilterType
SearchFilterType
This enum describes the types of search plugin filters available.
Definition: kurifilter.h:880
KUrl
QHash
QList
QObject
QWidget
kio_export.h
kurl.h
Unknown
Unknown
name
const char * name(StandardAction id)
Help
Help
Shell
Shell
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Mon Feb 20 2023 00:00:00 by doxygen 1.9.6 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

KIO

Skip menu "KIO"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdelibs-4.14.38 API Reference

Skip menu "kdelibs-4.14.38 API Reference"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDEWebKit
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUnitConversion
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver
Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal