mirror of
https://invent.kde.org/marcoa/shift-shell.git
synced 2026-04-27 14:33:08 +00:00
halcyon: use static method to register object
This commit is contained in:
parent
1d46f88e6e
commit
348d7821cc
3 changed files with 9 additions and 3 deletions
|
|
@ -30,6 +30,12 @@ ApplicationListModel::ApplicationListModel(QObject *parent)
|
||||||
|
|
||||||
ApplicationListModel::~ApplicationListModel() = default;
|
ApplicationListModel::~ApplicationListModel() = default;
|
||||||
|
|
||||||
|
ApplicationListModel *ApplicationListModel::self()
|
||||||
|
{
|
||||||
|
static ApplicationListModel *inst = new ApplicationListModel(nullptr);
|
||||||
|
return inst;
|
||||||
|
}
|
||||||
|
|
||||||
QHash<int, QByteArray> ApplicationListModel::roleNames() const
|
QHash<int, QByteArray> ApplicationListModel::roleNames() const
|
||||||
{
|
{
|
||||||
return {{ApplicationRole, QByteArrayLiteral("application")}};
|
return {{ApplicationRole, QByteArrayLiteral("application")}};
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,7 @@ public:
|
||||||
|
|
||||||
ApplicationListModel(QObject *parent = nullptr);
|
ApplicationListModel(QObject *parent = nullptr);
|
||||||
~ApplicationListModel() override;
|
~ApplicationListModel() override;
|
||||||
|
static ApplicationListModel *self();
|
||||||
|
|
||||||
int rowCount(const QModelIndex &parent = QModelIndex()) const override;
|
int rowCount(const QModelIndex &parent = QModelIndex()) const override;
|
||||||
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
|
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
|
||||||
|
|
|
||||||
|
|
@ -14,9 +14,8 @@ void HalcyonPlugin::registerTypes(const char *uri)
|
||||||
|
|
||||||
WindowListener::instance(); // ensure it is created
|
WindowListener::instance(); // ensure it is created
|
||||||
|
|
||||||
ApplicationListModel *applicationListModel = new ApplicationListModel{this};
|
qmlRegisterSingletonType<ApplicationListModel>(uri, 1, 0, "ApplicationListModel", [](QQmlEngine *, QJSEngine *) -> QObject * {
|
||||||
qmlRegisterSingletonType<ApplicationListModel>(uri, 1, 0, "ApplicationListModel", [applicationListModel](QQmlEngine *, QJSEngine *) -> QObject * {
|
return ApplicationListModel::self();
|
||||||
return applicationListModel;
|
|
||||||
});
|
});
|
||||||
|
|
||||||
PinnedModel *pinnedModel = new PinnedModel{this};
|
PinnedModel *pinnedModel = new PinnedModel{this};
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue