00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef KSHELLCOMPLETION_H
00021 #define KSHELLCOMPLETION_H
00022
00023 #include <tqstring.h>
00024 #include <tqstringlist.h>
00025
00026 #include "kurlcompletion.h"
00027
00028 class KShellCompletionPrivate;
00029
00040 class TDEIO_EXPORT KShellCompletion : public KURLCompletion
00041 {
00042 Q_OBJECT
00043
00044 public:
00048 KShellCompletion();
00049
00056 TQString makeCompletion(const TQString &text);
00057
00058 protected:
00059
00060 void postProcessMatch( TQString *match ) const;
00061 void postProcessMatches( TQStringList *matches ) const;
00062 void postProcessMatches( TDECompletionMatches *matches ) const;
00063
00064 private:
00065
00066 void splitText(const TQString &text, TQString &text_start, TQString &text_compl) const;
00067
00068 bool quoteText(TQString *text, bool force, bool skip_last) const;
00069 TQString unquote(const TQString &text) const;
00070
00071 TQString m_text_start;
00072 TQString m_text_compl;
00073
00074 TQChar m_word_break_char;
00075 TQChar m_quote_char1;
00076 TQChar m_quote_char2;
00077 TQChar m_escape_char;
00078
00079 protected:
00080 virtual void virtual_hook( int id, void* data );
00081 private:
00082 KShellCompletionPrivate *d;
00083 };
00084
00085 #endif // KSHELLCOMPLETION_H