diff options
Diffstat (limited to 'plugin')
| -rw-r--r-- | plugin/src/Caelestia/appdb.cpp | 7 | ||||
| -rw-r--r-- | plugin/src/Caelestia/appdb.hpp | 3 |
2 files changed, 9 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 { 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 <qhash.h> #include <qobject.h> #include <qqmlintegration.h> +#include <qtimer.h> namespace caelestia { @@ -87,6 +88,8 @@ signals: void appsChanged(); private: + QTimer* m_timer; + const QString m_uuid; QString m_path; QList<QObject*> m_entries; |