kurlcompletion.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef KURLCOMPLETION_H
00024 #define KURLCOMPLETION_H
00025
00026 #include <kcompletion.h>
00027 #include <kio/jobclasses.h>
00028 #include <qstring.h>
00029 #include <qstringlist.h>
00030
00031 class KURL;
00032 class KURLCompletionPrivate;
00033
00041 class KIO_EXPORT KURLCompletion : public KCompletion
00042 {
00043 Q_OBJECT
00044
00045 public:
00053 enum Mode { ExeCompletion=1, FileCompletion, DirCompletion };
00054
00058 KURLCompletion();
00063 KURLCompletion(Mode);
00067 virtual ~KURLCompletion();
00068
00082 virtual QString makeCompletion(const QString &text);
00083
00089 virtual void setDir(const QString &dir);
00090
00095 virtual QString dir() const;
00096
00101 virtual bool isRunning() const;
00102
00106 virtual void stop();
00107
00112 virtual Mode mode() const;
00113
00118 virtual void setMode( Mode mode );
00119
00126 virtual bool replaceEnv() const;
00127
00133 virtual void setReplaceEnv( bool replace );
00134
00141 virtual bool replaceHome() const;
00142
00149 virtual void setReplaceHome( bool replace );
00150
00159 QString replacedPath( const QString& text );
00160
00165 static QString replacedPath( const QString& text,
00166 bool replaceHome, bool replaceEnv = true );
00167
00168 class MyURL;
00169 protected:
00170
00171 void postProcessMatch( QString *match ) const;
00172 void postProcessMatches( QStringList *matches ) const;
00173 void postProcessMatches( KCompletionMatches* matches ) const;
00174
00175 virtual void customEvent( QCustomEvent *e );
00176
00177 protected slots:
00178 void slotEntries( KIO::Job *, const KIO::UDSEntryList& );
00179 void slotIOFinished( KIO::Job * );
00180
00181 private:
00182
00183 bool isAutoCompletion();
00184
00185 bool userCompletion(const MyURL &url, QString *match);
00186 bool envCompletion(const MyURL &url, QString *match);
00187 bool exeCompletion(const MyURL &url, QString *match);
00188 bool fileCompletion(const MyURL &url, QString *match);
00189 bool urlCompletion(const MyURL &url, QString *match);
00190
00191
00192 void listDir( const QString& dir,
00193 QStringList *matches,
00194 const QString& filter,
00195 bool only_exe,
00196 bool no_hidden );
00197
00198
00199 QString listDirectories(const QStringList &,
00200 const QString &,
00201 bool only_exe = false,
00202 bool only_dir = false,
00203 bool no_hidden = false,
00204 bool stat_files = true);
00205
00206 void listURLs( const QValueList<KURL *> &urls,
00207 const QString &filter = QString::null,
00208 bool only_exe = false,
00209 bool no_hidden = false );
00210
00211 void addMatches( const QStringList & );
00212 QString finished();
00213
00214 void init();
00215
00216 void setListedURL(int compl_type ,
00217 QString dir = QString::null,
00218 QString filter = QString::null,
00219 bool no_hidden = false );
00220
00221 bool isListedURL( int compl_type ,
00222 QString dir = QString::null,
00223 QString filter = QString::null,
00224 bool no_hidden = false );
00225
00226 protected:
00227 virtual void virtual_hook( int id, void* data );
00228 private:
00229 KURLCompletionPrivate *d;
00230 };
00231
00232 #endif // KURLCOMPLETION_H
This file is part of the documentation for kio Library Version 3.3.90.