Example #1
0
int MascaraInterfaceV1::showDialog(const QString &dialogType)
{
    qDebug() << Q_FUNC_INFO << "Showing " << dialogType;
    int serialNo = m_windowSerial++;
    QQuickView *view = new QQuickView;
    m_windows.insert(serialNo, view);
    view->setSource(QUrl::fromLocalFile("/home/nemo/dialogs/" + dialogType + "/" + dialogType + ".qml"));

    // HACK
    connect(view->engine(), SIGNAL(quit()), QGuiApplication::instance(), SLOT(quit()));
    view->showFullScreen();
    view->create(); // TODO: better to hook to expose? lazy
    QGuiApplication::platformNativeInterface()->setWindowProperty(view->handle(), QLatin1String("CATEGORY"), QLatin1String("dialog"));
    view->setProperty("MascaraWindowId", serialNo);
    m_closeTimer.stop();
    view->installEventFilter(this);
    return serialNo;
}