# kio Library API Documentation

Overview | Class Hierarchy | Classes | Classes (annotated) | Members | Namespaces | Source Files

# kurlcompletion.h

    00001 /* This file is part of the KDE libraries
    00002     Copyright (C) 2000 David Smith  <dsmith@algonet.se>
    00003
    00004     This class was inspired by a previous KURLCompletion by
    00005     Henner Zeller <zeller@think.de>
    00006
    00007     This library is free software; you can redistribute it and/or
    00008     modify it under the terms of the GNU Library General Public
    00009     License as published by the Free Software Foundation; either
    00010     version 2 of the License, or (at your option) any later version.
    00011
    00012     This library is distributed in the hope that it will be useful,
    00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
    00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    00015     Library General Public License for more details.
    00016
    00017     You should have received a copy of the GNU Library General Public License
    00018     along with this library; see the file COPYING.LIB.  If not, write to
    00019     the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    00020     Boston, MA 02111-1307, USA.
    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); // KDE4: remove return value, it's often null due to threading
    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     // Called by KCompletion, adds '/' to directories
    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     // List a directory using readdir()
    00193     void listDir( const QString& dir,
    00194                   QStringList *matches,
    00195                   const QString& filter,
    00196                   bool only_exe,
    00197                   bool no_hidden );
    00198
    00199     // List the next dir in m_dirs
    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 /* enum ComplType */,
    00218                       const QString& dir = QString::null,
    00219                       const QString& filter = QString::null,
    00220                       bool no_hidden = false );
    00221
    00222     bool isListedURL( int compl_type /* enum ComplType */,
    00223                       const QString& dir = QString::null,
    00224                       const QString& filter = QString::null,
    00225                       bool no_hidden = false );
    00226
    00227 protected:
    00228     virtual void virtual_hook( int id, void* data );
    00229 private:
    00230     KURLCompletionPrivate *d;
    00231 };
    00232
    00233 #endif // KURLCOMPLETION_H

This file is part of the documentation for kio Library Version 3.4.1.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sat Jun 11 20:24:05 2005 by doxygen 1.4.1 written by Dimitri van Heesch, © 1997-2003