1
Fork 0
mirror of https://github.com/redstrate/Novus.git synced 2025-06-28 05:47:46 +00:00

Add delay when searching in Data Explorer

This reduces the freezing a ton, and just makes it nicer to search in
general.
This commit is contained in:
Joshua Goins 2025-06-24 14:50:16 -04:00
parent 5fe8175543
commit 23c6370bd4

View file

@ -9,6 +9,7 @@
#include <QHBoxLayout> #include <QHBoxLayout>
#include <QLineEdit> #include <QLineEdit>
#include <QMenu> #include <QMenu>
#include <QTimer>
#include <QTreeWidget> #include <QTreeWidget>
FileTreeWindow::FileTreeWindow(HashDatabase &database, const QString &gamePath, GameData *data, QWidget *parent) FileTreeWindow::FileTreeWindow(HashDatabase &database, const QString &gamePath, GameData *data, QWidget *parent)
@ -30,10 +31,19 @@ FileTreeWindow::FileTreeWindow(HashDatabase &database, const QString &gamePath,
layout->addLayout(searchLayout);*/ layout->addLayout(searchLayout);*/
auto searchEdit = new QLineEdit(); auto searchEdit = new QLineEdit();
auto searchTimer = new QTimer();
searchTimer->setSingleShot(true);
connect(searchTimer, &QTimer::timeout, m_searchModel, [this, searchEdit] {
m_searchModel->setFilterFixedString(searchEdit->text());
});
searchEdit->setPlaceholderText(i18nc("@info:placeholder", "Search…")); searchEdit->setPlaceholderText(i18nc("@info:placeholder", "Search…"));
searchEdit->setClearButtonEnabled(true); searchEdit->setClearButtonEnabled(true);
searchEdit->setProperty("_breeze_borders_sides", QVariant::fromValue(QFlags{Qt::BottomEdge})); searchEdit->setProperty("_breeze_borders_sides", QVariant::fromValue(QFlags{Qt::BottomEdge}));
connect(searchEdit, &QLineEdit::textChanged, m_searchModel, &QSortFilterProxyModel::setFilterFixedString); connect(searchEdit, &QLineEdit::textChanged, searchTimer, [searchTimer] {
searchTimer->start();
});
layout->addWidget(searchEdit); layout->addWidget(searchEdit);
// TODO Restore as an action, later. it's currently pretty useless as-is as it's a "please slow down and crash" checkbox // TODO Restore as an action, later. it's currently pretty useless as-is as it's a "please slow down and crash" checkbox