This repository has been archived on 2026-08-16. You can view files and clone it, but cannot push or open issues or pull requests.
ollie-kde/gui/main.cpp

40 lines
1.0 KiB
C++

// ollie-gui-9p: minimal Qt GUI using 9P for all communication.
// No D-Bus dependency. Uses ollie-9p subprocess for 9P transport.
#include <QApplication>
#include <QQmlApplicationEngine>
#include <QQmlContext>
#include <QQuickStyle>
#include "ollie9pclient.h"
int main(int argc, char *argv[])
{
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QApplication::setAttribute(Qt::AA_UseHighDpiPixmaps);
#endif
QApplication app(argc, argv);
app.setApplicationName("ollie-gui");
if (qEnvironmentVariableIsEmpty("QT_QUICK_CONTROLS_STYLE"))
QQuickStyle::setStyle("Basic");
QQmlApplicationEngine engine;
auto *ollie = new Ollie9pClient(&app);
engine.rootContext()->setContextProperty("ollie", ollie);
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
const QUrl url(QStringLiteral("qrc:/gui/main-9p.qml"));
#else
const QUrl url(QStringLiteral("qrc:/main.qml"));
#endif
engine.load(url);
if (engine.rootObjects().isEmpty())
return -1;
return app.exec();
}