mirror of
https://invent.kde.org/marcoa/shift-shell.git
synced 2026-04-26 14:23:09 +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::self()
|
||||
{
|
||||
static ApplicationListModel *inst = new ApplicationListModel(nullptr);
|
||||
return inst;
|
||||
}
|
||||
|
||||
QHash<int, QByteArray> ApplicationListModel::roleNames() const
|
||||
{
|
||||
return {{ApplicationRole, QByteArrayLiteral("application")}};
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@ public:
|
|||
|
||||
ApplicationListModel(QObject *parent = nullptr);
|
||||
~ApplicationListModel() override;
|
||||
static ApplicationListModel *self();
|
||||
|
||||
int rowCount(const QModelIndex &parent = QModelIndex()) 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
|
||||
|
||||
ApplicationListModel *applicationListModel = new ApplicationListModel{this};
|
||||
qmlRegisterSingletonType<ApplicationListModel>(uri, 1, 0, "ApplicationListModel", [applicationListModel](QQmlEngine *, QJSEngine *) -> QObject * {
|
||||
return applicationListModel;
|
||||
qmlRegisterSingletonType<ApplicationListModel>(uri, 1, 0, "ApplicationListModel", [](QQmlEngine *, QJSEngine *) -> QObject * {
|
||||
return ApplicationListModel::self();
|
||||
});
|
||||
|
||||
PinnedModel *pinnedModel = new PinnedModel{this};
|
||||
|
|
|
|||
Loading…
Reference in a new issue