summaryrefslogtreecommitdiff
path: root/plugin
diff options
context:
space:
mode:
Diffstat (limited to 'plugin')
-rw-r--r--plugin/src/Caelestia/appdb.cpp7
-rw-r--r--plugin/src/Caelestia/appdb.hpp3
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;