plugin/appdb: forward signals

This commit is contained in:
2 * r + 2 * t 2025-09-22 13:56:21 +10:00
parent 229eaa284d
commit a08b5daf96
4 changed files with 32 additions and 15 deletions

View file

@ -33,13 +33,13 @@ Searcher {
keys = ["categories", "name"]; keys = ["categories", "name"];
weights = [0.9, 0.1]; weights = [0.9, 0.1];
} else if (search.startsWith(`${prefix}d `)) { } else if (search.startsWith(`${prefix}d `)) {
keys = ["desc", "name"]; keys = ["comment", "name"];
weights = [0.9, 0.1]; weights = [0.9, 0.1];
} else if (search.startsWith(`${prefix}e `)) { } else if (search.startsWith(`${prefix}e `)) {
keys = ["execString", "name"]; keys = ["execString", "name"];
weights = [0.9, 0.1]; weights = [0.9, 0.1];
} else if (search.startsWith(`${prefix}w `)) { } else if (search.startsWith(`${prefix}w `)) {
keys = ["wmClass", "name"]; keys = ["startupClass", "name"];
weights = [0.9, 0.1]; weights = [0.9, 0.1];
} else if (search.startsWith(`${prefix}g `)) { } else if (search.startsWith(`${prefix}g `)) {
keys = ["genericName", "name"]; keys = ["genericName", "name"];

View file

@ -8,7 +8,7 @@ namespace caelestia {
FileSystemEntry::FileSystemEntry(const QString& path, const QString& relativePath, QObject* parent) FileSystemEntry::FileSystemEntry(const QString& path, const QString& relativePath, QObject* parent)
: QObject(parent) : QObject(parent)
, m_fileInfo(QFileInfo(path)) , m_fileInfo(path)
, m_path(path) , m_path(path)
, m_relativePath(relativePath) , m_relativePath(relativePath)
, m_isImageInitialised(false) , m_isImageInitialised(false)

View file

@ -9,7 +9,17 @@ namespace caelestia {
AppEntry::AppEntry(QObject* entry, unsigned int frequency, QObject* parent) AppEntry::AppEntry(QObject* entry, unsigned int frequency, QObject* parent)
: QObject(parent) : QObject(parent)
, m_entry(entry) , m_entry(entry)
, m_frequency(frequency) {} , m_frequency(frequency) {
const auto mo = m_entry->metaObject();
const auto tmo = metaObject();
for (const auto& prop :
{ "name", "comment", "execString", "startupClass", "genericName", "categories", "keywords" }) {
const auto metaProp = mo->property(mo->indexOfProperty(prop));
const auto thisMetaProp = tmo->property(tmo->indexOfProperty(prop));
connect(m_entry, metaProp.notifySignal(), this, thisMetaProp.notifySignal());
}
}
QObject* AppEntry::entry() const { QObject* AppEntry::entry() const {
return m_entry; return m_entry;
@ -39,7 +49,7 @@ QString AppEntry::name() const {
return m_entry->property("name").toString(); return m_entry->property("name").toString();
} }
QString AppEntry::desc() const { QString AppEntry::comment() const {
return m_entry->property("comment").toString(); return m_entry->property("comment").toString();
} }
@ -47,7 +57,7 @@ QString AppEntry::execString() const {
return m_entry->property("execString").toString(); return m_entry->property("execString").toString();
} }
QString AppEntry::wmClass() const { QString AppEntry::startupClass() const {
return m_entry->property("startupClass").toString(); return m_entry->property("startupClass").toString();
} }

View file

@ -16,13 +16,13 @@ class AppEntry : public QObject {
Q_PROPERTY(quint32 frequency READ frequency NOTIFY frequencyChanged) Q_PROPERTY(quint32 frequency READ frequency NOTIFY frequencyChanged)
Q_PROPERTY(QString id READ id CONSTANT) Q_PROPERTY(QString id READ id CONSTANT)
Q_PROPERTY(QString name READ name CONSTANT) Q_PROPERTY(QString name READ name NOTIFY nameChanged)
Q_PROPERTY(QString desc READ desc CONSTANT) Q_PROPERTY(QString comment READ comment NOTIFY commentChanged)
Q_PROPERTY(QString execString READ execString CONSTANT) Q_PROPERTY(QString execString READ execString NOTIFY execStringChanged)
Q_PROPERTY(QString wmClass READ wmClass CONSTANT) Q_PROPERTY(QString startupClass READ startupClass NOTIFY startupClassChanged)
Q_PROPERTY(QString genericName READ genericName CONSTANT) Q_PROPERTY(QString genericName READ genericName NOTIFY genericNameChanged)
Q_PROPERTY(QString categories READ categories CONSTANT) Q_PROPERTY(QString categories READ categories NOTIFY categoriesChanged)
Q_PROPERTY(QString keywords READ keywords CONSTANT) Q_PROPERTY(QString keywords READ keywords NOTIFY keywordsChanged)
public: public:
explicit AppEntry(QObject* entry, quint32 frequency, QObject* parent = nullptr); explicit AppEntry(QObject* entry, quint32 frequency, QObject* parent = nullptr);
@ -35,15 +35,22 @@ public:
[[nodiscard]] QString id() const; [[nodiscard]] QString id() const;
[[nodiscard]] QString name() const; [[nodiscard]] QString name() const;
[[nodiscard]] QString desc() const; [[nodiscard]] QString comment() const;
[[nodiscard]] QString execString() const; [[nodiscard]] QString execString() const;
[[nodiscard]] QString wmClass() const; [[nodiscard]] QString startupClass() const;
[[nodiscard]] QString genericName() const; [[nodiscard]] QString genericName() const;
[[nodiscard]] QString categories() const; [[nodiscard]] QString categories() const;
[[nodiscard]] QString keywords() const; [[nodiscard]] QString keywords() const;
signals: signals:
void frequencyChanged(); void frequencyChanged();
void nameChanged();
void commentChanged();
void execStringChanged();
void startupClassChanged();
void genericNameChanged();
void categoriesChanged();
void keywordsChanged();
private: private:
QObject* m_entry; QObject* m_entry;