┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/kitemviews
diff options
context:
space:
mode:
authorFrank Reininghaus <[email protected]>2012-03-29 19:56:53 +0200
committerFrank Reininghaus <[email protected]>2012-03-29 20:05:49 +0200
commitaced85db1f7c72268860f0368402cf97f34e55c2 (patch)
treef0b47ebdbc5e5f6549d76d3ec23c697a6e2c9e2d /src/kitemviews
parentbd26bf2a20fba80c33ad1e8438592bddc4bea4aa (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.cpp17
-rw-r--r--src/kitemviews/kitemlistkeyboardsearchmanager_p.h10
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