diff --git a/kcm/CMakeLists.txt b/kcm/CMakeLists.txt --- a/kcm/CMakeLists.txt +++ b/kcm/CMakeLists.txt @@ -9,6 +9,10 @@ kcm.cpp ) +set(kcm_wrapper_SRCS main.cpp) +add_executable(kdeconnect-settings ${kcm_wrapper_SRCS}) +target_link_libraries(kdeconnect-settings KF5::I18n KF5::KCMUtils) + ki18n_wrap_ui(kcm_SRCS kcm.ui) add_library(kcm_kdeconnect MODULE ${kcm_SRCS}) @@ -22,6 +26,7 @@ ) install(TARGETS kcm_kdeconnect DESTINATION ${PLUGIN_INSTALL_DIR}) +install(TARGETS kdeconnect-settings ${INSTALL_TARGETS_DEFAULT_ARGS}) install(FILES org.kde.kdeconnect.kcm.desktop DESTINATION ${XDG_APPS_INSTALL_DIR}) install(FILES kcm_kdeconnect.desktop DESTINATION ${SERVICES_INSTALL_DIR}) diff --git a/kcm/main.cpp b/kcm/main.cpp new file mode 100644 --- /dev/null +++ b/kcm/main.cpp @@ -0,0 +1,48 @@ +/* + * Copyright 2018 Nicolas Fella + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License or (at your option) version 3 or any later version + * accepted by the membership of KDE e.V. (or its successor approved + * by the membership of KDE e.V.), which shall act as a proxy + * defined in Section 14 of version 3 of the license. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include + +#include +#include +#include +#include "kdeconnect-version.h" + +int main(int argc, char** argv) +{ + QApplication app(argc, argv); + KAboutData about("kdeconnect-settings", + i18n("KDE Connect Settings"), + QStringLiteral(KDECONNECT_VERSION_STRING), + i18n("KDE Connect Settings"), + KAboutLicense::GPL, + i18n("(C) 2018 Nicolas Fella")); + KAboutData::setApplicationData(about); + + KCMultiDialog* dialog = new KCMultiDialog; + dialog->addModule("kcm_kdeconnect"); + dialog->setAttribute(Qt::WA_DeleteOnClose); + dialog->show(); + + app.setQuitOnLastWindowClosed(true); + + return app.exec(); +} + diff --git a/kcm/org.kde.kdeconnect.kcm.desktop b/kcm/org.kde.kdeconnect.kcm.desktop --- a/kcm/org.kde.kdeconnect.kcm.desktop +++ b/kcm/org.kde.kdeconnect.kcm.desktop @@ -2,7 +2,7 @@ Type=Application Icon=kdeconnect Terminal=false -Exec=kcmshell5 kcm_kdeconnect +Exec=kdeconnect-settings Name=KDE Connect Settings Name[ar]=إعدادات كدي المتّصل Name[ca]=Arranjament del KDE Connect