diff options
| author | Frank Reininghaus <[email protected]> | 2012-03-29 19:56:53 +0200 |
|---|---|---|
| committer | Frank Reininghaus <[email protected]> | 2012-03-29 20:05:49 +0200 |
| commit | aced85db1f7c72268860f0368402cf97f34e55c2 (patch) | |
| tree | f0b47ebdbc5e5f6549d76d3ec23c697a6e2c9e2d /src/kitemviews | |
| parent | bd26bf2a20fba80c33ad1e8438592bddc4bea4aa (diff) | |
KItemListKeyboardSearchManager: make it possible to choose the timeout
It's now possible to change the timeout, after which any call of
KItemListKeyboardSearchManager::addKeys(const QString&) starts a new
search, from the default value of 5000 milliseconds. This is not used
in Dolphin at the moment, but it permits to reduce the timeout to a
small value in the unit test. Before this change, the unit test took
more than 5 seconds to complete.
(cherry picked from commit 82fc1b54bd01768f50aba7d328cdcde7de1483d7)
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 |
