diff options
Diffstat (limited to 'src/dolphinsearchbox.h')
| -rw-r--r-- | src/dolphinsearchbox.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/src/dolphinsearchbox.h b/src/dolphinsearchbox.h index 949c0b547..2f1c6e172 100644 --- a/src/dolphinsearchbox.h +++ b/src/dolphinsearchbox.h @@ -21,11 +21,46 @@ #include <QWidget> +#include <KIcon> + 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. */ class DolphinSearchBox : public QWidget @@ -50,9 +85,14 @@ signals: private slots: void emitSearchSignal(); + + + private: KLineEdit* m_searchInput; QToolButton* m_searchButton; + + DolphinSearchCompleter* m_completer; }; #endif |
