-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathwindowSelector.cpp
More file actions
34 lines (30 loc) · 1.45 KB
/
Copy pathwindowSelector.cpp
File metadata and controls
34 lines (30 loc) · 1.45 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include "windowSelector.h"
#include "windowIconProvider.h"
windowSelector::windowSelector() : windowmodel(new windowModel) {}
int windowSelector::create(QString path, window *w) {
const QUrl url(path);
windowSelector::root = w->applicationEngine.rootObjects().first();
windowSelector::sampleItem = root->findChild<QQuickItem *>("sampleItem");
windowSelector::component =
new QQmlComponent(&w->applicationEngine, QUrl(path));
windowSelector::windowSelectorInstance =
qobject_cast<QQuickItem *>(component->create());
if (component->status() != component->Ready) {
if (component->status() == component->Error) {
qDebug() << "Error:" + component->errorString();
}
}
w->applicationEngine.setObjectOwnership(windowSelectorInstance,
QQmlEngine::JavaScriptOwnership);
w->applicationEngine.addImageProvider("windowicon", new windowIconProvider);
repeater = dynamic_cast<QObject *>(
windowSelector::windowSelectorInstance->findChild<QObject *>("repeater"));
repeater->setProperty("model", QVariant::fromValue(windowmodel));
QObject::connect(windowSelectorInstance,
SIGNAL(windowActivateRequested(int, int)), windowmodel,
SLOT(onWindowActivateRequested(int, int)));
QObject::connect(windowSelectorInstance,
SIGNAL(windowCloseRequested(int, int)), windowmodel,
SLOT(onWindowCloseRequested(int, int)));
return 0;
}