summaryrefslogtreecommitdiff
path: root/plugin/src/Caelestia/appdb.cpp
diff options
context:
space:
mode:
author2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-09-22 17:33:35 +1000
committer2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-09-22 17:33:35 +1000
commitca1d9f2134d53329dd8583d8a506c7f99e5278c7 (patch)
tree0698cc40fef150717dcb52f4805ae301ff91414b /plugin/src/Caelestia/appdb.cpp
parentcolours: fix term colours (diff)
downloadcaelestia-shell-ca1d9f2134d53329dd8583d8a506c7f99e5278c7.tar.gz
caelestia-shell-ca1d9f2134d53329dd8583d8a506c7f99e5278c7.tar.bz2
caelestia-shell-ca1d9f2134d53329dd8583d8a506c7f99e5278c7.zip
plugin/appdb: debounce updating entries
Fixes #667
Diffstat (limited to 'plugin/src/Caelestia/appdb.cpp')
-rw-r--r--plugin/src/Caelestia/appdb.cpp7
1 files changed, 6 insertions, 1 deletions
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<QObject*>& entries) {
m_entries = entries;
emit entriesChanged();
- updateApps();
+ m_timer->start();
}
QList<AppEntry*> AppDb::apps() const {