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

KIO

  • sources
  • kde-4.14
  • kdelibs
  • 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 
40 class KUriFilterPrivate;
41 class KUriFilterDataPrivate;
42 class KCModule;
43 class QHostInfo;
44 
50 class KIO_EXPORT KUriFilterSearchProvider
51 {
52 public:
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 
111 protected:
112  void setDesktopEntryName(const QString&);
113  void setIconName(const QString&);
114  void setKeys(const QStringList&);
115  void setName(const QString&);
116 
117 private:
118  friend class KUriFilterPlugin;
119  class KUriFilterSearchProviderPrivate;
120  KUriFilterSearchProviderPrivate * const d;
121 };
122 
169 class KIO_EXPORT KUriFilterData
170 {
171 public:
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 
627 private:
628  friend class KUriFilterPlugin;
629  KUriFilterDataPrivate * const d;
630 };
631 
632 
645 class KIO_EXPORT KUriFilterPlugin : public QObject
646 {
647  Q_OBJECT
648 
649 public:
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 
694 protected:
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 
767 private:
768  class KUriFilterPluginPrivate * const d;
769 };
770 
871 class KIO_EXPORT KUriFilter
872 {
873 public:
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 
996 protected:
997 
1004  KUriFilter();
1005 
1011  void loadPlugins();
1012 
1013 private:
1014  KUriFilterPrivate * const d;
1015 };
1016 
1017 Q_DECLARE_OPERATORS_FOR_FLAGS(KUriFilterData::SearchFilterOptions)
1018 Q_DECLARE_OPERATORS_FOR_FLAGS(KUriFilter::SearchFilterTypes)
1019 
1020 #endif
KUriFilterPlugin
Base class for URI filter plugins.
Definition: kurifilter.h:645
kio_export.h
QWidget
KUriFilterData::SearchFilterOption
SearchFilterOption
This enum describes the search filtering options to be used.
Definition: kurifilter.h:213
kurl.h
QChar
KUriFilterPlugin::ProviderInfoList
QHash< QString, QPair< QString, QString > > ProviderInfoList
List for holding the following search provider information: ([search provider name], [search query, search query icon name])
Definition: kurifilter.h:658
name
const char * name(StandardAction id)
KUrl
Shell
QHash
QObject
KUriFilterSearchProvider
Class that holds information about a search provider.
Definition: kurifilter.h:50
Unknown
KUriFilterData::UriTypes
UriTypes
Describes the type of the URI that was filtered.
Definition: kurifilter.h:188
QString
QList
QStringList
KUriFilter
KUriFilter applies a number of filters to a URI and returns a filtered version if any filter matches...
Definition: kurifilter.h:871
KUriFilterData
This class is a basic messaging class used to exchange filtering information between the filter plugi...
Definition: kurifilter.h:169
KImageIO::types
QStringList types(Mode mode=Writing)
Returns a list of all KImageIO supported formats.
Definition: kimageio.cpp:82
KUriFilter::SearchFilterType
SearchFilterType
This enum describes the types of search plugin filters available.
Definition: kurifilter.h:880
Help
QHostInfo
KCModule
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:24:53 by doxygen 1.8.7 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 API Reference

Skip menu "kdelibs 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

Search



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