kdeconnect-kde/settings/main.cpp
Alexander Lohnau fd681e62ab Port deprecated KCMultiDialog methods & embed json metadata in KCM
This KCM will have to get installed installed in the new plasma namespace eventually.
But considering that this app is part of the release service, we should not
depend on changes in a not yet released Plasma version.

Task: https://phabricator.kde.org/T14501
2021-12-15 08:24:22 +01:00

57 lines
1.9 KiB
C++

/*
* SPDX-FileCopyrightText: 2018 Nicolas Fella <nicolas.fella@gmx.de>
*
* SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
*/
#include <QApplication>
#include <QCommandLineParser>
#include <QStyle>
#include <QStandardPaths>
#include <KCMultiDialog>
#include <KAboutData>
#include <KLocalizedString>
#include <KDBusService>
#include "kdeconnect-version.h"
int main(int argc, char** argv)
{
QIcon::setFallbackThemeName(QStringLiteral("breeze"));
QApplication app(argc, argv);
app.setWindowIcon(QIcon::fromTheme(QStringLiteral("kdeconnect")));
KAboutData about(QStringLiteral("kdeconnect-settings"),
i18n("KDE Connect Settings"),
QStringLiteral(KDECONNECT_VERSION_STRING),
i18n("KDE Connect Settings"),
KAboutLicense::GPL,
i18n("(C) 2018-2020 Nicolas Fella"));
KAboutData::setApplicationData(about);
QCommandLineParser parser;
parser.addOption(QCommandLineOption(QStringLiteral("args"), i18n("Arguments for the config module"), QStringLiteral("args")));
about.setupCommandLine(&parser);
parser.process(app);
about.processCommandLine(&parser);
KDBusService dbusService(KDBusService::Unique);
KCMultiDialog* dialog = new KCMultiDialog;
dialog->addModule(KPluginMetaData(QStringLiteral("kcm_kdeconnect")), {parser.value(QStringLiteral("args"))});
auto style = dialog->style();
dialog->setContentsMargins(style->pixelMetric(QStyle::PM_LayoutLeftMargin),
style->pixelMetric(QStyle::PM_LayoutTopMargin),
style->pixelMetric(QStyle::PM_LayoutRightMargin),
style->pixelMetric(QStyle::PM_LayoutBottomMargin));
dialog->setAttribute(Qt::WA_DeleteOnClose);
dialog->show();
app.setQuitOnLastWindowClosed(true);
return app.exec();
}