diff --git a/plugin/src/Caelestia/appdb.cpp b/plugin/src/Caelestia/appdb.cpp index a81019bf..74d18735 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 46aed59e..bb1a3f1a 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;