[pim/merkuro] src: Use KirigamiAppDefaults for applying defaults in main()

Arjen Hiemstra <[email protected]>
Newsgroups gmane.comp.kde.cvs
Message-ID <[email protected]>
Git commit 22fdb0ddd23343d9978796c58cf1d99d25662dd0 by Arjen Hiemstra.
Committed on 29/07/2026 at 15:09.
Pushed by carlschwan into branch 'master'.

Use KirigamiAppDefaults for applying defaults in main()

This reduces duplicate code and handles more cases in a better way.

M  +1    -0    src/calendar/CMakeLists.txt
M  +3    -7    src/calendar/main.cpp
M  +1    -0    src/contacts/CMakeLists.txt
M  +2    -6    src/contacts/main.cpp
M  +1    -0    src/launcher/CMakeLists.txt
M  +2    -17   src/launcher/main.cpp
M  +1    -0    src/mail/CMakeLists.txt
M  +2    -7    src/mail/main.cpp

https://invent.kde.org/pim/merkuro/-/commit/22fdb0ddd23343d9978796c58cf1d99d25662dd0

diff --git a/src/calendar/CMakeLists.txt b/src/calendar/CMakeLists.txt
index 90423f2d2..5d02632fd 100644
--- a/src/calendar/CMakeLists.txt
+++ b/src/calendar/CMakeLists.txt
@@ -202,6 +202,7 @@ target_link_libraries(merkuro-calendar
         KF6::IconThemes
         KF6::ConfigWidgets
         KF6::ConfigGui
+        KirigamiApp
 )
 
 install(TARGETS merkuro-calendar ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
diff --git a/src/calendar/main.cpp b/src/calendar/main.cpp
index 7a87a8aa7..95e93e50e 100644
--- a/src/calendar/main.cpp
+++ b/src/calendar/main.cpp
@@ -14,6 +14,7 @@
 #include <KLocalizedString>
 #include <KWindowConfig>
 #include <KWindowSystem>
+#include <KirigamiAddons/App/KirigamiAppDefaults>
 #include <QApplication>
 #include <QCommandLineParser>
 #include <QDBusConnection>
@@ -35,7 +36,6 @@ static void raiseWindow(QWindow *window)
 
 int main(int argc, char *argv[])
 {
-    KIconTheme::initTheme();
     QGuiApplication::setAttribute(Qt::AA_ShareOpenGLContexts);
     QApplication app(argc, argv);
     KLocalizedString::setApplicationDomain("merkuro"_ba);
@@ -43,13 +43,10 @@ int main(int argc, char *argv[])
     QCoreApplication::setApplicationName(u"Merkuro"_s);
     QCoreApplication::setQuitLockEnabled(false);
 
-    // Default to org.kde.desktop style unless the user forces another style
-    if (qEnvironmentVariableIsEmpty("QT_QUICK_CONTROLS_STYLE")) {
-        QQuickStyle::setStyle(u"org.kde.desktop"_s);
-    }
-
     KStyleManager::initStyle();
 
+    KirigamiAppDefaults::apply(&app);
+
     KAboutData aboutData(
         // The program name used internally.
         u"merkuro.calendar"_s,
@@ -74,7 +71,6 @@ int main(int argc, char *argv[])
                         u"https://claudiocambra.com"_s);
     aboutData.addAuthor(i18nc("@info:credit", "Felipe Kinoshita"), i18nc("@info:credit", "Developer"), u"[email protected]"_s, u"https://fhek.gitlab.io"_s);
     KAboutData::setApplicationData(aboutData);
-    KCrash::initialize();
     QGuiApplication::setWindowIcon(QIcon::fromTheme(u"org.kde.merkuro.calendar"_s));
 
     QCommandLineParser parser;
diff --git a/src/contacts/CMakeLists.txt b/src/contacts/CMakeLists.txt
index b0ed873ca..2c5d8eb6f 100644
--- a/src/contacts/CMakeLists.txt
+++ b/src/contacts/CMakeLists.txt
@@ -172,6 +172,7 @@ target_link_libraries(merkuro-contact
         KF6::Crash
         KF6::IconThemes
         KF6::ConfigWidgets
+        KirigamiApp
         KPim6::Libkleo
 )
 target_link_libraries(merkuro-contact PUBLIC
diff --git a/src/contacts/main.cpp b/src/contacts/main.cpp
index 1083a9bfa..7cd60a7bd 100644
--- a/src/contacts/main.cpp
+++ b/src/contacts/main.cpp
@@ -8,6 +8,7 @@
 #include <KIconTheme>
 #include <KLocalizedString>
 #include <KWindowSystem>
+#include <KirigamiAddons/App/KirigamiAppDefaults>
 #include <QApplication>
 #include <QCommandLineParser>
 #include <QIcon>
@@ -29,7 +30,6 @@ static void raiseWindow(QWindow *window)
 
 int main(int argc, char *argv[])
 {
-    KIconTheme::initTheme();
     QGuiApplication::setAttribute(Qt::AA_ShareOpenGLContexts);
     QApplication app(argc, argv);
     KLocalizedString::setApplicationDomain("merkuro"_ba);
@@ -37,10 +37,7 @@ int main(int argc, char *argv[])
     QCoreApplication::setApplicationName(u"Merkuro Contact"_s);
     QCoreApplication::setQuitLockEnabled(false);
 
-    // Default to org.kde.desktop style unless the user forces another style
-    if (qEnvironmentVariableIsEmpty("QT_QUICK_CONTROLS_STYLE")) {
-        QQuickStyle::setStyle(u"org.kde.desktop"_s);
-    }
+    KirigamiAppDefaults::apply(&app);
 
     KStyleManager::initStyle();
 
@@ -67,7 +64,6 @@ int main(int argc, char *argv[])
                         u"[email protected]"_s,
                         u"https://claudiocambra.com"_s);
     KAboutData::setApplicationData(aboutData);
-    KCrash::initialize();
     QGuiApplication::setWindowIcon(QIcon::fromTheme(u"org.kde.merkuro.contact"_s));
 
     QCommandLineParser parser;
diff --git a/src/launcher/CMakeLists.txt b/src/launcher/CMakeLists.txt
index e462a080f..6f6f7344d 100644
--- a/src/launcher/CMakeLists.txt
+++ b/src/launcher/CMakeLists.txt
@@ -21,6 +21,7 @@ target_link_libraries(merkurolauncher PUBLIC
     KF6::CoreAddons
     KF6::Crash
     KF6::KIOWidgets
+    KirigamiApp
 )
 
 target_link_libraries(merkurolauncher PRIVATE
diff --git a/src/launcher/main.cpp b/src/launcher/main.cpp
index 3160a84b6..d1e69ddce 100644
--- a/src/launcher/main.cpp
+++ b/src/launcher/main.cpp
@@ -13,6 +13,7 @@
 #include <KCrash>
 #include <KLocalizedQmlContext>
 #include <KLocalizedString>
+#include <KirigamiAddons/App/KirigamiAppDefaults>
 
 #ifdef Q_OS_WINDOWS
 #include <Windows.h>
@@ -24,22 +25,7 @@ int main(int argc, char *argv[])
 {
     QApplication app(argc, argv);
 
-    // Default to org.kde.desktop style unless the user forces another style
-    if (qEnvironmentVariableIsEmpty("QT_QUICK_CONTROLS_STYLE")) {
-        QQuickStyle::setStyle(u"org.kde.desktop"_s);
-    }
-
-#ifdef Q_OS_WINDOWS
-    if (AttachConsole(ATTACH_PARENT_PROCESS)) {
-        freopen("CONOUT$", "w", stdout);
-        freopen("CONOUT$", "w", stderr);
-    }
-
-    QApplication::setStyle(u"breeze"_s);
-    auto font = app.font();
-    font.setPointSize(10);
-    app.setFont(font);
-#endif
+    KirigamiAppDefaults::apply(&app);
 
     KLocalizedString::setApplicationDomain("merkurolauncher");
     QCoreApplication::setOrganizationName(u"KDE"_s);
@@ -52,7 +38,6 @@ int main(int argc, char *argv[])
                          i18n("© 2024"));
     aboutData.addAuthor(i18nc("@info:credit", "Carl Schwan"), i18nc("@info:credit", "Maintainer"), u"[email protected]"_s, u"https://carlschwan.eu.com"_s);
     aboutData.setTranslator(i18nc("NAME OF TRANSLATORS", "Your names"), i18nc("EMAIL OF TRANSLATORS", "Your emails"));
-    KCrash::initialize();
     KAboutData::setApplicationData(aboutData);
     QGuiApplication::setWindowIcon(QIcon::fromTheme(u"org.kde.merkuro.words"_s));
 
diff --git a/src/mail/CMakeLists.txt b/src/mail/CMakeLists.txt
index ecc913b31..b301795c0 100644
--- a/src/mail/CMakeLists.txt
+++ b/src/mail/CMakeLists.txt
@@ -146,6 +146,7 @@ target_link_libraries(merkuro-mail
         KF6::DBusAddons
         KF6::WindowSystem
         KF6::ConfigGui
+        KirigamiApp
         mail_settingsplugin
         merkuro_mail_staticplugin
         merkuro_mail_static
diff --git a/src/mail/main.cpp b/src/mail/main.cpp
index 3afca529b..9bdaad0c6 100644
--- a/src/mail/main.cpp
+++ b/src/mail/main.cpp
@@ -10,6 +10,7 @@
 #include <KLocalizedQmlContext>
 #include <KLocalizedString>
 #include <KWindowSystem>
+#include <KirigamiAddons/App/KirigamiAppDefaults>
 #include <QApplication>
 #include <QCommandLineParser>
 #include <QDir>
@@ -31,7 +32,6 @@ static void raiseWindow(QWindow *window)
 
 int main(int argc, char *argv[])
 {
-    KIconTheme::initTheme();
     QGuiApplication::setAttribute(Qt::AA_ShareOpenGLContexts);
     QApplication app(argc, argv);
     KLocalizedString::setApplicationDomain("merkuro"_ba);
@@ -39,12 +39,8 @@ int main(int argc, char *argv[])
     QCoreApplication::setApplicationName(u"Merkuro Mail"_s);
     QCoreApplication::setQuitLockEnabled(false);
 
-    // Default to org.kde.desktop style unless the user forces another style
-    if (qEnvironmentVariableIsEmpty("QT_QUICK_CONTROLS_STYLE")) {
-        QQuickStyle::setStyle(u"org.kde.desktop"_s);
-    }
-
     KStyleManager::initStyle();
+    KirigamiAppDefaults::apply(&app);
 
     KAboutData aboutData(
         // The program name used internally.
@@ -69,7 +65,6 @@ int main(int argc, char *argv[])
                         u"[email protected]"_s,
                         u"https://claudiocambra.com"_s);
     KAboutData::setApplicationData(aboutData);
-    KCrash::initialize();
     QGuiApplication::setWindowIcon(QIcon::fromTheme(u"org.kde.merkuro.mail"_s));
 
     QCommandLineParser parser;
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.