From ca1d9f2134d53329dd8583d8a506c7f99e5278c7 Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Mon, 22 Sep 2025 17:33:35 +1000 Subject: plugin/appdb: debounce updating entries Fixes #667 --- plugin/src/Caelestia/appdb.cpp | 7 ++++++- plugin/src/Caelestia/appdb.hpp | 3 +++ 2 files changed, 9 insertions(+), 1 deletion(-) (limited to 'plugin') diff --git a/plugin/src/Caelestia/appdb.cpp b/plugin/src/Caelestia/appdb.cpp index a81019b..74d1873 100644 --- a/plugin/src/Caelestia/appdb.cpp +++ b/plugin/src/Caelestia/appdb.cpp @@ -75,7 +75,12 @@ QString AppEntry::keywords() const { AppDb::AppDb(QObject* parent) : QObject(parent) + , m_timer(new QTimer(this)) , m_uuid(QUuid::createUuid().toString()) { + m_timer->setSingleShot(true); + m_timer->setInterval(300); + connect(m_timer, &QTimer::timeout, this, &AppDb::updateApps); + auto db = QSqlDatabase::addDatabase("QSQLITE", m_uuid); db.setDatabaseName(":memory:"); db.open(); @@ -125,7 +130,7 @@ void AppDb::setEntries(const QList& entries) { m_entries = entries; emit entriesChanged(); - updateApps(); + m_timer->start(); } QList AppDb::apps() const { diff --git a/plugin/src/Caelestia/appdb.hpp b/plugin/src/Caelestia/appdb.hpp index 46aed59..bb1a3f1 100644 --- a/plugin/src/Caelestia/appdb.hpp +++ b/plugin/src/Caelestia/appdb.hpp @@ -3,6 +3,7 @@ #include #include #include +#include namespace caelestia { @@ -87,6 +88,8 @@ signals: void appsChanged(); private: + QTimer* m_timer; + const QString m_uuid; QString m_path; QList m_entries; -- cgit v1.2.3-freya