initialstart: Use distro name

This commit is contained in:
Devin Lin 2023-11-05 21:27:44 -08:00
parent a83a723e97
commit 715bc8bbd2
9 changed files with 107 additions and 2 deletions

View file

@ -13,6 +13,7 @@ set(plasma-mobile-initial-start_SRCS
qt_add_resources(RESOURCES resources.qrc) qt_add_resources(RESOURCES resources.qrc)
add_subdirectory(modules) add_subdirectory(modules)
add_subdirectory(plugin)
add_executable(plasma-mobile-initial-start ${plasma-mobile-initial-start_SRCS} ${RESOURCES}) 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

View file

@ -4,8 +4,11 @@
import QtQuick 2.15 import QtQuick 2.15
import QtQuick.Controls 2.15 import QtQuick.Controls 2.15
import QtQuick.Layouts 1.15 import QtQuick.Layouts 1.15
import org.kde.kirigami 2.20 as Kirigami import org.kde.kirigami 2.20 as Kirigami
import org.kde.plasma.mobileinitialstart.initialstart
Item { Item {
id: root id: root
@ -18,7 +21,7 @@ Item {
Label { Label {
Layout.fillWidth: true Layout.fillWidth: true
Layout.alignment: Qt.AlignHCenter | Qt.AlignTop Layout.alignment: Qt.AlignHCenter | Qt.AlignTop
text: i18n("Your device is now ready. <br /><br />Enjoy <b>Plasma 6.0</b>!") text: i18n("Your device is now ready. <br /><br />Enjoy <b>%1</b>!", InitialStartUtil.distroName)
wrapMode: Text.Wrap wrapMode: Text.Wrap
horizontalAlignment: Text.AlignHCenter horizontalAlignment: Text.AlignHCenter
} }

View file

@ -0,0 +1,22 @@
# 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)

View file

@ -0,0 +1,17 @@
// 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;
});
}

View file

@ -0,0 +1,18 @@
// 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;
};

View file

@ -0,0 +1,14 @@
// SPDX-FileCopyrightText: 2023 Devin Lin <devin@kde.org>
// SPDX-License-Identifier: GPL-2.0-or-later
#include "initialstartutil.h"
InitialStartUtil::InitialStartUtil(QObject *parent)
: QObject{parent}
{
}
QString InitialStartUtil::distroName() const
{
return m_osrelease.name();
}

View file

@ -0,0 +1,21 @@
// SPDX-FileCopyrightText: 2023 Devin Lin <devin@kde.org>
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#include <KOSRelease>
#include <QObject>
class InitialStartUtil : public QObject
{
Q_OBJECT
Q_PROPERTY(QString distroName READ distroName CONSTANT);
public:
InitialStartUtil(QObject *parent = nullptr);
QString distroName() const;
private:
KOSRelease m_osrelease;
};

View file

@ -0,0 +1,6 @@
# 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

View file

@ -4,8 +4,11 @@
import QtQuick 2.15 import QtQuick 2.15
import QtQuick.Controls 2.15 import QtQuick.Controls 2.15
import QtQuick.Layouts 1.15 import QtQuick.Layouts 1.15
import org.kde.kirigami 2.20 as Kirigami import org.kde.kirigami 2.20 as Kirigami
import org.kde.plasma.mobileinitialstart.initialstart
Item { Item {
id: root id: root
@ -78,7 +81,7 @@ Item {
Label { Label {
Layout.fillWidth: true Layout.fillWidth: true
text: i18n("Welcome to <b>Plasma</b>") text: i18n("Welcome to<br/><b>%1</b>", InitialStartUtil.distroName)
horizontalAlignment: Text.AlignHCenter horizontalAlignment: Text.AlignHCenter
wrapMode: Text.Wrap wrapMode: Text.Wrap