kio
kurlcompletion.h
Go to the documentation of this file.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
00160 QString replacedPath( const QString& text );
00161
00166 static QString replacedPath( const QString& text,
00167 bool replaceHome, bool replaceEnv = true );
00168
00169 class MyURL;
00170 protected:
00171
00172 void postProcessMatch( QString *match ) const;
00173 void postProcessMatches( QStringList *matches ) const;
00174 void postProcessMatches( KCompletionMatches* matches ) const;
00175
00176 virtual void customEvent( QCustomEvent *e );
00177
00178 protected slots:
00179 void slotEntries( KIO::Job *, const KIO::UDSEntryList& );
00180 void slotIOFinished( KIO::Job * );
00181
00182 private:
00183
00184 bool isAutoCompletion();
00185
00186 bool userCompletion(const MyURL &url, QString *match);
00187 bool envCompletion(const MyURL &url, QString *match);
00188 bool exeCompletion(const MyURL &url, QString *match);
00189 bool fileCompletion(const MyURL &url, QString *match);
00190 bool urlCompletion(const MyURL &url, QString *match);
00191
00192
00193 void listDir( const QString& dir,
00194 QStringList *matches,
00195 const QString& filter,
00196 bool only_exe,
00197 bool no_hidden );
00198
00199
00200 QString listDirectories(const QStringList &,
00201 const QString &,
00202 bool only_exe = false,
00203 bool only_dir = false,
00204 bool no_hidden = false,
00205 bool stat_files = true);
00206
00207 void listURLs( const QValueList<KURL *> &urls,
00208 const QString &filter = QString::null,
00209 bool only_exe = false,
00210 bool no_hidden = false );
00211
00212 void addMatches( const QStringList & );
00213 QString finished();
00214
00215 void init();
00216
00217 void setListedURL(int compl_type ,
00218 const QString& dir = QString::null,
00219 const QString& filter = QString::null,
00220 bool no_hidden = false );
00221
00222 bool isListedURL( int compl_type ,
00223 const QString& dir = QString::null,
00224 const QString& filter = QString::null,
00225 bool no_hidden = false );
00226
00227 void adjustMatch( QString& match ) const;
00228
00229 protected:
00230 virtual void virtual_hook( int id, void* data );
00231 private:
00232 KURLCompletionPrivate *d;
00233 };
00234
00235 #endif // KURLCOMPLETION_H