diff options
Diffstat (limited to 'src/kitemviews')
| -rw-r--r-- | src/kitemviews/kitemlistkeyboardsearchmanager.cpp | 17 | ||||
| -rw-r--r-- | src/kitemviews/kitemlistkeyboardsearchmanager_p.h | 10 |
2 files changed, 24 insertions, 3 deletions
diff --git a/src/kitemviews/kitemlistkeyboardsearchmanager.cpp b/src/kitemviews/kitemlistkeyboardsearchmanager.cpp index 1ff60d09c..f4dc1a547 100644 --- a/src/kitemviews/kitemlistkeyboardsearchmanager.cpp +++ b/src/kitemviews/kitemlistkeyboardsearchmanager.cpp @@ -28,7 +28,8 @@ #include <KDebug> KItemListKeyboardSearchManager::KItemListKeyboardSearchManager(QObject* parent) : - QObject(parent) + QObject(parent), + m_timeout(5000) { m_keyboardInputTime.invalidate(); } @@ -41,8 +42,7 @@ void KItemListKeyboardSearchManager::addKeys(const QString& keys) { const bool keyboardTimeWasValid = m_keyboardInputTime.isValid(); const qint64 keyboardInputTimeElapsed = m_keyboardInputTime.restart(); - const qint64 timeout = 5000; - if (keyboardInputTimeElapsed > timeout || !keyboardTimeWasValid || keys.isEmpty()) { + if (keyboardInputTimeElapsed > m_timeout || !keyboardTimeWasValid || keys.isEmpty()) { m_searchedString.clear(); } @@ -65,3 +65,14 @@ void KItemListKeyboardSearchManager::addKeys(const QString& keys) } m_keyboardInputTime.start(); } + +void KItemListKeyboardSearchManager::setTimeout(qint64 milliseconds) +{ + m_timeout = milliseconds; +} + +qint64 KItemListKeyboardSearchManager::timeout() const +{ + return m_timeout; +} + diff --git a/src/kitemviews/kitemlistkeyboardsearchmanager_p.h b/src/kitemviews/kitemlistkeyboardsearchmanager_p.h index 05de76a8c..d6a6686db 100644 --- a/src/kitemviews/kitemlistkeyboardsearchmanager_p.h +++ b/src/kitemviews/kitemlistkeyboardsearchmanager_p.h @@ -49,6 +49,15 @@ public: */ void addKeys(const QString& keys); + /** + * Sets the delay after which the search is cancelled to \a milliseconds. + * If the time interval between two calls of addKeys(const QString&) is + * larger than this, the second call will start a new search, rather than + * combining the keys received from both calls to a single search string. + */ + void setTimeout(qint64 milliseconds); + qint64 timeout() const; + signals: /** * Is emitted if the current item should be changed corresponding @@ -64,6 +73,7 @@ signals: private: QString m_searchedString; QElapsedTimer m_keyboardInputTime; + qint64 m_timeout; }; #endif |
