mirror of
https://invent.kde.org/marcoa/shift-shell.git
synced 2026-04-26 14:23:09 +00:00
Port intial start module to declarative qml type registration
This commit is contained in:
parent
d467c0e0ed
commit
0c774e1133
11 changed files with 30 additions and 86 deletions
|
|
@ -3,20 +3,25 @@
|
||||||
|
|
||||||
add_definitions(-DTRANSLATION_DOMAIN=\"plasma_org.kde.plasma.mobileinitialstart\")
|
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
|
main.cpp
|
||||||
wizard.cpp
|
wizard.cpp
|
||||||
|
wizard.h
|
||||||
settings.cpp
|
settings.cpp
|
||||||
|
settings.h
|
||||||
utils.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)
|
target_link_libraries(plasma-mobile-initial-start PUBLIC
|
||||||
add_subdirectory(plugin)
|
|
||||||
|
|
||||||
add_executable(plasma-mobile-initial-start ${plasma-mobile-initial-start_SRCS} ${RESOURCES})
|
|
||||||
target_link_libraries(plasma-mobile-initial-start
|
|
||||||
Qt::Qml
|
Qt::Qml
|
||||||
Qt::Gui
|
Qt::Gui
|
||||||
Qt::Widgets
|
Qt::Widgets
|
||||||
|
|
@ -29,5 +34,19 @@ target_link_libraries(plasma-mobile-initial-start
|
||||||
KF6::Package
|
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})
|
target_include_directories(plasma-mobile-initial-start PRIVATE ${CMAKE_BINARY_DIR})
|
||||||
install(TARGETS plasma-mobile-initial-start ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
|
install(TARGETS plasma-mobile-initial-start ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
|
||||||
|
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 3.7 MiB After Width: | Height: | Size: 833 KiB |
|
|
@ -5,10 +5,13 @@
|
||||||
|
|
||||||
#include <KOSRelease>
|
#include <KOSRelease>
|
||||||
#include <QObject>
|
#include <QObject>
|
||||||
|
#include <QtQml>
|
||||||
|
|
||||||
class InitialStartUtil : public QObject
|
class InitialStartUtil : public QObject
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
QML_ELEMENT
|
||||||
|
QML_SINGLETON
|
||||||
Q_PROPERTY(QString distroName READ distroName CONSTANT);
|
Q_PROPERTY(QString distroName READ distroName CONSTANT);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
@ -63,7 +63,7 @@ int main(int argc, char *argv[])
|
||||||
return wizard;
|
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")));
|
app.setWindowIcon(QIcon::fromTheme(QStringLiteral("start-here-symbolic")));
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
||||||
# SPDX-FileCopyrightText: 2023 Devin Lin <devin@kde.org>
|
|
||||||
# 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)
|
|
||||||
|
|
@ -1,17 +0,0 @@
|
||||||
// SPDX-FileCopyrightText: 2023 Devin Lin <devin@kde.org>
|
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
||||||
|
|
||||||
#include "initialstartplugin.h"
|
|
||||||
#include "initialstartutil.h"
|
|
||||||
|
|
||||||
#include <QQmlContext>
|
|
||||||
#include <QQuickItem>
|
|
||||||
|
|
||||||
void InitialStartPlugin::registerTypes(const char *uri)
|
|
||||||
{
|
|
||||||
Q_ASSERT(QLatin1String(uri) == QLatin1String("org.kde.plasma.mobileinitialstart.initialstart"));
|
|
||||||
|
|
||||||
qmlRegisterSingletonType<InitialStartUtil>(uri, 1, 0, "InitialStartUtil", [](QQmlEngine *, QJSEngine *) {
|
|
||||||
return new InitialStartUtil;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
@ -1,18 +0,0 @@
|
||||||
// SPDX-FileCopyrightText: 2023 Devin Lin <devin@kde.org>
|
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#include <QUrl>
|
|
||||||
|
|
||||||
#include <QQmlEngine>
|
|
||||||
#include <QQmlExtensionPlugin>
|
|
||||||
|
|
||||||
class InitialStartPlugin : public QQmlExtensionPlugin
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface")
|
|
||||||
|
|
||||||
public:
|
|
||||||
void registerTypes(const char *uri) override;
|
|
||||||
};
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
# SPDX-FileCopyrightText: 2023 Devin Lin <devin@kde.org>
|
|
||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
||||||
|
|
||||||
module org.kde.plasma.mobileinitialstart.initialstart
|
|
||||||
plugin initialstartplugin
|
|
||||||
classname InitialStartPlugin
|
|
||||||
|
|
@ -1,15 +0,0 @@
|
||||||
<!--
|
|
||||||
- Copyright 2023 Devin Lin <devin@kde.org>
|
|
||||||
- SPDX-License-Identifier: GPL-2.0-or-later
|
|
||||||
-->
|
|
||||||
<RCC>
|
|
||||||
<qresource prefix="/">
|
|
||||||
|
|
||||||
<file>qml/main.qml</file>
|
|
||||||
<file>qml/Wizard.qml</file>
|
|
||||||
<file>qml/LandingComponent.qml</file>
|
|
||||||
|
|
||||||
<file>assets/background.png</file>
|
|
||||||
|
|
||||||
</qresource>
|
|
||||||
</RCC>
|
|
||||||
Loading…
Reference in a new issue