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

KIO

kurifilter.h

Go to the documentation of this file.
00001 /*
00002  *  This file is part of the KDE libraries
00003  *  Copyright (C) 2000-2001,2003,2010 Dawit Alemayehu <adawit at kde.org>
00004  *
00005  *  Original author
00006  *  Copyright (C) 2000 Yves Arrouye <yves@realnames.com>
00007  *
00008  *
00009  *  This library is free software; you can redistribute it and/or
00010  *  modify it under the terms of the GNU Library General Public
00011  *  License as published by the Free Software Foundation; either
00012  *  version 2 of the License, or (at your option) any later version.
00013  *
00014  *  This library is distributed in the hope that it will be useful,
00015  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00016  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00017  *  Library General Public License for more details.
00018  *
00019  *  You should have received a copy of the GNU Library General Public License
00020  *  along with this library; see the file COPYING.LIB.  If not, write to
00021  *  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00022  *  Boston, MA 02110-1301, USA.
00023  **/
00024 
00025 #ifndef KURIFILTER_H
00026 #define KURIFILTER_H
00027 
00028 #include <kio/kio_export.h>
00029 #include <kurl.h>
00030 
00031 #include <QtCore/QObject>
00032 #include <QtCore/QHash>
00033 #include <QtCore/QPair>
00034 #include <QtCore/QStringList>
00035 
00036 #ifdef Q_OS_WIN
00037 #undef ERROR
00038 #endif
00039 
00040 class KUriFilterPrivate;
00041 class KUriFilterDataPrivate;
00042 class KCModule;
00043 
00049 class KIO_EXPORT KUriFilterSearchProvider
00050 {
00051 public:
00055     KUriFilterSearchProvider();
00056 
00060     KUriFilterSearchProvider(const KUriFilterSearchProvider&);
00061 
00065     virtual ~KUriFilterSearchProvider();
00066 
00073     QString desktopEntryName() const;
00074 
00081     QString name() const;
00082 
00086     QString iconName() const;
00087 
00093     QStringList keys() const;
00094 
00103     QString defaultKey() const;
00104 
00108     KUriFilterSearchProvider& operator=(const KUriFilterSearchProvider&);
00109 
00110 protected:
00111     void setDesktopEntryName(const QString&);
00112     void setIconName(const QString&);
00113     void setKeys(const QStringList&);
00114     void setName(const QString&);
00115 
00116 private:
00117     friend class KUriFilterPlugin;
00118     class KUriFilterSearchProviderPrivate;
00119     KUriFilterSearchProviderPrivate * const d;
00120 };
00121 
00168 class KIO_EXPORT KUriFilterData
00169 {
00170 public:
00187     enum UriTypes { NetProtocol=0, LocalFile, LocalDir, Executable, Help, Shell, Blocked, Error, Unknown };
00188 
00212     enum SearchFilterOption
00213     {
00214         SearchFilterOptionNone = 0x0,
00215         RetrieveSearchProvidersOnly = 0x01,
00216         RetrievePreferredSearchProvidersOnly = 0x02,
00217         RetrieveAvailableSearchProvidersOnly = (RetrievePreferredSearchProvidersOnly | RetrieveSearchProvidersOnly)
00218     };
00219     Q_DECLARE_FLAGS(SearchFilterOptions, SearchFilterOption)
00220 
00221     
00226     KUriFilterData();
00227 
00233     explicit KUriFilterData( const KUrl& url );
00234 
00240     explicit KUriFilterData( const QString& url );
00241 
00249     KUriFilterData( const KUriFilterData& other );
00250 
00254     ~KUriFilterData();
00255 
00264     KUrl uri() const;
00265 
00275     QString errorMsg() const;
00276 
00285     UriTypes uriType() const;
00286 
00294     QString absolutePath() const;
00295 
00303     bool hasAbsolutePath() const;
00304 
00311     QString argsAndOptions() const;
00312 
00319     bool hasArgsAndOptions() const;
00320 
00325     bool checkForExecutables() const;
00326 
00330     QString typedString() const;
00331 
00341     QString searchTerm() const;
00342 
00353     QChar searchTermSeparator() const;
00354 
00364     QString searchProvider() const;
00365 
00390     QStringList preferredSearchProviders() const;
00391 
00402      KUriFilterSearchProvider queryForSearchProvider(const QString& provider) const;
00403 
00417     QString queryForPreferredSearchProvider(const QString &provider) const;
00418 
00431     QStringList allQueriesForSearchProvider(const QString& provider) const;
00432 
00442     QString iconNameForPreferredSearchProvider(const QString &provider) const;
00443 
00456     QStringList alternateSearchProviders() const;
00457 
00468     QString alternateDefaultSearchProvider() const;
00469 
00478     QString defaultUrlScheme() const;
00479 
00488     SearchFilterOptions searchFilteringOptions() const;
00489 
00496     QString iconName();
00497 
00505     void setCheckForExecutables (bool check);
00506 
00515     void setData( const KUrl& url );
00516 
00526     void setData( const QString& url );
00527 
00542     bool setAbsolutePath( const QString& abs_path );
00543 
00557     void setAlternateSearchProviders(const QStringList &providers);
00558 
00571     void setAlternateDefaultSearchProvider(const QString &provider);
00572 
00587     void setDefaultUrlScheme(const QString&);
00588 
00604     void setSearchFilteringOptions(SearchFilterOptions options);
00605 
00614     KUriFilterData& operator=( const KUrl& url );
00615 
00624     KUriFilterData& operator=( const QString& url );
00625 
00626 private:
00627     friend class KUriFilterPlugin;
00628     KUriFilterDataPrivate * const d;
00629 };
00630 
00631 
00644 class KIO_EXPORT KUriFilterPlugin : public QObject
00645 {
00646     Q_OBJECT
00647 
00648 public:
00656 #ifndef KDE_NO_DEPRECATED
00657     KDE_DEPRECATED typedef QHash<QString, QPair<QString, QString> > ProviderInfoList;
00658 #endif
00659 
00666     explicit KUriFilterPlugin( const QString &name, QObject *parent = 0 );
00667 
00674     virtual bool filterUri( KUriFilterData& data ) const = 0;
00675 
00684     virtual KCModule *configModule( QWidget*, const char* ) const;
00685 
00691     virtual QString configName() const;
00692 
00693 protected:
00697     void setFilteredUri ( KUriFilterData& data, const KUrl& uri ) const;
00698 
00702     void setErrorMsg ( KUriFilterData& data, const QString& errmsg ) const;
00703 
00707     void setUriType ( KUriFilterData& data, KUriFilterData::UriTypes type) const;
00708 
00713     void setArguments( KUriFilterData& data, const QString& args ) const;
00714 
00721     void setSearchProvider( KUriFilterData& data, const QString& provider,
00722                             const QString& term, const QChar& separator) const;
00723 
00730 #ifndef KDE_NO_DEPRECATED
00731     KDE_DEPRECATED void setPreferredSearchProviders(KUriFilterData& data, const ProviderInfoList& providers) const;
00732 #endif
00733 
00739     void setSearchProviders(KUriFilterData& data, const QList<KUriFilterSearchProvider*>& providers) const;
00740 
00746     QString iconNameFor(const KUrl& url, KUriFilterData::UriTypes type) const;
00747 
00748 private:
00749     class KUriFilterPluginPrivate * const d;
00750 };
00751 
00848 class KIO_EXPORT KUriFilter
00849 {
00850 public:
00857     enum SearchFilterType {
00858         NormalTextFilter = 0x01,
00859         WebShortcutFilter = 0x02
00860     };
00861     Q_DECLARE_FLAGS(SearchFilterTypes, SearchFilterType)
00862 
00863     
00866     ~KUriFilter ();
00867 
00871     static KUriFilter* self();
00872 
00884     bool filterUri( KUriFilterData& data, const QStringList& filters = QStringList() );
00885 
00897     bool filterUri( KUrl &uri, const QStringList& filters = QStringList() );
00898 
00910     bool filterUri( QString &uri, const QStringList& filters = QStringList() );
00911 
00923     KUrl filteredUri( const KUrl &uri, const QStringList& filters = QStringList() );
00924 
00936     QString filteredUri( const QString &uri, const QStringList& filters = QStringList() );
00937 
00944 #ifndef KDE_NO_DEPRECATED
00945     KDE_DEPRECATED bool filterSearchUri(KUriFilterData &data);
00946 #endif
00947 
00964     bool filterSearchUri(KUriFilterData &data, SearchFilterTypes types);
00965 
00971     QStringList pluginNames() const;
00972 
00973 protected:
00974 
00981     KUriFilter();
00982 
00988     void loadPlugins();
00989 
00990 private:
00991     KUriFilterPrivate * const d;
00992 };
00993 
00994 Q_DECLARE_OPERATORS_FOR_FLAGS(KUriFilterData::SearchFilterOptions)
00995 Q_DECLARE_OPERATORS_FOR_FLAGS(KUriFilter::SearchFilterTypes)
00996 
00997 #endif

KIO

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

kdelibs

Skip menu "kdelibs"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • Kate
  • 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
Generated for kdelibs by doxygen 1.7.3
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal