Skip to content

Commit 23c6370

Browse files
committed
Add delay when searching in Data Explorer
This reduces the freezing a ton, and just makes it nicer to search in general.
1 parent 5fe8175 commit 23c6370

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

apps/sagasu/src/filetreewindow.cpp

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
#include <QHBoxLayout>
1010
#include <QLineEdit>
1111
#include <QMenu>
12+
#include <QTimer>
1213
#include <QTreeWidget>
1314

1415
FileTreeWindow::FileTreeWindow(HashDatabase &database, const QString &gamePath, GameData *data, QWidget *parent)
@@ -30,10 +31,19 @@ FileTreeWindow::FileTreeWindow(HashDatabase &database, const QString &gamePath,
3031
layout->addLayout(searchLayout);*/
3132

3233
auto searchEdit = new QLineEdit();
34+
35+
auto searchTimer = new QTimer();
36+
searchTimer->setSingleShot(true);
37+
connect(searchTimer, &QTimer::timeout, m_searchModel, [this, searchEdit] {
38+
m_searchModel->setFilterFixedString(searchEdit->text());
39+
});
40+
3341
searchEdit->setPlaceholderText(i18nc("@info:placeholder", "Search…"));
3442
searchEdit->setClearButtonEnabled(true);
3543
searchEdit->setProperty("_breeze_borders_sides", QVariant::fromValue(QFlags{Qt::BottomEdge}));
36-
connect(searchEdit, &QLineEdit::textChanged, m_searchModel, &QSortFilterProxyModel::setFilterFixedString);
44+
connect(searchEdit, &QLineEdit::textChanged, searchTimer, [searchTimer] {
45+
searchTimer->start();
46+
});
3747
layout->addWidget(searchEdit);
3848

3949
// TODO Restore as an action, later. it's currently pretty useless as-is as it's a "please slow down and crash" checkbox

0 commit comments

Comments
 (0)