diff --git a/initialstart/CMakeLists.txt b/initialstart/CMakeLists.txt index 3d3bea92..326c10d6 100644 --- a/initialstart/CMakeLists.txt +++ b/initialstart/CMakeLists.txt @@ -3,20 +3,25 @@ add_definitions(-DTRANSLATION_DOMAIN=\"plasma_org.kde.plasma.mobileinitialstart\") -set(plasma-mobile-initial-start_SRCS +add_subdirectory(modules) + +add_executable(plasma-mobile-initial-start main.cpp wizard.cpp + wizard.h settings.cpp + settings.h utils.h + initialstartutil.cpp + initialstartutil.h ) -qt_add_resources(RESOURCES resources.qrc) +qt_add_qml_module(plasma-mobile-initial-start + URI org.kde.plasma.mobileinitialstart.initialstart + VERSION 1.0 +) -add_subdirectory(modules) -add_subdirectory(plugin) - -add_executable(plasma-mobile-initial-start ${plasma-mobile-initial-start_SRCS} ${RESOURCES}) -target_link_libraries(plasma-mobile-initial-start +target_link_libraries(plasma-mobile-initial-start PUBLIC Qt::Qml Qt::Gui Qt::Widgets @@ -29,5 +34,19 @@ target_link_libraries(plasma-mobile-initial-start KF6::Package ) +qt_target_qml_sources(plasma-mobile-initial-start + QML_FILES + qml/Main.qml + qml/Wizard.qml + qml/LandingComponent.qml +) + +qt_add_resources(plasma-mobile-initial-start + PREFIX + "/" + FILES + assets/background.png +) + target_include_directories(plasma-mobile-initial-start PRIVATE ${CMAKE_BINARY_DIR}) install(TARGETS plasma-mobile-initial-start ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}) diff --git a/initialstart/assets/background.png b/initialstart/assets/background.png index f70235a2..14eefd72 100644 Binary files a/initialstart/assets/background.png and b/initialstart/assets/background.png differ diff --git a/initialstart/plugin/initialstartutil.cpp b/initialstart/initialstartutil.cpp similarity index 100% rename from initialstart/plugin/initialstartutil.cpp rename to initialstart/initialstartutil.cpp diff --git a/initialstart/plugin/initialstartutil.h b/initialstart/initialstartutil.h similarity index 88% rename from initialstart/plugin/initialstartutil.h rename to initialstart/initialstartutil.h index 18608c2c..b01730c7 100644 --- a/initialstart/plugin/initialstartutil.h +++ b/initialstart/initialstartutil.h @@ -5,10 +5,13 @@ #include #include +#include class InitialStartUtil : public QObject { Q_OBJECT + QML_ELEMENT + QML_SINGLETON Q_PROPERTY(QString distroName READ distroName CONSTANT); public: diff --git a/initialstart/main.cpp b/initialstart/main.cpp index b12885ec..0d89b178 100644 --- a/initialstart/main.cpp +++ b/initialstart/main.cpp @@ -63,7 +63,7 @@ int main(int argc, char *argv[]) return wizard; }); - engine.load(QUrl(QStringLiteral("qrc:/qml/main.qml"))); + engine.load(QUrl(QStringLiteral("qrc:org/kde/plasma/mobileinitialstart/initialstart/qml/Main.qml"))); app.setWindowIcon(QIcon::fromTheme(QStringLiteral("start-here-symbolic"))); diff --git a/initialstart/plugin/CMakeLists.txt b/initialstart/plugin/CMakeLists.txt deleted file mode 100644 index 74dfdd3f..00000000 --- a/initialstart/plugin/CMakeLists.txt +++ /dev/null @@ -1,22 +0,0 @@ -# SPDX-FileCopyrightText: 2023 Devin Lin -# SPDX-License-Identifier: GPL-2.0-or-later - -set(initialstartplugin_SRCS - initialstartplugin.cpp - initialstartutil.cpp -) - -add_library(initialstartplugin ${initialstartplugin_SRCS}) - -target_link_libraries(initialstartplugin - Qt::Core - Qt::Quick - KF6::CoreAddons - KF6::I18n -) - -set_property(TARGET initialstartplugin PROPERTY LIBRARY_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/org/kde/plasma/mobileinitialstart/initialstart) -file(COPY qmldir DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/org/kde/plasma/mobileinitialstart/initialstart) - -install(TARGETS initialstartplugin DESTINATION ${KDE_INSTALL_QMLDIR}/org/kde/plasma/mobileinitialstart/initialstart) -install(FILES qmldir ${qml_SRC} DESTINATION ${KDE_INSTALL_QMLDIR}/org/kde/plasma/mobileinitialstart/initialstart) diff --git a/initialstart/plugin/initialstartplugin.cpp b/initialstart/plugin/initialstartplugin.cpp deleted file mode 100644 index 0d4c8ee5..00000000 --- a/initialstart/plugin/initialstartplugin.cpp +++ /dev/null @@ -1,17 +0,0 @@ -// SPDX-FileCopyrightText: 2023 Devin Lin -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "initialstartplugin.h" -#include "initialstartutil.h" - -#include -#include - -void InitialStartPlugin::registerTypes(const char *uri) -{ - Q_ASSERT(QLatin1String(uri) == QLatin1String("org.kde.plasma.mobileinitialstart.initialstart")); - - qmlRegisterSingletonType(uri, 1, 0, "InitialStartUtil", [](QQmlEngine *, QJSEngine *) { - return new InitialStartUtil; - }); -} diff --git a/initialstart/plugin/initialstartplugin.h b/initialstart/plugin/initialstartplugin.h deleted file mode 100644 index 30588d6d..00000000 --- a/initialstart/plugin/initialstartplugin.h +++ /dev/null @@ -1,18 +0,0 @@ -// SPDX-FileCopyrightText: 2023 Devin Lin -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#include - -#include -#include - -class InitialStartPlugin : public QQmlExtensionPlugin -{ - Q_OBJECT - Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface") - -public: - void registerTypes(const char *uri) override; -}; diff --git a/initialstart/plugin/qmldir b/initialstart/plugin/qmldir deleted file mode 100644 index bcc18d4e..00000000 --- a/initialstart/plugin/qmldir +++ /dev/null @@ -1,6 +0,0 @@ -# SPDX-FileCopyrightText: 2023 Devin Lin -# SPDX-License-Identifier: GPL-2.0-or-later - -module org.kde.plasma.mobileinitialstart.initialstart -plugin initialstartplugin -classname InitialStartPlugin diff --git a/initialstart/qml/main.qml b/initialstart/qml/Main.qml similarity index 100% rename from initialstart/qml/main.qml rename to initialstart/qml/Main.qml diff --git a/initialstart/resources.qrc b/initialstart/resources.qrc deleted file mode 100644 index 6791f239..00000000 --- a/initialstart/resources.qrc +++ /dev/null @@ -1,15 +0,0 @@ - - - - - qml/main.qml - qml/Wizard.qml - qml/LandingComponent.qml - - assets/background.png - - -