Add basic code

This commit is contained in:
Toast 2025-04-27 23:42:20 +02:00
parent 6103876e04
commit 400f7a6c23
5 changed files with 101 additions and 0 deletions

13
src/CMakeLists.txt Normal file
View file

@ -0,0 +1,13 @@
add_executable(leek)
ecm_add_qml_module(leek URI xyz.toast003.leek)
target_sources(leek PRIVATE main.cpp)
ecm_target_qml_sources(leek SOURCES Main.qml)
target_link_libraries(leek PRIVATE Qt6::Quick Qt6::Qml Qt6::Gui
Qt6::QuickControls2 Qt6::Widgets)
target_link_libraries(leek PRIVATE KF6::I18n KF6::CoreAddons KF6::IconThemes)
install(TARGETS leek ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})

17
src/Main.qml Normal file
View file

@ -0,0 +1,17 @@
import QtQuick
import QtQuick.Layouts
import QtQuick.Controls as Controls
import org.kde.kirigami as Kirigami
Kirigami.ApplicationWindow {
id: root
title: "Leek"
pageStack.initialPage: Kirigami.Page {
Controls.Label {
anchors.centerIn: parent
text: "Hello world"
}
}
}

35
src/main.cpp Normal file
View file

@ -0,0 +1,35 @@
#include <KIconTheme>
#include <KLocalizedContext>
#include <KLocalizedString>
#include <QApplication>
#include <QQmlApplicationEngine>
#include <QQuickStyle>
#include <QUrl>
#include <QtQml>
#include <qapplication.h>
int main(int argc, char *argv[]) {
KIconTheme::initTheme();
QApplication app(argc, argv);
KLocalizedString::setApplicationDomain("leek");
QApplication::setOrganizationName(QStringLiteral("Toast"));
QApplication::setOrganizationDomain(QStringLiteral("toast003.xyz"));
QApplication::setApplicationName(QStringLiteral("Leek"));
QApplication::setDesktopFileName(QStringLiteral("xyz.toast003.leek"));
QApplication::setStyle(QStringLiteral("breeze"));
if (qEnvironmentVariableIsEmpty("QT_QUICK_CONTROLS_STYLE")) {
QQuickStyle::setStyle(QStringLiteral("org.kde.desktop"));
}
QQmlApplicationEngine engine;
engine.rootContext()->setContextObject(new KLocalizedContext(&engine));
engine.loadFromModule("xyz.toast003.leek", "Main");
if (engine.rootObjects().isEmpty()) {
return -1;
}
return app.exec();
}