feat(settings): build as an application module the booster can start

main
reionwong 2 weeks ago
parent 6dbb06b9fd
commit ce79cfdcf3

@ -71,10 +71,9 @@ qt6_add_dbus_interface(SRCS
src/datetime/org.freedesktop.timedate1.xml
timedated_interface)
add_executable(${PROJECT_NAME} ${DBUS_SOURCES} ${SRCS} ${RESOURCES})
target_link_libraries(${PROJECT_NAME}
cutefish_add_application(${PROJECT_NAME} SOURCES ${DBUS_SOURCES} ${SRCS} ${RESOURCES})
target_link_libraries(${PROJECT_NAME}-module PRIVATE
PkgConfig::Xcursor
Cutefish::Application
Cutefish::Appearance
Cutefish::IO
Cutefish::Power
@ -96,8 +95,6 @@ qt6_add_translation(QM_FILES ${TS_FILES})
add_custom_target(translations DEPENDS ${QM_FILES} SOURCES ${TS_FILES})
add_dependencies(${PROJECT_NAME} translations)
install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
install(FILES
cutefish-settings.desktop
DESTINATION /usr/share/applications/

@ -2,6 +2,7 @@
#include "cutefishapplication.h"
#include <QCommandLineParser>
#include <QDBusPendingCall>
#include <QGuiApplication>
#include <QIcon>
#include <QLocale>
#include <QTranslator>
@ -44,11 +45,14 @@ static QObject *passwordSingleton(QQmlEngine *engine, QJSEngine *scriptEngine)
return object;
}
Application::Application(int &argc, char **argv)
: QGuiApplication(argc, argv)
Application::Application(QObject *parent)
: QObject(parent)
{
Cutefish::Application::prepare();
setWindowIcon(QIcon::fromTheme("preferences-system"));
}
int Application::run()
{
QGuiApplication::setWindowIcon(QIcon::fromTheme("preferences-system"));
QCommandLineParser parser;
parser.setApplicationDescription(QStringLiteral("Cutefish Settings"));
@ -61,7 +65,7 @@ Application::Application(int &argc, char **argv)
parser.addOption(joinWifiOption);
parser.addOption(QCommandLineOption("mock-network", "Show sample network data"));
parser.addOption(QCommandLineOption("mock-battery", "Show sample battery data"));
parser.process(*this);
parser.process(*qApp);
const QString module = parser.value(moduleOption);
const QString accessPoint = parser.value(joinWifiOption);
@ -75,7 +79,7 @@ Application::Application(int &argc, char **argv)
else
iface.call("switchToPage", module);
}
return;
return 0;
}
new SettingsUIAdaptor(this);
@ -137,7 +141,7 @@ Application::Application(int &argc, char **argv)
switchToPage(module);
}
QGuiApplication::exec();
return QGuiApplication::exec();
}
void Application::switchToPage(const QString &name)

@ -1,17 +1,19 @@
#ifndef APPLICATION_H
#define APPLICATION_H
#include <QGuiApplication>
#include <QObject>
#include <QQmlApplicationEngine>
#include <QQmlContext>
#include <QDBusConnection>
class Application : public QGuiApplication
class Application : public QObject
{
Q_OBJECT
public:
explicit Application(int &argc, char **argv);
explicit Application(QObject *parent = nullptr);
int run();
void switchToPage(const QString &name);
void joinWifi(const QString &accessPoint);

@ -2,14 +2,13 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#include "application.h"
#include <QDebug>
#include <QIcon>
#include "cutefishapplication.h"
int main(int argc, char *argv[])
int cutefish_application_main(int argc, char *argv[])
{
Application app(argc, argv);
Q_UNUSED(argc);
Q_UNUSED(argv);
app.setWindowIcon(QIcon::fromTheme("cutefish-settings"));
return 0;
Application app;
return app.run();
}

Loading…
Cancel
Save