From b6310bf521ebb42ef5b4a4adc39c75fe2d2a545a Mon Sep 17 00:00:00 2001 From: Matthias Fuchs Date: Mon, 5 Oct 2009 18:46:35 +0000 Subject: Adds autocompletition to the dolphin-search-box. So far existing tags and commands like "and", "or" and "-" (for not) are offered as completition-suggestions. svn path=/trunk/KDE/kdebase/apps/; revision=1031685 --- src/dolphinsearchbox.h | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) (limited to 'src/dolphinsearchbox.h') diff --git a/src/dolphinsearchbox.h b/src/dolphinsearchbox.h index 949c0b547..2f1c6e172 100644 --- a/src/dolphinsearchbox.h +++ b/src/dolphinsearchbox.h @@ -21,10 +21,45 @@ #include +#include + class KLineEdit; class KUrl; +class QCompleter; +class QModelIndex; +class QStandardItemModel; class QToolButton; +/** + * @brief used for completition for the DolphinSearchBox + */ +class DolphinSearchCompleter : public QObject +{ + Q_OBJECT + public: + DolphinSearchCompleter(KLineEdit *linedit); + + void init(); + + public slots: + void highlighted(const QModelIndex& index); + void activated(const QModelIndex& index); + void slotTextEdited(const QString &text); + + private: + void addCompletionItem(const QString& displayed, const QString& usedForCompletition, const QString& description = QString(), const KIcon& icon = KIcon()); + + void findText(int* wordStart, int* wordEnd, QString* newWord, int cursorPos, const QString &input); + + private: + KLineEdit* q; + QCompleter* m_completer; + QStandardItemModel* m_completionModel; + QString m_userText; + int m_wordStart; + int m_wordEnd; +}; + /** * @brief Input box for searching files with Nepomuk. */ @@ -50,9 +85,14 @@ signals: private slots: void emitSearchSignal(); + + + private: KLineEdit* m_searchInput; QToolButton* m_searchButton; + + DolphinSearchCompleter* m_completer; }; #endif -- cgit v1.3