diff --git a/CMakeLists.txt b/CMakeLists.txt index b81a476a5..05a1b2cff 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -26,6 +26,8 @@ include(ECMSetupVersion) include(ECMInstallIcons) include(FeatureSummary) +include(KDEConnectMacros.cmake) + include(GenerateExportHeader) include_directories(${CMAKE_CURRENT_BINARY_DIR}) diff --git a/KDEConnectMacros.cmake b/KDEConnectMacros.cmake new file mode 100644 index 000000000..e2075cd10 --- /dev/null +++ b/KDEConnectMacros.cmake @@ -0,0 +1,35 @@ +# Copyright 2015 Aleix Pol Gonzalez +# Redistribution and use is allowed according to the terms of the BSD license. + + +# Thoroughly inspired in kdevplatform_add_plugin +function(kdeconnect_add_plugin plugin) + set(options ) + set(oneValueArgs JSON) + set(multiValueArgs SOURCES) + cmake_parse_arguments(KC_ADD_PLUGIN "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) + + get_filename_component(json "${KC_ADD_PLUGIN_JSON}" REALPATH) + + # ensure we recompile the corresponding object files when the json file changes + set(dependent_sources ) + foreach(source ${KC_ADD_PLUGIN_SOURCES}) + get_filename_component(source "${source}" REALPATH) + if(EXISTS "${source}") + file(STRINGS "${source}" match REGEX "K_PLUGIN_FACTORY_WITH_JSON") + if(match) + list(APPEND dependent_sources "${source}") + endif() + endif() + endforeach() + if(NOT dependent_sources) + # fallback to all sources - better safe than sorry... + set(dependent_sources ${KC_ADD_PLUGIN_SOURCES}) + endif() + set_property(SOURCE ${dependent_sources} APPEND PROPERTY OBJECT_DEPENDS ${json}) + + add_library(${plugin} MODULE ${KC_ADD_PLUGIN_SOURCES}) + set_property(TARGET ${plugin} APPEND PROPERTY AUTOGEN_TARGET_DEPENDS ${json}) + + install(TARGETS ${plugin} DESTINATION ${PLUGIN_INSTALL_DIR}/kdeconnect) +endfunction() diff --git a/core/daemon.h b/core/daemon.h index 70f9abb91..1817bdf31 100644 --- a/core/daemon.h +++ b/core/daemon.h @@ -25,7 +25,6 @@ #include #include -#include #include "kdeconnectcore_export.h" class DaemonPrivate; diff --git a/core/device.cpp b/core/device.cpp index 0845c4557..96c62b5d6 100644 --- a/core/device.cpp +++ b/core/device.cpp @@ -34,6 +34,7 @@ #include #include #include +#include #include "core_debug.h" #include "kdeconnectplugin.h" @@ -114,7 +115,7 @@ void Device::reloadPlugins() QString enabledKey = pluginName + QString::fromLatin1("Enabled"); bool isPluginEnabled = (pluginStates.hasKey(enabledKey) ? pluginStates.readEntry(enabledKey, false) - : loader->getPluginInfo(pluginName).isPluginEnabledByDefault()); + : loader->getPluginInfo(pluginName).isEnabledByDefault()); if (isPluginEnabled) { KdeConnectPlugin* plugin = m_plugins.take(pluginName); @@ -123,9 +124,9 @@ void Device::reloadPlugins() incomingInterfaces = m_pluginsByIncomingInterface.keys(plugin); outgoingInterfaces = m_pluginsByOutgoingInterface.keys(plugin); } else { - KService::Ptr service = loader->pluginService(pluginName); - incomingInterfaces = service->property("X-KdeConnect-SupportedPackageType", QVariant::StringList).toStringList(); - outgoingInterfaces = service->property("X-KdeConnect-OutgoingPackageType", QVariant::StringList).toStringList(); + const KPluginMetaData service = loader->getPluginInfo(pluginName); + incomingInterfaces = KPluginMetaData::readStringList(service.rawData(), "X-KdeConnect-SupportedPackageType"); + outgoingInterfaces = KPluginMetaData::readStringList(service.rawData(), "X-KdeConnect-OutgoingPackageType"); } //If we don't find intersection with the received on one end and the sent on the other, we don't diff --git a/core/pluginloader.cpp b/core/pluginloader.cpp index b6f01396a..fce2757a1 100644 --- a/core/pluginloader.cpp +++ b/core/pluginloader.cpp @@ -20,7 +20,8 @@ #include "pluginloader.h" -#include +#include +#include #include "core_debug.h" #include "device.h" @@ -34,10 +35,9 @@ PluginLoader* PluginLoader::instance() PluginLoader::PluginLoader() { - KService::List offers = KServiceTypeTrader::self()->query("KdeConnect/Plugin"); - for(KService::List::const_iterator iter = offers.constBegin(); iter != offers.constEnd(); ++iter) { - KService::Ptr service = *iter; - plugins[service->library()] = service; + QVector data = KPluginLoader::findPlugins("kdeconnect/"); + foreach (const KPluginMetaData& metadata, data) { + plugins[metadata.pluginId()] = metadata; } } @@ -46,34 +46,29 @@ QStringList PluginLoader::getPluginList() const return plugins.keys(); } -KPluginInfo PluginLoader::getPluginInfo(const QString& name) const +KPluginMetaData PluginLoader::getPluginInfo(const QString& name) const { - KService::Ptr service = plugins[name]; - if (!service) { - qCDebug(KDECONNECT_CORE) << "Plugin unknown" << name; - return KPluginInfo(); - } - - return KPluginInfo(service); + return plugins.value(name); } KdeConnectPlugin* PluginLoader::instantiatePluginForDevice(const QString& pluginName, Device* device) const { - KdeConnectPlugin* ret = 0; + KdeConnectPlugin* ret = Q_NULLPTR; - KService::Ptr service = plugins[pluginName]; - if (!service) { + KPluginMetaData service = plugins.value(pluginName); + if (!service.isValid()) { qCDebug(KDECONNECT_CORE) << "Plugin unknown" << pluginName; return ret; } - KPluginFactory *factory = KPluginLoader(service->library()).factory(); + KPluginLoader loader(service.fileName()); + KPluginFactory *factory = loader.factory(); if (!factory) { - qCDebug(KDECONNECT_CORE) << "KPluginFactory could not load the plugin:" << service->library(); + qCDebug(KDECONNECT_CORE) << "KPluginFactory could not load the plugin:" << service.pluginId() << loader.errorString(); return ret; } - QStringList outgoingInterfaces = service->property("X-KdeConnect-OutgoingPackageType", QVariant::StringList).toStringList(); + const QStringList outgoingInterfaces = KPluginMetaData::readStringList(service.rawData(), "X-KdeConnect-OutgoingPackageType"); QVariant deviceVariant = QVariant::fromValue(device); @@ -83,20 +78,15 @@ KdeConnectPlugin* PluginLoader::instantiatePluginForDevice(const QString& plugin return ret; } - qCDebug(KDECONNECT_CORE) << "Loaded plugin:" << service->name(); + qCDebug(KDECONNECT_CORE) << "Loaded plugin:" << service.pluginId(); return ret; } -KService::Ptr PluginLoader::pluginService(const QString& pluginName) const -{ - return plugins[pluginName]; -} - QStringList PluginLoader::incomingInterfaces() const { QSet ret; - foreach(const KService::Ptr& service, plugins) { - ret += service->property("X-KdeConnect-SupportedPackageType", QVariant::StringList).toStringList().toSet(); + foreach(const KPluginMetaData& service, plugins) { + ret += KPluginMetaData::readStringList(service.rawData(), "X-KdeConnect-SupportedPackageType").toSet(); } return ret.toList(); } @@ -104,8 +94,8 @@ QStringList PluginLoader::incomingInterfaces() const QStringList PluginLoader::outgoingInterfaces() const { QSet ret; - foreach(const KService::Ptr& service, plugins) { - ret += service->property("X-KdeConnect-OutgoingPackageType", QVariant::StringList).toStringList().toSet(); + foreach(const KPluginMetaData& service, plugins) { + ret += KPluginMetaData::readStringList(service.rawData(), "X-KdeConnect-OutgoingPackageType").toSet(); } return ret.toList(); } diff --git a/core/pluginloader.h b/core/pluginloader.h index e92b73e29..1494bea11 100644 --- a/core/pluginloader.h +++ b/core/pluginloader.h @@ -22,11 +22,10 @@ #define PLUGINLOADER_H #include -#include +#include #include -#include -#include +#include #include class Device; @@ -41,13 +40,12 @@ public: QStringList incomingInterfaces() const; QStringList outgoingInterfaces() const; QStringList getPluginList() const; - KPluginInfo getPluginInfo(const QString& name) const; - KService::Ptr pluginService(const QString& pluginName) const; + KPluginMetaData getPluginInfo(const QString& name) const; KdeConnectPlugin* instantiatePluginForDevice(const QString& name, Device* device) const; private: PluginLoader(); - QMap plugins; + QHash plugins; }; diff --git a/interfaces/CMakeLists.txt b/interfaces/CMakeLists.txt index 78cc9f201..89cbf64bb 100644 --- a/interfaces/CMakeLists.txt +++ b/interfaces/CMakeLists.txt @@ -81,7 +81,6 @@ ecm_setup_version( "${KDECONNECT_VERSION_MAJOR}.${KDECONNECT_VERSION_MINOR}.${KD SOVERSION ${KDECONNECT_VERSION_MAJOR}) install(TARGETS kdeconnectinterfaces EXPORT kdeconnectLibraryTargets ${INSTALL_TARGETS_DEFAULT_ARGS} LIBRARY NAMELINK_SKIP) -message ("INSTALL_TARGETS_DEFAULT_ARGS" ${INSTALL_TARGETS_DEFAULT_ARGS}) ## Don't install header files until API/ABI policy is defined # diff --git a/kcm/kcm.cpp b/kcm/kcm.cpp index 806d99fe6..16f35b82d 100644 --- a/kcm/kcm.cpp +++ b/kcm/kcm.cpp @@ -31,6 +31,7 @@ #include #include +#include #include #include #include @@ -194,10 +195,9 @@ void KdeConnectKcm::deviceSelected(const QModelIndex& current) connect(currentDevice,SIGNAL(unpaired()), this, SLOT(unpaired())); - KService::List offers = KServiceTypeTrader::self()->query("KdeConnect/Plugin"); - QList scriptinfos = KPluginInfo::fromServices(offers); + const QList pluginInfo = KPluginInfo::fromMetaData(KPluginLoader::findPlugins("kdeconnect/")); KSharedConfigPtr deviceConfig = KSharedConfig::openConfig(currentDevice->pluginsConfigFile()); - kcmUi->pluginSelector->addPlugins(scriptinfos, KPluginSelector::ReadConfigFile, i18n("Plugins"), QString(), deviceConfig); + kcmUi->pluginSelector->addPlugins(pluginInfo, KPluginSelector::ReadConfigFile, i18n("Plugins"), QString(), deviceConfig); connect(kcmUi->pluginSelector, SIGNAL(changed(bool)), this, SLOT(pluginsConfigChanged())); diff --git a/plugins/battery/CMakeLists.txt b/plugins/battery/CMakeLists.txt index d2a4237b6..f6a6c5b32 100644 --- a/plugins/battery/CMakeLists.txt +++ b/plugins/battery/CMakeLists.txt @@ -3,7 +3,7 @@ set(kdeconnect_battery_SRCS batterydbusinterface.cpp ) -add_library(kdeconnect_battery MODULE ${kdeconnect_battery_SRCS}) +kdeconnect_add_plugin(kdeconnect_battery JSON kdeconnect_battery.json SOURCES ${kdeconnect_battery_SRCS}) target_link_libraries(kdeconnect_battery kdeconnectcore @@ -13,9 +13,6 @@ target_link_libraries(kdeconnect_battery KF5::Notifications ) -install(TARGETS kdeconnect_battery DESTINATION ${PLUGIN_INSTALL_DIR} ) -install(FILES kdeconnect_battery.desktop DESTINATION ${SERVICES_INSTALL_DIR} ) - include(DbusInterfaceMacros) generate_and_install_dbus_interface( diff --git a/plugins/battery/batteryplugin.cpp b/plugins/battery/batteryplugin.cpp index 320215686..27da1103f 100644 --- a/plugins/battery/batteryplugin.cpp +++ b/plugins/battery/batteryplugin.cpp @@ -27,7 +27,7 @@ #include "batterydbusinterface.h" -K_PLUGIN_FACTORY( KdeConnectPluginFactory, registerPlugin< BatteryPlugin >(); ) +K_PLUGIN_FACTORY_WITH_JSON( KdeConnectPluginFactory, "kdeconnect_battery.json", registerPlugin< BatteryPlugin >(); ) Q_LOGGING_CATEGORY(KDECONNECT_PLUGING_BATTERY, "kdeconnect.plugin.battery") diff --git a/plugins/battery/kdeconnect_battery.desktop b/plugins/battery/kdeconnect_battery.desktop deleted file mode 100644 index 9601e045a..000000000 --- a/plugins/battery/kdeconnect_battery.desktop +++ /dev/null @@ -1,63 +0,0 @@ -[Desktop Entry] -Encoding=UTF-8 -Type=Service -ServiceTypes=KdeConnect/Plugin -X-KDE-Library=kdeconnect_battery -X-KDE-PluginInfo-Author=Albert Vaca -X-KDE-PluginInfo-Email=albertvaka@gmail.com -X-KDE-PluginInfo-Name=kdeconnect_battery -X-KDE-PluginInfo-Version=0.1 -X-KDE-PluginInfo-Website=http://albertvaka.wordpress.com -X-KDE-PluginInfo-License=GPL -X-KDE-PluginInfo-EnabledByDefault=true -Icon=battery-100 -Name=Battery monitor -Name[bg]=Наблюдение на батерията -Name[bs]=Kontrolor baterije -Name[ca]=Monitor de la bateria -Name[cs]=Monitor baterie -Name[da]=Batteriovervågning -Name[de]=Akkuüberwachung -Name[es]=Monitor de la batería -Name[fi]=Akkuvalvonta -Name[fr]=Moniteur de batterie -Name[hu]=Akkumulátorfigyelő -Name[it]=Monitor batteria -Name[ko]=배터리 모니터 -Name[nl]=Batterijmonitor -Name[pl]=Monitor baterii -Name[pt]=Monitor da bateria -Name[pt_BR]=Monitor de bateria -Name[ro]=Monitorul acumulatorului -Name[ru]=Индикатор батареи -Name[sk]=Monitor batérie -Name[sv]=Batteriövervakare -Name[tr]=Pil izleyici -Name[uk]=Монітор акумулятора -Name[x-test]=xxBattery monitorxx -Comment=Show your phone battery next to your computer battery -Comment[bg]=Показване на батерията на телефона редом с тази на компютъра -Comment[bs]=Prikažite Vašu bateriju sa mobilnog telefona poted Vaše računarske baterije -Comment[ca]=Mostra la bateria del telèfon al costat de la bateria de l'ordinador -Comment[cs]=Zobrazit baterku vašeho telefonu vedle baterie vašeho notebooku -Comment[da]=Vis dit telefonbatteri ved siden af din computers batteri -Comment[de]=Zeigt den Akku Ihres Telefons neben dem Akku des Rechners -Comment[es]=Muestra la batería de su teléfono junto a la batería de su equipo -Comment[fi]=Näytä puhelimesi akku tietokoneen akun rinnalla -Comment[fr]=Affichez la batterie de votre téléphone près de la batterie de votre ordinateur -Comment[hu]=A telefon akkumulátorának megjelenítése a számítógép akkumulátora mellett -Comment[it]=Mostra il livello batteria del tuo telefono accanto a quella del computer -Comment[ko]=폰 배터리와 컴퓨터 배터리 동시 확인 -Comment[nl]=Uw telefoonbatterij naast uw computerbatterij tonen -Comment[pl]=Pokaż baterię swojego telefonu obok baterii komputera -Comment[pt]=Mostra a bateria do seu telemóvel ao lado da do computador -Comment[pt_BR]=Mostra a bateria do seu celular ao lado da bateria do computador -Comment[ru]=Показывать значок батареи устройства рядом со значком батареи компьютера -Comment[sk]=Zobraziť batériu vášho telefónu pri batérii počítača -Comment[sv]=Visa telefonens batteri intill datorbatteriet -Comment[tr]=Bilgisayar pilinizin yanında telefon pil durumunu göster -Comment[uk]=Показ даних щодо рівня заряду акумулятора на телефоні поряд з даними щодо рівня заряду акумулятора комп’ютера -Comment[x-test]=xxShow your phone battery next to your computer batteryxx - -X-KdeConnect-SupportedPackageType=kdeconnect.battery -X-KdeConnect-OutgoingPackageType=kdeconnect.battery diff --git a/plugins/battery/kdeconnect_battery.json b/plugins/battery/kdeconnect_battery.json new file mode 100644 index 000000000..5667eb1d4 --- /dev/null +++ b/plugins/battery/kdeconnect_battery.json @@ -0,0 +1,69 @@ +{ + "Encoding": "UTF-8", + "KPlugin": { + "Authors": [ + { + "Email": "albertvaka@gmail.com", + "Name": "Albert Vaca" + } + ], + "Description": "Show your phone battery next to your computer battery", + "Description[bg]": "Показване на батерията на телефона редом с тази на компютъра", + "Description[bs]": "Prikažite Vašu bateriju sa mobilnog telefona poted Vaše računarske baterije", + "Description[ca]": "Mostra la bateria del telèfon al costat de la bateria de l'ordinador", + "Description[cs]": "Zobrazit baterku vašeho telefonu vedle baterie vašeho notebooku", + "Description[da]": "Vis dit telefonbatteri ved siden af din computers batteri", + "Description[de]": "Zeigt den Akku Ihres Telefons neben dem Akku des Rechners", + "Description[es]": "Muestra la batería de su teléfono junto a la batería de su equipo", + "Description[fi]": "Näytä puhelimesi akku tietokoneen akun rinnalla", + "Description[fr]": "Affichez la batterie de votre téléphone près de la batterie de votre ordinateur", + "Description[hu]": "A telefon akkumulátorának megjelenítése a számítógép akkumulátora mellett", + "Description[it]": "Mostra il livello batteria del tuo telefono accanto a quella del computer", + "Description[ko]": "폰 배터리와 컴퓨터 배터리 동시 확인", + "Description[nl]": "Uw telefoonbatterij naast uw computerbatterij tonen", + "Description[pl]": "Pokaż baterię swojego telefonu obok baterii komputera", + "Description[pt]": "Mostra a bateria do seu telemóvel ao lado da do computador", + "Description[pt_BR]": "Mostra a bateria do seu celular ao lado da bateria do computador", + "Description[ru]": "Показывать значок батареи устройства рядом со значком батареи компьютера", + "Description[sk]": "Zobraziť batériu vášho telefónu pri batérii počítača", + "Description[sv]": "Visa telefonens batteri intill datorbatteriet", + "Description[tr]": "Bilgisayar pilinizin yanında telefon pil durumunu göster", + "Description[uk]": "Показ даних щодо рівня заряду акумулятора на телефоні поряд з даними щодо рівня заряду акумулятора комп’ютера", + "Description[x-test]": "xxShow your phone battery next to your computer batteryxx", + "EnabledByDefault": true, + "Icon": "battery-100", + "Id": "kdeconnect_battery", + "License": "GPL", + "Name": "Battery monitor", + "Name[bg]": "Наблюдение на батерията", + "Name[bs]": "Kontrolor baterije", + "Name[ca]": "Monitor de la bateria", + "Name[cs]": "Monitor baterie", + "Name[da]": "Batteriovervågning", + "Name[de]": "Akkuüberwachung", + "Name[es]": "Monitor de la batería", + "Name[fi]": "Akkuvalvonta", + "Name[fr]": "Moniteur de batterie", + "Name[hu]": "Akkumulátorfigyelő", + "Name[it]": "Monitor batteria", + "Name[ko]": "배터리 모니터", + "Name[nl]": "Batterijmonitor", + "Name[pl]": "Monitor baterii", + "Name[pt]": "Monitor da bateria", + "Name[pt_BR]": "Monitor de bateria", + "Name[ro]": "Monitorul acumulatorului", + "Name[ru]": "Индикатор батареи", + "Name[sk]": "Monitor batérie", + "Name[sv]": "Batteriövervakare", + "Name[tr]": "Pil izleyici", + "Name[uk]": "Монітор акумулятора", + "Name[x-test]": "xxBattery monitorxx", + "ServiceTypes": [ + "KdeConnect/Plugin" + ], + "Version": "0.1", + "Website": "http://albertvaka.wordpress.com" + }, + "X-KdeConnect-OutgoingPackageType": [ "kdeconnect.battery" ], + "X-KdeConnect-SupportedPackageType": [ "kdeconnect.battery" ] +} diff --git a/plugins/clipboard/CMakeLists.txt b/plugins/clipboard/CMakeLists.txt index 3f8ef3cad..67441425e 100644 --- a/plugins/clipboard/CMakeLists.txt +++ b/plugins/clipboard/CMakeLists.txt @@ -2,9 +2,6 @@ set(kdeconnect_clipboard_SRCS clipboardplugin.cpp ) -add_library(kdeconnect_clipboard MODULE ${kdeconnect_clipboard_SRCS}) +kdeconnect_add_plugin(kdeconnect_clipboard JSON kdeconnect_clipboard.json SOURCES ${kdeconnect_clipboard_SRCS}) target_link_libraries(kdeconnect_clipboard kdeconnectcore KF5::Service Qt5::Gui) - -install(TARGETS kdeconnect_clipboard DESTINATION ${PLUGIN_INSTALL_DIR} ) -install(FILES kdeconnect_clipboard.desktop DESTINATION ${SERVICES_INSTALL_DIR} ) diff --git a/plugins/clipboard/clipboardplugin.cpp b/plugins/clipboard/clipboardplugin.cpp index f9b27150c..a37f72474 100644 --- a/plugins/clipboard/clipboardplugin.cpp +++ b/plugins/clipboard/clipboardplugin.cpp @@ -25,7 +25,7 @@ #include -K_PLUGIN_FACTORY( KdeConnectPluginFactory, registerPlugin< ClipboardPlugin >(); ) +K_PLUGIN_FACTORY_WITH_JSON( KdeConnectPluginFactory, "kdeconnect_clipboard.json", registerPlugin< ClipboardPlugin >(); ) Q_LOGGING_CATEGORY(KDECONNECT_PLUGIN_CLIPBOARD, "kdeconnect.plugin.clipboard") diff --git a/plugins/clipboard/kdeconnect_clipboard.desktop b/plugins/clipboard/kdeconnect_clipboard.desktop deleted file mode 100644 index 94faa7830..000000000 --- a/plugins/clipboard/kdeconnect_clipboard.desktop +++ /dev/null @@ -1,65 +0,0 @@ -[Desktop Entry] -Encoding=UTF-8 -Type=Service -ServiceTypes=KdeConnect/Plugin -X-KDE-Library=kdeconnect_clipboard -X-KDE-PluginInfo-Author=Albert Vaca -X-KDE-PluginInfo-Email=albertvaka@gmail.com -X-KDE-PluginInfo-Name=kdeconnect_clipboard -X-KDE-PluginInfo-Version=0.1 -X-KDE-PluginInfo-Website=http://albertvaka.wordpress.com -X-KDE-PluginInfo-License=GPL -X-KDE-PluginInfo-EnabledByDefault=true -Icon=edit-paste -Name=Clipboard -Name[bg]=Буфер за обмен -Name[bs]=Clipboard -Name[ca]=Porta-retalls -Name[cs]=Schránka -Name[da]=Udklipsholder -Name[de]=Zwischenablage -Name[es]=Portapapeles -Name[fi]=Leikepöytä -Name[fr]=Presse-papiers -Name[hu]=Vágólap -Name[it]=Appunti -Name[ko]=클립보드 -Name[nl]=Klembord -Name[pl]=Schowek -Name[pt]=Área de Transferência -Name[pt_BR]=Área de transferência -Name[ro]=Clipboard -Name[ru]=Буфер обмена -Name[sk]=Schránka -Name[sv]=Klippbord -Name[tr]=Pano -Name[uk]=Буфер обміну -Name[x-test]=xxClipboardxx -Comment=Share the clipboard between devices -Comment[bg]=Споделяне на буфера за обмен между устройства -Comment[bs]=Podijeli Clipboard među uređajima -Comment[ca]=Comparteix el porta-retalls entre els dispositius -Comment[cs]=Sdílejte schránku mezi zařízeními -Comment[da]=Del indholdet af udklipsholderen mellem enheder -Comment[de]=Die Zwischenablage mit Geräten teilen -Comment[es]=Compartir el portapapeles entre dispositivos -Comment[fi]=Jaa leikepöytä laitteiden välillä -Comment[fr]=Partagez le presse-papiers entre périphériques -Comment[hu]=Vágólap megosztása az eszközök között -Comment[it]=Condividi gli appunti tra i dispositivi -Comment[ko]=장치간 클립보드 공유 -Comment[nl]=Het klembord tussen apparaten delen -Comment[pl]=Współdziel schowek pomiędzy urządzeniami -Comment[pt]=Partilhar a área de transferência entre dispositivos -Comment[pt_BR]=Compartilhar a área de transferência entre dispositivos -Comment[ro]=Partajează clipboardul între dispozitive -Comment[ru]=Общий буфер обмена для всех устройств -Comment[sk]=Zdieľať schránku medzi zariadeniami -Comment[sv]=Dela klippbordet mellan apparater -Comment[tr]=Aygıtlar arasında panoyu paylaştır -Comment[uk]=Спільне використання буфера обміну даними на пристроях -Comment[x-test]=xxShare the clipboard between devicesxx - -X-KdeConnect-SupportedPackageType=kdeconnect.clipboard -X-KdeConnect-OutgoingPackageType=kdeconnect.clipboard - diff --git a/plugins/clipboard/kdeconnect_clipboard.json b/plugins/clipboard/kdeconnect_clipboard.json new file mode 100644 index 000000000..79d526b22 --- /dev/null +++ b/plugins/clipboard/kdeconnect_clipboard.json @@ -0,0 +1,70 @@ +{ + "Encoding": "UTF-8", + "KPlugin": { + "Authors": [ + { + "Email": "albertvaka@gmail.com", + "Name": "Albert Vaca" + } + ], + "Description": "Share the clipboard between devices", + "Description[bg]": "Споделяне на буфера за обмен между устройства", + "Description[bs]": "Podijeli Clipboard među uređajima", + "Description[ca]": "Comparteix el porta-retalls entre els dispositius", + "Description[cs]": "Sdílejte schránku mezi zařízeními", + "Description[da]": "Del indholdet af udklipsholderen mellem enheder", + "Description[de]": "Die Zwischenablage mit Geräten teilen", + "Description[es]": "Compartir el portapapeles entre dispositivos", + "Description[fi]": "Jaa leikepöytä laitteiden välillä", + "Description[fr]": "Partagez le presse-papiers entre périphériques", + "Description[hu]": "Vágólap megosztása az eszközök között", + "Description[it]": "Condividi gli appunti tra i dispositivi", + "Description[ko]": "장치간 클립보드 공유", + "Description[nl]": "Het klembord tussen apparaten delen", + "Description[pl]": "Współdziel schowek pomiędzy urządzeniami", + "Description[pt]": "Partilhar a área de transferência entre dispositivos", + "Description[pt_BR]": "Compartilhar a área de transferência entre dispositivos", + "Description[ro]": "Partajează clipboardul între dispozitive", + "Description[ru]": "Общий буфер обмена для всех устройств", + "Description[sk]": "Zdieľať schránku medzi zariadeniami", + "Description[sv]": "Dela klippbordet mellan apparater", + "Description[tr]": "Aygıtlar arasında panoyu paylaştır", + "Description[uk]": "Спільне використання буфера обміну даними на пристроях", + "Description[x-test]": "xxShare the clipboard between devicesxx", + "EnabledByDefault": true, + "Icon": "edit-paste", + "Id": "kdeconnect_clipboard", + "License": "GPL", + "Name": "Clipboard", + "Name[bg]": "Буфер за обмен", + "Name[bs]": "Clipboard", + "Name[ca]": "Porta-retalls", + "Name[cs]": "Schránka", + "Name[da]": "Udklipsholder", + "Name[de]": "Zwischenablage", + "Name[es]": "Portapapeles", + "Name[fi]": "Leikepöytä", + "Name[fr]": "Presse-papiers", + "Name[hu]": "Vágólap", + "Name[it]": "Appunti", + "Name[ko]": "클립보드", + "Name[nl]": "Klembord", + "Name[pl]": "Schowek", + "Name[pt]": "Área de Transferência", + "Name[pt_BR]": "Área de transferência", + "Name[ro]": "Clipboard", + "Name[ru]": "Буфер обмена", + "Name[sk]": "Schránka", + "Name[sv]": "Klippbord", + "Name[tr]": "Pano", + "Name[uk]": "Буфер обміну", + "Name[x-test]": "xxClipboardxx", + "ServiceTypes": [ + "KdeConnect/Plugin" + ], + "Version": "0.1", + "Website": "http://albertvaka.wordpress.com" + }, + "X-KdeConnect-OutgoingPackageType": [ "kdeconnect.clipboard" ], + "X-KdeConnect-SupportedPackageType": [ "kdeconnect.clipboard" ] +} diff --git a/plugins/mousepad/CMakeLists.txt b/plugins/mousepad/CMakeLists.txt index a0994fbbe..fb169c070 100644 --- a/plugins/mousepad/CMakeLists.txt +++ b/plugins/mousepad/CMakeLists.txt @@ -6,11 +6,8 @@ find_package(XTest REQUIRED) find_package(X11 REQUIRED) find_package(LibFakeKey REQUIRED) -add_library(kdeconnect_mousepad MODULE ${kdeconnect_mousepad_SRCS}) +kdeconnect_add_plugin(kdeconnect_mousepad JSON kdeconnect_mousepad.json SOURCES ${kdeconnect_mousepad_SRCS}) include_directories(${XTEST_INCLUDE_DIRS} ${X11_INCLUDE_DIR} ${LibFakeKey_INCLUDE_DIRS}) target_link_libraries(kdeconnect_mousepad KF5::Service kdeconnectcore Qt5::Gui ${X11_LIBRARIES} ${XTEST_LIBRARIES} ${LibFakeKey_LIBRARIES}) - -install(TARGETS kdeconnect_mousepad DESTINATION ${PLUGIN_INSTALL_DIR} ) -install(FILES kdeconnect_mousepad.desktop DESTINATION ${SERVICES_INSTALL_DIR} ) diff --git a/plugins/mousepad/kdeconnect_mousepad.desktop b/plugins/mousepad/kdeconnect_mousepad.desktop deleted file mode 100644 index d6c68cfc6..000000000 --- a/plugins/mousepad/kdeconnect_mousepad.desktop +++ /dev/null @@ -1,54 +0,0 @@ -[Desktop Entry] -Encoding=UTF-8 -Type=Service -ServiceTypes=KdeConnect/Plugin -X-KDE-Library=kdeconnect_mousepad -X-KDE-PluginInfo-Author=Ahmed I. Khalil -X-KDE-PluginInfo-Email=ahmedibrahimkhali@gmail.com -X-KDE-PluginInfo-Name=kdeconnect_mousepad -X-KDE-PluginInfo-Version=0.1 -X-KDE-PluginInfo-License=GPL -X-KDE-PluginInfo-EnabledByDefault=true -Icon=input-mouse -Name=Touchpad -Name[bs]=Površina osjetljiva na dodir -Name[ca]=Ratolí tàctil -Name[cs]=Touchpad -Name[da]=Touchpad -Name[de]=Touchpad -Name[es]=Cursor del ratón -Name[fi]=Kosketuslevy -Name[fr]=Pavé tactile -Name[hu]=Érintőtábla -Name[ko]=터치패드 -Name[nl]=Touchpad -Name[pl]=Gładzik -Name[pt]=Rato por Toque -Name[pt_BR]=Touchpad -Name[sk]=Touchpad -Name[sv]=Tryckplatta -Name[uk]=Сенсорна панель -Name[x-test]=xxTouchpadxx -Comment=Use your phone as a touchpad -Comment[bs]=Koristi pametni telefon kao površinu osjetljivu na dodir -Comment[ca]=Usa el vostre telèfon com un plafó tàctil -Comment[cs]=Používejte svůj telefon jako touchpad -Comment[da]=Brug din telefon som touchpad -Comment[de]=Verwendet Ihr Handy als Touchpad -Comment[es]=Usar su teléfono como cursor del ratón -Comment[fi]=Käytä puhelinta kosketuslevynä -Comment[fr]=Utilisez votre téléphone comme un pavé tactile -Comment[hu]=A telefon használata érintőtáblaként -Comment[ko]=내 장치를 터치패드로 사용하기 -Comment[nl]=Uw telefoon gebruiken als touchpad -Comment[pl]=Użyj swojego telefonu jako gładzika -Comment[pt]=Usar o seu telemóvel como painel de rato -Comment[pt_BR]=Use seu celular como touchpad -Comment[sk]=Použiť váš mobil ako touchpad -Comment[sv]=Använd telefonen som en tryckplatta -Comment[uk]=Використання телефону як сенсорної панелі -Comment[x-test]=xxUse your phone as a touchpadxx - -X-KdeConnect-SupportedPackageType=kdeconnect.mousepad -X-KdeConnect-OutgoingPackageType=kdeconnect.mousepad - diff --git a/plugins/mousepad/kdeconnect_mousepad.json b/plugins/mousepad/kdeconnect_mousepad.json new file mode 100644 index 000000000..768ffb4f2 --- /dev/null +++ b/plugins/mousepad/kdeconnect_mousepad.json @@ -0,0 +1,59 @@ +{ + "Encoding": "UTF-8", + "KPlugin": { + "Authors": [ + { + "Email": "ahmedibrahimkhali@gmail.com", + "Name": "Ahmed I. Khalil" + } + ], + "Description": "Use your phone as a touchpad", + "Description[bs]": "Koristi pametni telefon kao površinu osjetljivu na dodir", + "Description[ca]": "Usa el vostre telèfon com un plafó tàctil", + "Description[cs]": "Používejte svůj telefon jako touchpad", + "Description[da]": "Brug din telefon som touchpad", + "Description[de]": "Verwendet Ihr Handy als Touchpad", + "Description[es]": "Usar su teléfono como cursor del ratón", + "Description[fi]": "Käytä puhelinta kosketuslevynä", + "Description[fr]": "Utilisez votre téléphone comme un pavé tactile", + "Description[hu]": "A telefon használata érintőtáblaként", + "Description[ko]": "내 장치를 터치패드로 사용하기", + "Description[nl]": "Uw telefoon gebruiken als touchpad", + "Description[pl]": "Użyj swojego telefonu jako gładzika", + "Description[pt]": "Usar o seu telemóvel como painel de rato", + "Description[pt_BR]": "Use seu celular como touchpad", + "Description[sk]": "Použiť váš mobil ako touchpad", + "Description[sv]": "Använd telefonen som en tryckplatta", + "Description[uk]": "Використання телефону як сенсорної панелі", + "Description[x-test]": "xxUse your phone as a touchpadxx", + "EnabledByDefault": true, + "Icon": "input-mouse", + "Id": "kdeconnect_mousepad", + "License": "GPL", + "Name": "Touchpad", + "Name[bs]": "Površina osjetljiva na dodir", + "Name[ca]": "Ratolí tàctil", + "Name[cs]": "Touchpad", + "Name[da]": "Touchpad", + "Name[de]": "Touchpad", + "Name[es]": "Cursor del ratón", + "Name[fi]": "Kosketuslevy", + "Name[fr]": "Pavé tactile", + "Name[hu]": "Érintőtábla", + "Name[ko]": "터치패드", + "Name[nl]": "Touchpad", + "Name[pl]": "Gładzik", + "Name[pt]": "Rato por Toque", + "Name[pt_BR]": "Touchpad", + "Name[sk]": "Touchpad", + "Name[sv]": "Tryckplatta", + "Name[uk]": "Сенсорна панель", + "Name[x-test]": "xxTouchpadxx", + "ServiceTypes": [ + "KdeConnect/Plugin" + ], + "Version": "0.1" + }, + "X-KdeConnect-OutgoingPackageType": [ "kdeconnect.mousepad" ], + "X-KdeConnect-SupportedPackageType": [ "kdeconnect.mousepad" ] +} diff --git a/plugins/mousepad/mousepadplugin.cpp b/plugins/mousepad/mousepadplugin.cpp index 958a288ca..a8df8fbb3 100644 --- a/plugins/mousepad/mousepadplugin.cpp +++ b/plugins/mousepad/mousepadplugin.cpp @@ -25,7 +25,7 @@ #include #include -K_PLUGIN_FACTORY( KdeConnectPluginFactory, registerPlugin< MousepadPlugin >(); ) +K_PLUGIN_FACTORY_WITH_JSON( KdeConnectPluginFactory, "kdeconnect_mousepad.json", registerPlugin< MousepadPlugin >(); ) enum MouseButtons { LeftMouseButton = 1, diff --git a/plugins/mpriscontrol/CMakeLists.txt b/plugins/mpriscontrol/CMakeLists.txt index f10c502e1..cd979b277 100644 --- a/plugins/mpriscontrol/CMakeLists.txt +++ b/plugins/mpriscontrol/CMakeLists.txt @@ -14,10 +14,6 @@ qt5_add_dbus_interface( propertiesdbusinterface ) -add_library(kdeconnect_mpriscontrol MODULE ${kdeconnect_mpriscontrol_SRCS}) +kdeconnect_add_plugin(kdeconnect_mpriscontrol JSON kdeconnect_mpriscontrol.json SOURCES ${kdeconnect_mpriscontrol_SRCS}) target_link_libraries(kdeconnect_mpriscontrol Qt5::DBus KF5::Service kdeconnectcore) - -install(TARGETS kdeconnect_mpriscontrol DESTINATION ${PLUGIN_INSTALL_DIR} ) -install(FILES kdeconnect_mpriscontrol.desktop DESTINATION ${SERVICES_INSTALL_DIR} ) - diff --git a/plugins/mpriscontrol/kdeconnect_mpriscontrol.desktop b/plugins/mpriscontrol/kdeconnect_mpriscontrol.desktop deleted file mode 100644 index e9d4e3ca7..000000000 --- a/plugins/mpriscontrol/kdeconnect_mpriscontrol.desktop +++ /dev/null @@ -1,62 +0,0 @@ -[Desktop Entry] -Encoding=UTF-8 -Type=Service -ServiceTypes=KdeConnect/Plugin -X-KDE-Library=kdeconnect_mpriscontrol -X-KDE-PluginInfo-Author=Albert Vaca -X-KDE-PluginInfo-Email=albertvaka@gmail.com -X-KDE-PluginInfo-Name=kdeconnect_mpriscontrol -X-KDE-PluginInfo-Version=0.1 -X-KDE-PluginInfo-Website=http://albertvaka.wordpress.com -X-KDE-PluginInfo-License=GPL -X-KDE-PluginInfo-EnabledByDefault=true -Icon=media-playback-start -Name=Multimedia control receiver -Name[bg]=Мултимедиен контрол -Name[bs]=Multimedijalni kontrolni primaoc -Name[ca]=Receptor de les ordres per operar amb les funcions multimèdia -Name[cs]=Přijímač ovládání multimédií -Name[da]=Modtager til multimediebetjening -Name[de]=Steuerung für Multimedia-Empfänger -Name[es]=Receptor de control multimedia -Name[fi]=Multimediakaukosäädin -Name[fr]=Receveur de contrôle multimédia -Name[hu]=Multimédia vezérlés vevő -Name[it]=Ricevitore telecomando multimediale -Name[ko]=멀티미디어 제어 수신기 -Name[nl]=Ontvanger van bediening voor multimedia -Name[pl]=Odbiornik sterowania multimediami -Name[pt]=Receptor de controlo multimédia -Name[pt_BR]=Receptor de controle multimídia -Name[ru]=Ресивер аудио/видео -Name[sk]=Prijímač ovládania multimédií -Name[sv]=Mottagare av multimediastyrning -Name[tr]=Çoklu ortam denetim alıcısı -Name[uk]=Отримувач команд щодо керування мультимедійними функціями -Name[x-test]=xxMultimedia control receiverxx -Comment=Remote control your music and videos -Comment[bg]=Отдалечен контрол за вашата музика и видео -Comment[bs]=Daljinsko upravljenje Vaše muzike i videa -Comment[ca]=Controla de forma remota la vostra música i vídeos -Comment[cs]=Vzdálené ovládání pro vaši hudbu a videa -Comment[da]=Fjernbetjening til din musik og dine videoer -Comment[de]=Fernbedienung für Musik und Videos -Comment[es]=Controle a distancia su música y sus vídeos -Comment[fi]=Kaukosäädin musiikkiisi ja videoihisi -Comment[fr]=Contrôlez à distance votre musique et vos vidéos -Comment[hu]=Távirányító a zenékhez és videókhoz -Comment[it]=Controlla la riproduzione audio/video del pc dal telefono -Comment[ko]=음악과 동영상 원격 제어 -Comment[nl]=Op afstand bedienen van uw muziek en video's -Comment[pl]=Steruj zdalnie swoją muzyką i filmami -Comment[pt]=Comande à distância a sua música e vídeos -Comment[pt_BR]=Controle suas músicas e vídeos remotamente -Comment[ru]=Дистанционное управление музыкой и видео -Comment[sk]=Vzdialene ovládať vašu hudbu a videá -Comment[sv]=Fjärrstyr musik och videor -Comment[tr]=Müzik ve videonuzu uzaktan kontrol edin -Comment[uk]=Віддалене керування відтворенням музики та відео -Comment[x-test]=xxRemote control your music and videosxx - -X-KdeConnect-SupportedPackageType=kdeconnect.mpris -X-KdeConnect-OutgoingPackageType=kdeconnect.mpris diff --git a/plugins/mpriscontrol/kdeconnect_mpriscontrol.json b/plugins/mpriscontrol/kdeconnect_mpriscontrol.json new file mode 100644 index 000000000..69b3902d9 --- /dev/null +++ b/plugins/mpriscontrol/kdeconnect_mpriscontrol.json @@ -0,0 +1,68 @@ +{ + "Encoding": "UTF-8", + "KPlugin": { + "Authors": [ + { + "Email": "albertvaka@gmail.com", + "Name": "Albert Vaca" + } + ], + "Description": "Remote control your music and videos", + "Description[bg]": "Отдалечен контрол за вашата музика и видео", + "Description[bs]": "Daljinsko upravljenje Vaše muzike i videa", + "Description[ca]": "Controla de forma remota la vostra música i vídeos", + "Description[cs]": "Vzdálené ovládání pro vaši hudbu a videa", + "Description[da]": "Fjernbetjening til din musik og dine videoer", + "Description[de]": "Fernbedienung für Musik und Videos", + "Description[es]": "Controle a distancia su música y sus vídeos", + "Description[fi]": "Kaukosäädin musiikkiisi ja videoihisi", + "Description[fr]": "Contrôlez à distance votre musique et vos vidéos", + "Description[hu]": "Távirányító a zenékhez és videókhoz", + "Description[it]": "Controlla la riproduzione audio/video del pc dal telefono", + "Description[ko]": "음악과 동영상 원격 제어", + "Description[nl]": "Op afstand bedienen van uw muziek en video's", + "Description[pl]": "Steruj zdalnie swoją muzyką i filmami", + "Description[pt]": "Comande à distância a sua música e vídeos", + "Description[pt_BR]": "Controle suas músicas e vídeos remotamente", + "Description[ru]": "Дистанционное управление музыкой и видео", + "Description[sk]": "Vzdialene ovládať vašu hudbu a videá", + "Description[sv]": "Fjärrstyr musik och videor", + "Description[tr]": "Müzik ve videonuzu uzaktan kontrol edin", + "Description[uk]": "Віддалене керування відтворенням музики та відео", + "Description[x-test]": "xxRemote control your music and videosxx", + "EnabledByDefault": true, + "Icon": "media-playback-start", + "Id": "kdeconnect_mpriscontrol", + "License": "GPL", + "Name": "Multimedia control receiver", + "Name[bg]": "Мултимедиен контрол", + "Name[bs]": "Multimedijalni kontrolni primaoc", + "Name[ca]": "Receptor de les ordres per operar amb les funcions multimèdia", + "Name[cs]": "Přijímač ovládání multimédií", + "Name[da]": "Modtager til multimediebetjening", + "Name[de]": "Steuerung für Multimedia-Empfänger", + "Name[es]": "Receptor de control multimedia", + "Name[fi]": "Multimediakaukosäädin", + "Name[fr]": "Receveur de contrôle multimédia", + "Name[hu]": "Multimédia vezérlés vevő", + "Name[it]": "Ricevitore telecomando multimediale", + "Name[ko]": "멀티미디어 제어 수신기", + "Name[nl]": "Ontvanger van bediening voor multimedia", + "Name[pl]": "Odbiornik sterowania multimediami", + "Name[pt]": "Receptor de controlo multimédia", + "Name[pt_BR]": "Receptor de controle multimídia", + "Name[ru]": "Ресивер аудио/видео", + "Name[sk]": "Prijímač ovládania multimédií", + "Name[sv]": "Mottagare av multimediastyrning", + "Name[tr]": "Çoklu ortam denetim alıcısı", + "Name[uk]": "Отримувач команд щодо керування мультимедійними функціями", + "Name[x-test]": "xxMultimedia control receiverxx", + "ServiceTypes": [ + "KdeConnect/Plugin" + ], + "Version": "0.1", + "Website": "http://albertvaka.wordpress.com" + }, + "X-KdeConnect-OutgoingPackageType": [ "kdeconnect.mpris" ], + "X-KdeConnect-SupportedPackageType": [ "kdeconnect.mpris" ] +} diff --git a/plugins/mpriscontrol/mpriscontrolplugin.cpp b/plugins/mpriscontrol/mpriscontrolplugin.cpp index 7d705e778..949c6b194 100644 --- a/plugins/mpriscontrol/mpriscontrolplugin.cpp +++ b/plugins/mpriscontrol/mpriscontrolplugin.cpp @@ -33,7 +33,7 @@ #include "mprisdbusinterface.h" #include "propertiesdbusinterface.h" -K_PLUGIN_FACTORY( KdeConnectPluginFactory, registerPlugin< MprisControlPlugin >(); ) +K_PLUGIN_FACTORY_WITH_JSON( KdeConnectPluginFactory, "kdeconnect_mpriscontrol.json", registerPlugin< MprisControlPlugin >(); ) Q_LOGGING_CATEGORY(KDECONNECT_PLUGIN_MPRIS, "kdeconnect.plugin.mpris") diff --git a/plugins/notifications/CMakeLists.txt b/plugins/notifications/CMakeLists.txt index 9f5647190..565bf7fd5 100644 --- a/plugins/notifications/CMakeLists.txt +++ b/plugins/notifications/CMakeLists.txt @@ -4,7 +4,7 @@ set(kdeconnect_notifications_SRCS notificationsdbusinterface.cpp ) -add_library(kdeconnect_notifications MODULE ${kdeconnect_notifications_SRCS}) +kdeconnect_add_plugin(kdeconnect_notifications JSON kdeconnect_notifications.json SOURCES ${kdeconnect_notifications_SRCS}) target_link_libraries(kdeconnect_notifications kdeconnectcore @@ -13,9 +13,6 @@ target_link_libraries(kdeconnect_notifications KF5::Notifications ) -install(TARGETS kdeconnect_notifications DESTINATION ${PLUGIN_INSTALL_DIR} ) -install(FILES kdeconnect_notifications.desktop DESTINATION ${SERVICES_INSTALL_DIR} ) - include(DbusInterfaceMacros) generate_and_install_dbus_interface( diff --git a/plugins/notifications/kdeconnect_notifications.desktop b/plugins/notifications/kdeconnect_notifications.desktop deleted file mode 100644 index 040f5fef5..000000000 --- a/plugins/notifications/kdeconnect_notifications.desktop +++ /dev/null @@ -1,63 +0,0 @@ -[Desktop Entry] -Encoding=UTF-8 -Type=Service -ServiceTypes=KdeConnect/Plugin -X-KDE-Library=kdeconnect_notifications -X-KDE-PluginInfo-Author=Albert Vaca -X-KDE-PluginInfo-Email=albertvaka@gmail.com -X-KDE-PluginInfo-Name=kdeconnect_notifications -X-KDE-PluginInfo-Version=0.1 -X-KDE-PluginInfo-Website=http://albertvaka.wordpress.com -X-KDE-PluginInfo-License=GPL -X-KDE-PluginInfo-EnabledByDefault=true -Icon=preferences-desktop-notification -Name=Notification sync -Name[bg]=Синхронизиране на уведомленията -Name[bs]=Sinhronizovano obavještenje -Name[ca]=Sincronitza les notificacions -Name[cs]=Synchronizace hlášení -Name[da]=Synk. af bekendtgørelser -Name[de]=Benachrichtigungs-Abgleich -Name[es]=Sincronizar notificaciones -Name[fi]=Ilmoitusten synkronointi -Name[fr]=Synchronisation de notifications -Name[hu]=Értesítés szinkronizáció -Name[it]=Sincronizzazione notifiche -Name[ko]=알림 동기화 -Name[nl]=Synchronisatie van meldingen -Name[pl]=Powiadomienia synchronizacji -Name[pt]=Sincronização de notificações -Name[pt_BR]=Sincronização de notificações -Name[ro]=Sincronizare notificări -Name[ru]=Синхронизация уведомлений -Name[sk]=Synchronizácia pripomienok -Name[sv]=Synkronisering av underrättelser -Name[tr]=Bildirim eşitleme -Name[uk]=Синхронізація сповіщень -Name[x-test]=xxNotification syncxx -Comment=Show phone notifications in KDE and keep them in sync -Comment[bg]=Показване и синхронизиране на уведомления от телефона в КДЕ -Comment[bs]=Prikaži objavještenja sa mobitela u KDE i održavaj ih sinhronizovanim -Comment[ca]=Mostra les notificacions del telèfon al KDE i les manté sincronitzades -Comment[cs]=Zobrazit upozornění z telefonu v KDE a udržovat je synchronizovaná -Comment[da]=Vis telefonbekendtgørelser i KDE og hold dem synkroniseret -Comment[de]=Benachrichtigungen in KDE anzeigen und abgleichen -Comment[es]=Mostrar las notificaciones del teléfono en KDE y mantenerlas sincronizadas -Comment[fi]=Näytä puhelimen ilmoitukset KDE:ssa ja pidä ne ajan tasalla -Comment[fr]=Affichez les notifications du téléphone dans KDE et conservez-les lors de la synchronisation -Comment[hu]=Telefonértesítések megjelenítése a KDE-ben és szinkronizálva tartása -Comment[it]=Mostra e sincronizza le notifiche del telefono in KDE -Comment[ko]=폰 알림을 KDE에 표시하고 동기화 유지 -Comment[nl]=Telefoonmeldingen in KDE tonen en ze gesynchroniseerd houden -Comment[pl]=Pokaż powiadomienia telefonu w KDE i synchronizuj je -Comment[pt]=Mostrar as notificações do telefone no KDE e mantê-las sincronizadas -Comment[pt_BR]=Mostra as notificações do celular no KDE e as mantem sincronizadas -Comment[ru]=Показывать телефонные уведомления в KDE и синхронизировать их -Comment[sk]=Zobraziť oznámenia v KDE a ponechať ich v synchronizácii -Comment[sv]=Visa telefonunderrättelser i KDE och håll dem synkroniserade -Comment[tr]=Telefon bildirimlerini KDE içinde eşitler ve eşzamanlı tutar -Comment[uk]=Показ сповіщень з телефону у KDE та підтримання синхронізації даних сповіщень -Comment[x-test]=xxShow phone notifications in KDE and keep them in syncxx - -X-KdeConnect-SupportedPackageType=kdeconnect.notification -X-KdeConnect-OutgoingPackageType=kdeconnect.notification diff --git a/plugins/notifications/kdeconnect_notifications.json b/plugins/notifications/kdeconnect_notifications.json new file mode 100644 index 000000000..0872302a2 --- /dev/null +++ b/plugins/notifications/kdeconnect_notifications.json @@ -0,0 +1,69 @@ +{ + "Encoding": "UTF-8", + "KPlugin": { + "Authors": [ + { + "Email": "albertvaka@gmail.com", + "Name": "Albert Vaca" + } + ], + "Description": "Show phone notifications in KDE and keep them in sync", + "Description[bg]": "Показване и синхронизиране на уведомления от телефона в КДЕ", + "Description[bs]": "Prikaži objavještenja sa mobitela u KDE i održavaj ih sinhronizovanim", + "Description[ca]": "Mostra les notificacions del telèfon al KDE i les manté sincronitzades", + "Description[cs]": "Zobrazit upozornění z telefonu v KDE a udržovat je synchronizovaná", + "Description[da]": "Vis telefonbekendtgørelser i KDE og hold dem synkroniseret", + "Description[de]": "Benachrichtigungen in KDE anzeigen und abgleichen", + "Description[es]": "Mostrar las notificaciones del teléfono en KDE y mantenerlas sincronizadas", + "Description[fi]": "Näytä puhelimen ilmoitukset KDE:ssa ja pidä ne ajan tasalla", + "Description[fr]": "Affichez les notifications du téléphone dans KDE et conservez-les lors de la synchronisation", + "Description[hu]": "Telefonértesítések megjelenítése a KDE-ben és szinkronizálva tartása", + "Description[it]": "Mostra e sincronizza le notifiche del telefono in KDE", + "Description[ko]": "폰 알림을 KDE에 표시하고 동기화 유지", + "Description[nl]": "Telefoonmeldingen in KDE tonen en ze gesynchroniseerd houden", + "Description[pl]": "Pokaż powiadomienia telefonu w KDE i synchronizuj je", + "Description[pt]": "Mostrar as notificações do telefone no KDE e mantê-las sincronizadas", + "Description[pt_BR]": "Mostra as notificações do celular no KDE e as mantem sincronizadas", + "Description[ru]": "Показывать телефонные уведомления в KDE и синхронизировать их", + "Description[sk]": "Zobraziť oznámenia v KDE a ponechať ich v synchronizácii", + "Description[sv]": "Visa telefonunderrättelser i KDE och håll dem synkroniserade", + "Description[tr]": "Telefon bildirimlerini KDE içinde eşitler ve eşzamanlı tutar", + "Description[uk]": "Показ сповіщень з телефону у KDE та підтримання синхронізації даних сповіщень", + "Description[x-test]": "xxShow phone notifications in KDE and keep them in syncxx", + "EnabledByDefault": true, + "Icon": "preferences-desktop-notification", + "Id": "kdeconnect_notifications", + "License": "GPL", + "Name": "Notification sync", + "Name[bg]": "Синхронизиране на уведомленията", + "Name[bs]": "Sinhronizovano obavještenje", + "Name[ca]": "Sincronitza les notificacions", + "Name[cs]": "Synchronizace hlášení", + "Name[da]": "Synk. af bekendtgørelser", + "Name[de]": "Benachrichtigungs-Abgleich", + "Name[es]": "Sincronizar notificaciones", + "Name[fi]": "Ilmoitusten synkronointi", + "Name[fr]": "Synchronisation de notifications", + "Name[hu]": "Értesítés szinkronizáció", + "Name[it]": "Sincronizzazione notifiche", + "Name[ko]": "알림 동기화", + "Name[nl]": "Synchronisatie van meldingen", + "Name[pl]": "Powiadomienia synchronizacji", + "Name[pt]": "Sincronização de notificações", + "Name[pt_BR]": "Sincronização de notificações", + "Name[ro]": "Sincronizare notificări", + "Name[ru]": "Синхронизация уведомлений", + "Name[sk]": "Synchronizácia pripomienok", + "Name[sv]": "Synkronisering av underrättelser", + "Name[tr]": "Bildirim eşitleme", + "Name[uk]": "Синхронізація сповіщень", + "Name[x-test]": "xxNotification syncxx", + "ServiceTypes": [ + "KdeConnect/Plugin" + ], + "Version": "0.1", + "Website": "http://albertvaka.wordpress.com" + }, + "X-KdeConnect-OutgoingPackageType": [ "kdeconnect.notification" ], + "X-KdeConnect-SupportedPackageType": [ "kdeconnect.notification" ] +} diff --git a/plugins/notifications/notificationsplugin.cpp b/plugins/notifications/notificationsplugin.cpp index 9af82e105..568a0526d 100644 --- a/plugins/notifications/notificationsplugin.cpp +++ b/plugins/notifications/notificationsplugin.cpp @@ -25,7 +25,7 @@ #include -K_PLUGIN_FACTORY( KdeConnectPluginFactory, registerPlugin< NotificationsPlugin >(); ) +K_PLUGIN_FACTORY_WITH_JSON( KdeConnectPluginFactory, "kdeconnect_notifications.json", registerPlugin< NotificationsPlugin >(); ) Q_LOGGING_CATEGORY(KDECONNECT_PLUGIN_NOTIFICATION, "kdeconnect.plugin.notification") diff --git a/plugins/pausemusic/CMakeLists.txt b/plugins/pausemusic/CMakeLists.txt index 2f9f42bfe..c30af3447 100644 --- a/plugins/pausemusic/CMakeLists.txt +++ b/plugins/pausemusic/CMakeLists.txt @@ -2,7 +2,7 @@ set(kdeconnect_pausemusic_SRCS pausemusicplugin.cpp ) -add_library(kdeconnect_pausemusic MODULE ${kdeconnect_pausemusic_SRCS}) +kdeconnect_add_plugin(kdeconnect_pausemusic JSON kdeconnect_pausemusic.json SOURCES ${kdeconnect_pausemusic_SRCS}) target_link_libraries(kdeconnect_pausemusic kdeconnectcore @@ -11,10 +11,6 @@ target_link_libraries(kdeconnect_pausemusic KF5::Service ) -install(TARGETS kdeconnect_pausemusic DESTINATION ${PLUGIN_INSTALL_DIR} ) -install(FILES kdeconnect_pausemusic.desktop DESTINATION ${SERVICES_INSTALL_DIR} ) - - ####################################### # Config diff --git a/plugins/pausemusic/kdeconnect_pausemusic.desktop b/plugins/pausemusic/kdeconnect_pausemusic.desktop deleted file mode 100644 index 31e40d341..000000000 --- a/plugins/pausemusic/kdeconnect_pausemusic.desktop +++ /dev/null @@ -1,61 +0,0 @@ -[Desktop Entry] -Encoding=UTF-8 -Type=Service -ServiceTypes=KdeConnect/Plugin -X-KDE-Library=kdeconnect_pausemusic -X-KDE-PluginInfo-Author=Albert Vaca -X-KDE-PluginInfo-Email=albertvaka@gmail.com -X-KDE-PluginInfo-Name=kdeconnect_pausemusic -X-KDE-PluginInfo-Version=0.1 -X-KDE-PluginInfo-Website=http://albertvaka.wordpress.com -X-KDE-PluginInfo-License=GPL -X-KDE-PluginInfo-EnabledByDefault=true -Icon=media-playback-pause -Name=Pause media during calls -Name[bg]=Поставяне медията на пауза при обаждания -Name[bs]=Pauziraj medij prilikom poziva -Name[ca]=Pausa els suports durant les trucades -Name[cs]=Pozastavit média během hovoru -Name[da]=Sæt medier på pause under opkald -Name[de]=Medium bei Anrufen anhalten -Name[es]=Pausar multimedia durante las llamadas -Name[fi]=Keskeytä toisto puhelujen aikana -Name[fr]=Mettre en pause le média pendant les appels -Name[hu]=Média szüneteltetése hívások közben -Name[it]=Pausa durante le chiamate -Name[ko]=통화 중 미디어 일시 정지 -Name[nl]=Media pauzeren tijdens oproepen -Name[pl]=Wstrzymaj multimedia przy dzwonieniu -Name[pt]=Pausar os conteúdos durante as chamadas -Name[pt_BR]=Pausar os conteúdos multimídia durante as chamadas -Name[ru]=Останавливать проигрывание мультимедия во время звонков -Name[sk]=Pozastaviť médiá počas hovorov -Name[sv]=Pausa media under samtal -Name[tr]=Çağrılar sırasında ortamı duraklat -Name[uk]=Призупинка відтворення під час дзвінків -Name[x-test]=xxPause media during callsxx -Comment=Pause music/videos during a phone call -Comment[bg]=Спиране музиката/видеото при позвъняване на телефона -Comment[bs]=Stopiraj muziku/videe prilikom poziva -Comment[ca]=Pausa la música i els vídeos durant una trucada telefònica -Comment[cs]=Pozastavit hudbu/videa během hovoru -Comment[da]=Sæt musik/video på pause under telefonopkald -Comment[de]=Hält Musik oder Videos währen eines Anrufs an -Comment[es]=Pausar la música y los vídeos durante una llamada telefónica -Comment[fi]=Keskeytä musiikki ja videot puhelun aikana -Comment[fr]=Mettre en pause la musique / les vidéos pendant un appel téléphonique -Comment[hu]=Zenék vagy videók szüneteltetése telefonhívás közben -Comment[it]=Mette in pausa la riproduzione audio/video durante una chiamata -Comment[ko]=통화 중 음악/동영상 일시 정지 -Comment[nl]=Muziek/video's pauzeren tijdens een telefoongesprek -Comment[pl]=Wstrzymaj muzykę/film przy dzwonieniu -Comment[pt]=Pausar a música/vídeo durante uma chamada -Comment[pt_BR]=Pausa a música/vídeo durante uma chamada -Comment[ru]=Приостанавливать музыку/видео во время телефонного звонка -Comment[sk]=Pozastaviť hudbu/videá počas telefónneho hovoru -Comment[sv]=Pausa musik eller videor under ett telefonsamtal -Comment[tr]=Bir telefon çağrısı sırasında müzik/videoları duraklat -Comment[uk]=Призупинка відтворення музики і відео на час телефонних дзвінків -Comment[x-test]=xxPause music/videos during a phone callxx - -X-KdeConnect-SupportedPackageType=kdeconnect.telephony diff --git a/plugins/pausemusic/kdeconnect_pausemusic.json b/plugins/pausemusic/kdeconnect_pausemusic.json new file mode 100644 index 000000000..b23b29f64 --- /dev/null +++ b/plugins/pausemusic/kdeconnect_pausemusic.json @@ -0,0 +1,67 @@ +{ + "Encoding": "UTF-8", + "KPlugin": { + "Authors": [ + { + "Email": "albertvaka@gmail.com", + "Name": "Albert Vaca" + } + ], + "Description": "Pause music/videos during a phone call", + "Description[bg]": "Спиране музиката/видеото при позвъняване на телефона", + "Description[bs]": "Stopiraj muziku/videe prilikom poziva", + "Description[ca]": "Pausa la música i els vídeos durant una trucada telefònica", + "Description[cs]": "Pozastavit hudbu/videa během hovoru", + "Description[da]": "Sæt musik/video på pause under telefonopkald", + "Description[de]": "Hält Musik oder Videos währen eines Anrufs an", + "Description[es]": "Pausar la música y los vídeos durante una llamada telefónica", + "Description[fi]": "Keskeytä musiikki ja videot puhelun aikana", + "Description[fr]": "Mettre en pause la musique / les vidéos pendant un appel téléphonique", + "Description[hu]": "Zenék vagy videók szüneteltetése telefonhívás közben", + "Description[it]": "Mette in pausa la riproduzione audio/video durante una chiamata", + "Description[ko]": "통화 중 음악/동영상 일시 정지", + "Description[nl]": "Muziek/video's pauzeren tijdens een telefoongesprek", + "Description[pl]": "Wstrzymaj muzykę/film przy dzwonieniu", + "Description[pt]": "Pausar a música/vídeo durante uma chamada", + "Description[pt_BR]": "Pausa a música/vídeo durante uma chamada", + "Description[ru]": "Приостанавливать музыку/видео во время телефонного звонка", + "Description[sk]": "Pozastaviť hudbu/videá počas telefónneho hovoru", + "Description[sv]": "Pausa musik eller videor under ett telefonsamtal", + "Description[tr]": "Bir telefon çağrısı sırasında müzik/videoları duraklat", + "Description[uk]": "Призупинка відтворення музики і відео на час телефонних дзвінків", + "Description[x-test]": "xxPause music/videos during a phone callxx", + "EnabledByDefault": true, + "Icon": "media-playback-pause", + "Id": "kdeconnect_pausemusic", + "License": "GPL", + "Name": "Pause media during calls", + "Name[bg]": "Поставяне медията на пауза при обаждания", + "Name[bs]": "Pauziraj medij prilikom poziva", + "Name[ca]": "Pausa els suports durant les trucades", + "Name[cs]": "Pozastavit média během hovoru", + "Name[da]": "Sæt medier på pause under opkald", + "Name[de]": "Medium bei Anrufen anhalten", + "Name[es]": "Pausar multimedia durante las llamadas", + "Name[fi]": "Keskeytä toisto puhelujen aikana", + "Name[fr]": "Mettre en pause le média pendant les appels", + "Name[hu]": "Média szüneteltetése hívások közben", + "Name[it]": "Pausa durante le chiamate", + "Name[ko]": "통화 중 미디어 일시 정지", + "Name[nl]": "Media pauzeren tijdens oproepen", + "Name[pl]": "Wstrzymaj multimedia przy dzwonieniu", + "Name[pt]": "Pausar os conteúdos durante as chamadas", + "Name[pt_BR]": "Pausar os conteúdos multimídia durante as chamadas", + "Name[ru]": "Останавливать проигрывание мультимедия во время звонков", + "Name[sk]": "Pozastaviť médiá počas hovorov", + "Name[sv]": "Pausa media under samtal", + "Name[tr]": "Çağrılar sırasında ortamı duraklat", + "Name[uk]": "Призупинка відтворення під час дзвінків", + "Name[x-test]": "xxPause media during callsxx", + "ServiceTypes": [ + "KdeConnect/Plugin" + ], + "Version": "0.1", + "Website": "http://albertvaka.wordpress.com" + }, + "X-KdeConnect-SupportedPackageType": [ "kdeconnect.telephony" ] +} diff --git a/plugins/pausemusic/pausemusicplugin.cpp b/plugins/pausemusic/pausemusicplugin.cpp index b6cf34a38..85ef74e0a 100644 --- a/plugins/pausemusic/pausemusicplugin.cpp +++ b/plugins/pausemusic/pausemusicplugin.cpp @@ -29,7 +29,7 @@ #include -K_PLUGIN_FACTORY( KdeConnectPluginFactory, registerPlugin< PauseMusicPlugin >(); ) +K_PLUGIN_FACTORY_WITH_JSON( KdeConnectPluginFactory, "kdeconnect_pausemusic.json", registerPlugin< PauseMusicPlugin >(); ) //TODO: Port this away from KMix to use only Pulseaudio int PauseMusicPlugin::isKMixMuted() { diff --git a/plugins/ping/CMakeLists.txt b/plugins/ping/CMakeLists.txt index 7628fd8fc..15daa70f9 100644 --- a/plugins/ping/CMakeLists.txt +++ b/plugins/ping/CMakeLists.txt @@ -2,7 +2,7 @@ set(kdeconnect_ping_SRCS pingplugin.cpp ) -add_library(kdeconnect_ping MODULE ${kdeconnect_ping_SRCS}) +kdeconnect_add_plugin(kdeconnect_ping JSON kdeconnect_ping.json SOURCES ${kdeconnect_ping_SRCS}) target_link_libraries(kdeconnect_ping kdeconnectcore @@ -11,6 +11,3 @@ target_link_libraries(kdeconnect_ping KF5::Service KF5::Notifications ) - -install(TARGETS kdeconnect_ping DESTINATION ${PLUGIN_INSTALL_DIR} ) -install(FILES kdeconnect_ping.desktop DESTINATION ${SERVICES_INSTALL_DIR} ) diff --git a/plugins/ping/kdeconnect_ping.desktop b/plugins/ping/kdeconnect_ping.desktop deleted file mode 100644 index 46959a110..000000000 --- a/plugins/ping/kdeconnect_ping.desktop +++ /dev/null @@ -1,64 +0,0 @@ -[Desktop Entry] -Encoding=UTF-8 -Type=Service -ServiceTypes=KdeConnect/Plugin -X-KDE-Library=kdeconnect_ping -X-KDE-PluginInfo-Author=Albert Vaca -X-KDE-PluginInfo-Email=albertvaka@gmail.com -X-KDE-PluginInfo-Name=kdeconnect_ping -X-KDE-PluginInfo-Version=0.1 -X-KDE-PluginInfo-Website=http://albertvaka.wordpress.com -X-KDE-PluginInfo-License=GPL -X-KDE-PluginInfo-EnabledByDefault=true -Icon=dialog-ok -Name=Ping -Name[bg]=Пинг -Name[bs]=Ping -Name[ca]=Ping -Name[cs]=Ping -Name[da]=Ping -Name[de]=Ping -Name[es]=Ping -Name[fi]=Tiedustelupaketti -Name[fr]=Commande « Ping » -Name[hu]=Ping -Name[it]=Ping -Name[ko]=핑 -Name[nl]=Ping -Name[pl]=Ping -Name[pt]=Pedido de Rede -Name[pt_BR]=Ping -Name[ro]=Ping -Name[ru]=Пинг -Name[sk]=Ping -Name[sv]=Ping -Name[tr]=Ping -Name[uk]=Луна -Name[x-test]=xxPingxx -Comment=Send and receive pings -Comment[bg]=Изпращане и получаване на пингове -Comment[bs]=Šalji i primaj ping-ove -Comment[ca]=Envia i rep els pings -Comment[cs]=Posílat a přijímat ping -Comment[da]=Send og modtag ping -Comment[de]=Senden und Empfangen von Pings -Comment[es]=Enviar y recibir pings -Comment[fi]=Lähetä ja vastaanota tiedustelupaketteja -Comment[fr]=Envoyez et recevez des « ping » -Comment[hu]=Pingek küldése és fogadása -Comment[it]=Invia e ricevi ping -Comment[ko]=핑 보내고 받기 -Comment[nl]=Pings verzenden en ontvangen -Comment[pl]=Wysyłaj i otrzymuj pingi -Comment[pt]=Enviar e receber pedidos de rede -Comment[pt_BR]=Envia e recebe pings -Comment[ro]=Trimite și primește ping-uri -Comment[ru]=Посылать и получать пинги -Comment[sk]=Poslať a prijať pingy -Comment[sv]=Skicka och ta emot ping -Comment[tr]=Ping gönder ve al -Comment[uk]=Надсилання і отримання сигналів підтримання зв’язку -Comment[x-test]=xxSend and receive pingsxx - -X-KdeConnect-SupportedPackageType=kdeconnect.ping -X-KdeConnect-OutgoingPackageType=kdeconnect.ping diff --git a/plugins/ping/kdeconnect_ping.json b/plugins/ping/kdeconnect_ping.json new file mode 100644 index 000000000..4716319a0 --- /dev/null +++ b/plugins/ping/kdeconnect_ping.json @@ -0,0 +1,70 @@ +{ + "Encoding": "UTF-8", + "KPlugin": { + "Authors": [ + { + "Email": "albertvaka@gmail.com", + "Name": "Albert Vaca" + } + ], + "Description": "Send and receive pings", + "Description[bg]": "Изпращане и получаване на пингове", + "Description[bs]": "Šalji i primaj ping-ove", + "Description[ca]": "Envia i rep els pings", + "Description[cs]": "Posílat a přijímat ping", + "Description[da]": "Send og modtag ping", + "Description[de]": "Senden und Empfangen von Pings", + "Description[es]": "Enviar y recibir pings", + "Description[fi]": "Lähetä ja vastaanota tiedustelupaketteja", + "Description[fr]": "Envoyez et recevez des « ping »", + "Description[hu]": "Pingek küldése és fogadása", + "Description[it]": "Invia e ricevi ping", + "Description[ko]": "핑 보내고 받기", + "Description[nl]": "Pings verzenden en ontvangen", + "Description[pl]": "Wysyłaj i otrzymuj pingi", + "Description[pt]": "Enviar e receber pedidos de rede", + "Description[pt_BR]": "Envia e recebe pings", + "Description[ro]": "Trimite și primește ping-uri", + "Description[ru]": "Посылать и получать пинги", + "Description[sk]": "Poslať a prijať pingy", + "Description[sv]": "Skicka och ta emot ping", + "Description[tr]": "Ping gönder ve al", + "Description[uk]": "Надсилання і отримання сигналів підтримання зв’язку", + "Description[x-test]": "xxSend and receive pingsxx", + "EnabledByDefault": true, + "Icon": "dialog-ok", + "Id": "kdeconnect_ping", + "License": "GPL", + "Name": "Ping", + "Name[bg]": "Пинг", + "Name[bs]": "Ping", + "Name[ca]": "Ping", + "Name[cs]": "Ping", + "Name[da]": "Ping", + "Name[de]": "Ping", + "Name[es]": "Ping", + "Name[fi]": "Tiedustelupaketti", + "Name[fr]": "Commande « Ping »", + "Name[hu]": "Ping", + "Name[it]": "Ping", + "Name[ko]": "핑", + "Name[nl]": "Ping", + "Name[pl]": "Ping", + "Name[pt]": "Pedido de Rede", + "Name[pt_BR]": "Ping", + "Name[ro]": "Ping", + "Name[ru]": "Пинг", + "Name[sk]": "Ping", + "Name[sv]": "Ping", + "Name[tr]": "Ping", + "Name[uk]": "Луна", + "Name[x-test]": "xxPingxx", + "ServiceTypes": [ + "KdeConnect/Plugin" + ], + "Version": "0.1", + "Website": "http://albertvaka.wordpress.com" + }, + "X-KdeConnect-OutgoingPackageType": [ "kdeconnect.ping" ], + "X-KdeConnect-SupportedPackageType": [ "kdeconnect.ping" ] +} diff --git a/plugins/ping/pingplugin.cpp b/plugins/ping/pingplugin.cpp index 519bee57f..d090d59a3 100644 --- a/plugins/ping/pingplugin.cpp +++ b/plugins/ping/pingplugin.cpp @@ -30,7 +30,7 @@ #include -K_PLUGIN_FACTORY( KdeConnectPluginFactory, registerPlugin< PingPlugin >(); ) +K_PLUGIN_FACTORY_WITH_JSON( KdeConnectPluginFactory, "kdeconnect_ping.json", registerPlugin< PingPlugin >(); ) Q_LOGGING_CATEGORY(KDECONNECT_PLUGIN_PING, "kdeconnect.plugin.ping") diff --git a/plugins/screensaver-inhibit/CMakeLists.txt b/plugins/screensaver-inhibit/CMakeLists.txt index f7bda4444..893693086 100644 --- a/plugins/screensaver-inhibit/CMakeLists.txt +++ b/plugins/screensaver-inhibit/CMakeLists.txt @@ -2,7 +2,7 @@ set(kdeconnect_screensaver_inhibit_SRCS screensaverinhibitplugin.cpp ) -add_library(kdeconnect_screensaver_inhibit ${kdeconnect_screensaver_inhibit_SRCS}) +kdeconnect_add_plugin(kdeconnect_screensaver_inhibit JSON kdeconnect_screensaver_inhibit.json SOURCES ${kdeconnect_screensaver_inhibit_SRCS}) target_link_libraries(kdeconnect_screensaver_inhibit kdeconnectcore Qt5::DBus @@ -10,6 +10,3 @@ target_link_libraries(kdeconnect_screensaver_inhibit kdeconnectcore KF5::Service KF5::Notifications ) - -install(TARGETS kdeconnect_screensaver_inhibit DESTINATION ${PLUGIN_INSTALL_DIR} ) -install(FILES kdeconnect_screensaver_inhibit.desktop DESTINATION ${SERVICES_INSTALL_DIR} ) diff --git a/plugins/screensaver-inhibit/kdeconnect_screensaver_inhibit.desktop b/plugins/screensaver-inhibit/kdeconnect_screensaver_inhibit.desktop deleted file mode 100644 index d2773fd43..000000000 --- a/plugins/screensaver-inhibit/kdeconnect_screensaver_inhibit.desktop +++ /dev/null @@ -1,45 +0,0 @@ -[Desktop Entry] -Encoding=UTF-8 -Type=Service -ServiceTypes=KdeConnect/Plugin -X-KDE-Library=kdeconnect_screensaver_inhibit -X-KDE-PluginInfo-Author=Pramod Dematagoda -X-KDE-PluginInfo-Email=pmdematagoda@mykolab.ch -X-KDE-PluginInfo-Name=kdeconnect_screensaver_inhibit -X-KDE-PluginInfo-Version=0.1 -X-KDE-PluginInfo-Website=http://albertvaka.wordpress.com -X-KDE-PluginInfo-License=GPL -X-KDE-PluginInfo-EnabledByDefault=false -Icon=preferences-desktop-screensaver -Name=Inhibit screensaver -Name[bs]=Izostavi čuvar ekrana -Name[ca]=Inhibeix l'estalvi de pantalla -Name[cs]=Potlačit spořič -Name[da]=Forhindr pauseskærm -Name[es]=Inhibir salvapantallas -Name[fi]=Estä näytönsäästäjän käynnistyminen -Name[ko]=화면 보호기 막기 -Name[nl]=Schermbeveiliging tegenhouden -Name[pl]=Powstrzymaj wygaszacz ekranu -Name[pt]=Inibir o protector de ecrã -Name[pt_BR]=Inibir o protetor de tela -Name[sk]=Obmedziť šetrič obrazovky -Name[sv]=Stoppa skärmsläckare -Name[uk]=Заборона зберігача екрана -Name[x-test]=xxInhibit screensaverxx -Comment=Inhibit the screensaver when the device is connected -Comment[bs]=Ignoriši čuvar ekrana kada je uređaj konektovan -Comment[ca]=Inhibeix l'estalvi de pantalla quan es connecta el dispositiu -Comment[cs]=Potlačit spořič pokud je zařízení připojeno -Comment[da]=Forhindr pauseskærm når enheden er tilsluttet -Comment[es]=Inhibir el salvapantallas cuando el dispositivo está conectado -Comment[fi]=Estä näytönsäästäjän käynnistyminen, kun laite on yhteydessä -Comment[ko]=장치가 연결되어 있을 때 화면 보호기 실행 막기 -Comment[nl]=Houdt de schermbeveiliging tegen wanneer het apparaat is verbonden -Comment[pl]=Powstrzymaj wygaszacz ekrany po podłączeniu urządzenia -Comment[pt]=Inibir o protector de ecrã quando o dispositivo é ligado -Comment[pt_BR]=Inibir o protetor de tela quando o dispositivo estiver conectado -Comment[sk]=Obmedziť šetrič obrazovky keď je pripojené zariadenie -Comment[sv]=Stoppa skärmsläckaren när apparaten ansluts -Comment[uk]=Забороняє зберігач екрана, якщо з’єднано пристрій -Comment[x-test]=xxInhibit the screensaver when the device is connectedxx diff --git a/plugins/screensaver-inhibit/kdeconnect_screensaver_inhibit.json b/plugins/screensaver-inhibit/kdeconnect_screensaver_inhibit.json new file mode 100644 index 000000000..140fc71c5 --- /dev/null +++ b/plugins/screensaver-inhibit/kdeconnect_screensaver_inhibit.json @@ -0,0 +1,52 @@ +{ + "Encoding": "UTF-8", + "KPlugin": { + "Authors": [ + { + "Email": "pmdematagoda@mykolab.ch", + "Name": "Pramod Dematagoda" + } + ], + "Description": "Inhibit the screensaver when the device is connected", + "Description[bs]": "Ignoriši čuvar ekrana kada je uređaj konektovan", + "Description[ca]": "Inhibeix l'estalvi de pantalla quan es connecta el dispositiu", + "Description[cs]": "Potlačit spořič pokud je zařízení připojeno", + "Description[da]": "Forhindr pauseskærm når enheden er tilsluttet", + "Description[es]": "Inhibir el salvapantallas cuando el dispositivo está conectado", + "Description[fi]": "Estä näytönsäästäjän käynnistyminen, kun laite on yhteydessä", + "Description[ko]": "장치가 연결되어 있을 때 화면 보호기 실행 막기", + "Description[nl]": "Houdt de schermbeveiliging tegen wanneer het apparaat is verbonden", + "Description[pl]": "Powstrzymaj wygaszacz ekrany po podłączeniu urządzenia", + "Description[pt]": "Inibir o protector de ecrã quando o dispositivo é ligado", + "Description[pt_BR]": "Inibir o protetor de tela quando o dispositivo estiver conectado", + "Description[sk]": "Obmedziť šetrič obrazovky keď je pripojené zariadenie", + "Description[sv]": "Stoppa skärmsläckaren när apparaten ansluts", + "Description[uk]": "Забороняє зберігач екрана, якщо з’єднано пристрій", + "Description[x-test]": "xxInhibit the screensaver when the device is connectedxx", + "EnabledByDefault": false, + "Icon": "preferences-desktop-screensaver", + "Id": "kdeconnect_screensaver_inhibit", + "License": "GPL", + "Name": "Inhibit screensaver", + "Name[bs]": "Izostavi čuvar ekrana", + "Name[ca]": "Inhibeix l'estalvi de pantalla", + "Name[cs]": "Potlačit spořič", + "Name[da]": "Forhindr pauseskærm", + "Name[es]": "Inhibir salvapantallas", + "Name[fi]": "Estä näytönsäästäjän käynnistyminen", + "Name[ko]": "화면 보호기 막기", + "Name[nl]": "Schermbeveiliging tegenhouden", + "Name[pl]": "Powstrzymaj wygaszacz ekranu", + "Name[pt]": "Inibir o protector de ecrã", + "Name[pt_BR]": "Inibir o protetor de tela", + "Name[sk]": "Obmedziť šetrič obrazovky", + "Name[sv]": "Stoppa skärmsläckare", + "Name[uk]": "Заборона зберігача екрана", + "Name[x-test]": "xxInhibit screensaverxx", + "ServiceTypes": [ + "KdeConnect/Plugin" + ], + "Version": "0.1", + "Website": "http://albertvaka.wordpress.com" + } +} diff --git a/plugins/screensaver-inhibit/screensaverinhibitplugin.cpp b/plugins/screensaver-inhibit/screensaverinhibitplugin.cpp index 4d74fb4a4..a86309025 100644 --- a/plugins/screensaver-inhibit/screensaverinhibitplugin.cpp +++ b/plugins/screensaver-inhibit/screensaverinhibitplugin.cpp @@ -28,7 +28,7 @@ #include #include -K_PLUGIN_FACTORY( KdeConnectPluginFactory, registerPlugin< ScreensaverInhibitPlugin >(); ) +K_PLUGIN_FACTORY_WITH_JSON( KdeConnectPluginFactory, "kdeconnect_screensaver_inhibit.json", registerPlugin< ScreensaverInhibitPlugin >(); ) Q_LOGGING_CATEGORY(KDECONNECT_PLUGIN_SCREENSAVERINHIBIT, "kdeconnect.plugin.screensaverinhibit") diff --git a/plugins/sftp/CMakeLists.txt b/plugins/sftp/CMakeLists.txt index 1f5123c03..cecedf8c1 100644 --- a/plugins/sftp/CMakeLists.txt +++ b/plugins/sftp/CMakeLists.txt @@ -4,7 +4,7 @@ set(kdeconnect_sftp_SRCS sftpplugin.cpp ) -add_library(kdeconnect_sftp MODULE ${kdeconnect_sftp_SRCS}) +kdeconnect_add_plugin(kdeconnect_sftp JSON kdeconnect_sftp.json SOURCES ${kdeconnect_sftp_SRCS}) target_link_libraries(kdeconnect_sftp kdeconnectcore @@ -17,9 +17,6 @@ target_link_libraries(kdeconnect_sftp KF5::Notifications ) -install(TARGETS kdeconnect_sftp DESTINATION ${PLUGIN_INSTALL_DIR} ) -install(FILES kdeconnect_sftp.desktop DESTINATION ${SERVICES_INSTALL_DIR} ) - include(DbusInterfaceMacros) generate_and_install_dbus_interface( diff --git a/plugins/sftp/kdeconnect_sftp.desktop b/plugins/sftp/kdeconnect_sftp.desktop deleted file mode 100644 index 7ad412cfc..000000000 --- a/plugins/sftp/kdeconnect_sftp.desktop +++ /dev/null @@ -1,58 +0,0 @@ -[Desktop Entry] -Encoding=UTF-8 -Type=Service -ServiceTypes=KdeConnect/Plugin -X-KDE-Library=kdeconnect_sftp -X-KDE-PluginInfo-Author=Samoilenko Yuri -X-KDE-PluginInfo-Email=kinnalru@gmail.com -X-KDE-PluginInfo-Name=kdeconnect_sftp -X-KDE-PluginInfo-Version=0.1 -X-KDE-PluginInfo-Website=http://albertvaka.wordpress.com -X-KDE-PluginInfo-License=GPL -X-KDE-PluginInfo-EnabledByDefault=true -Icon=system-file-manager -Name=Remote filesystem browser -Name[bg]=Достъп до отдалечена файлова система -Name[bs]=Daljinski datotečni preglednik -Name[ca]=Navegador pel sistema de fitxers remot -Name[cs]=Prohlížeč vzdáleného souborového systému -Name[da]=Gennemse eksternt filsystem -Name[de]=Datei-Browser für entferne Systeme -Name[es]=Navegador de sistemas de archivos remoto -Name[fi]=Etätiedostojärjestelmäselain -Name[fr]=Contrôlez à distance le navigateur du système de fichiers -Name[hu]=Távoli fájlrendszer böngésző -Name[ko]=원격 파일 시스템 탐색기 -Name[nl]=Bestandssysteembrowser op afstand -Name[pl]=Przeglądarka zdalnego systemu plików -Name[pt]=Navegador do sistema de ficheiros remoto -Name[pt_BR]=Navegador do sistema de arquivos remoto -Name[sk]=Prehliadač vzdialeného súborového systému -Name[sv]=Fjärrfilsystembläddrare -Name[tr]=Uzak dosya sistemi tarayıcı -Name[uk]=Перегляд віддалених файлових систем -Name[x-test]=xxRemote filesystem browserxx -Comment=Browse the remote device filesystem using SFTP -Comment[bg]=Отдалечено разглеждане на файловете на устройство чрез SFTP -Comment[bs]=Pregledajte daljinski uređaj datotečnog sustava koristeći SFTP -Comment[ca]=Navega pel sistema de fitxers dels dispositius remots usant SFTP -Comment[cs]=Prohlížení souborového systému na zařízení pomocí SFTP -Comment[da]=Gennemse filsystemet på den eksterne enhed med SFTP -Comment[de]=Browsen im Dateisystem des entfernten Geräts mit SFTP -Comment[es]=Navegar en el sistema de archivos del dispositivo remoto usando SFTP -Comment[fi]=Selaa etälaitteiden tiedostojärjestelmiä SFTP:llä -Comment[fr]=Visualiser le système de fichiers de l'appareil distant en utilisant SFTP -Comment[hu]=A távoli eszköz fájlrendszerének böngészése SFTP használatával -Comment[ko]=SFTP로 원격 파일 시스템 탐색 -Comment[nl]=Blader door het bestandssysteem met SFTP op het apparaat op afstand -Comment[pl]=Przeglądaj zdalny system plików przy użyciu SFTP -Comment[pt]=Navegue pelo sistema de ficheiros do dispositivo por SFTP -Comment[pt_BR]=Navegue pelo sistema de arquivos do dispositivo usando SFTP -Comment[sk]=Prehliadať súborový systém vzdialeného zariadenia pomocou SFTP -Comment[sv]=Bläddra i fjärrenhetens filsystem med SFTP -Comment[tr]=SFTP kullanarak uzak aygıt dosya sisteminde gezin -Comment[uk]=Перегляд файлових систем на сторонніх пристроях за допомогою SFTP -Comment[x-test]=xxBrowse the remote device filesystem using SFTPxx - -X-KdeConnect-SupportedPackageType=kdeconnect.sftp -X-KdeConnect-OutgoingPackageType=kdeconnect.sftp diff --git a/plugins/sftp/kdeconnect_sftp.json b/plugins/sftp/kdeconnect_sftp.json new file mode 100644 index 000000000..b2cf54f25 --- /dev/null +++ b/plugins/sftp/kdeconnect_sftp.json @@ -0,0 +1,64 @@ +{ + "Encoding": "UTF-8", + "KPlugin": { + "Authors": [ + { + "Email": "kinnalru@gmail.com", + "Name": "Samoilenko Yuri" + } + ], + "Description": "Browse the remote device filesystem using SFTP", + "Description[bg]": "Отдалечено разглеждане на файловете на устройство чрез SFTP", + "Description[bs]": "Pregledajte daljinski uređaj datotečnog sustava koristeći SFTP", + "Description[ca]": "Navega pel sistema de fitxers dels dispositius remots usant SFTP", + "Description[cs]": "Prohlížení souborového systému na zařízení pomocí SFTP", + "Description[da]": "Gennemse filsystemet på den eksterne enhed med SFTP", + "Description[de]": "Browsen im Dateisystem des entfernten Geräts mit SFTP", + "Description[es]": "Navegar en el sistema de archivos del dispositivo remoto usando SFTP", + "Description[fi]": "Selaa etälaitteiden tiedostojärjestelmiä SFTP:llä", + "Description[fr]": "Visualiser le système de fichiers de l'appareil distant en utilisant SFTP", + "Description[hu]": "A távoli eszköz fájlrendszerének böngészése SFTP használatával", + "Description[ko]": "SFTP로 원격 파일 시스템 탐색", + "Description[nl]": "Blader door het bestandssysteem met SFTP op het apparaat op afstand", + "Description[pl]": "Przeglądaj zdalny system plików przy użyciu SFTP", + "Description[pt]": "Navegue pelo sistema de ficheiros do dispositivo por SFTP", + "Description[pt_BR]": "Navegue pelo sistema de arquivos do dispositivo usando SFTP", + "Description[sk]": "Prehliadať súborový systém vzdialeného zariadenia pomocou SFTP", + "Description[sv]": "Bläddra i fjärrenhetens filsystem med SFTP", + "Description[tr]": "SFTP kullanarak uzak aygıt dosya sisteminde gezin", + "Description[uk]": "Перегляд файлових систем на сторонніх пристроях за допомогою SFTP", + "Description[x-test]": "xxBrowse the remote device filesystem using SFTPxx", + "EnabledByDefault": true, + "Icon": "system-file-manager", + "Id": "kdeconnect_sftp", + "License": "GPL", + "Name": "Remote filesystem browser", + "Name[bg]": "Достъп до отдалечена файлова система", + "Name[bs]": "Daljinski datotečni preglednik", + "Name[ca]": "Navegador pel sistema de fitxers remot", + "Name[cs]": "Prohlížeč vzdáleného souborového systému", + "Name[da]": "Gennemse eksternt filsystem", + "Name[de]": "Datei-Browser für entferne Systeme", + "Name[es]": "Navegador de sistemas de archivos remoto", + "Name[fi]": "Etätiedostojärjestelmäselain", + "Name[fr]": "Contrôlez à distance le navigateur du système de fichiers", + "Name[hu]": "Távoli fájlrendszer böngésző", + "Name[ko]": "원격 파일 시스템 탐색기", + "Name[nl]": "Bestandssysteembrowser op afstand", + "Name[pl]": "Przeglądarka zdalnego systemu plików", + "Name[pt]": "Navegador do sistema de ficheiros remoto", + "Name[pt_BR]": "Navegador do sistema de arquivos remoto", + "Name[sk]": "Prehliadač vzdialeného súborového systému", + "Name[sv]": "Fjärrfilsystembläddrare", + "Name[tr]": "Uzak dosya sistemi tarayıcı", + "Name[uk]": "Перегляд віддалених файлових систем", + "Name[x-test]": "xxRemote filesystem browserxx", + "ServiceTypes": [ + "KdeConnect/Plugin" + ], + "Version": "0.1", + "Website": "http://albertvaka.wordpress.com" + }, + "X-KdeConnect-OutgoingPackageType": [ "kdeconnect.sftp" ], + "X-KdeConnect-SupportedPackageType": [ "kdeconnect.sftp" ] +} diff --git a/plugins/sftp/sftpplugin.cpp b/plugins/sftp/sftpplugin.cpp index 88f8a3657..834e3354d 100644 --- a/plugins/sftp/sftpplugin.cpp +++ b/plugins/sftp/sftpplugin.cpp @@ -33,7 +33,7 @@ #include "mounter.h" -K_PLUGIN_FACTORY( KdeConnectPluginFactory, registerPlugin< SftpPlugin >(); ) +K_PLUGIN_FACTORY_WITH_JSON( KdeConnectPluginFactory, "kdeconnect_sftp.json", registerPlugin< SftpPlugin >(); ) Q_LOGGING_CATEGORY(KDECONNECT_PLUGIN_SFTP, "kdeconnect.plugin.sftp") diff --git a/plugins/share/CMakeLists.txt b/plugins/share/CMakeLists.txt index 7016e263f..fed160c08 100644 --- a/plugins/share/CMakeLists.txt +++ b/plugins/share/CMakeLists.txt @@ -3,7 +3,7 @@ set(kdeconnect_share_SRCS autoclosingqfile.cpp ) -add_library(kdeconnect_share MODULE ${kdeconnect_share_SRCS}) +kdeconnect_add_plugin(kdeconnect_share JSON kdeconnect_share.json SOURCES ${kdeconnect_share_SRCS}) target_link_libraries(kdeconnect_share kdeconnectcore @@ -14,10 +14,6 @@ target_link_libraries(kdeconnect_share KF5::KIOWidgets ) -install(TARGETS kdeconnect_share DESTINATION ${PLUGIN_INSTALL_DIR} ) -install(FILES kdeconnect_share.desktop DESTINATION ${SERVICES_INSTALL_DIR} ) - - ####################################### # Config diff --git a/plugins/share/kdeconnect_share.desktop b/plugins/share/kdeconnect_share.desktop deleted file mode 100644 index 74330612b..000000000 --- a/plugins/share/kdeconnect_share.desktop +++ /dev/null @@ -1,59 +0,0 @@ -[Desktop Entry] -Encoding=UTF-8 -Type=Service -ServiceTypes=KdeConnect/Plugin -X-KDE-Library=kdeconnect_share -X-KDE-PluginInfo-Author=Albert Vaca -X-KDE-PluginInfo-Email=albertvaka@gmail.com -X-KDE-PluginInfo-Name=kdeconnect_share -X-KDE-PluginInfo-Version=0.1 -X-KDE-PluginInfo-Website=http://albertvaka.wordpress.com -X-KDE-PluginInfo-License=GPL -X-KDE-PluginInfo-EnabledByDefault=true -Icon=folder-download -Name=Share and receive -Name[bg]=Споделяне и получаване -Name[bs]=Podijeli i primi -Name[ca]=Comparteix i rep -Name[cs]=Sdílet a přijímat -Name[da]=Del og modtag -Name[de]=Veröffentlichen und Empfangen -Name[es]=Compartir y recibir -Name[fi]=Jaa ja vastaanota -Name[fr]=Partager et recevoir -Name[hu]=Megosztás és fogadás -Name[ko]=공유하고 받기 -Name[nl]=Delen en ontvangen -Name[pl]=Udostępniaj i otrzymuj -Name[pt]=Partilhar e receber -Name[pt_BR]=Compartilhar e receber -Name[ro]=Partajează și primește -Name[sk]=Zdieľať a prijať -Name[sv]=Dela och ta emot -Name[tr]=Paylaş ve al -Name[uk]=Оприлюднення і отримання -Name[x-test]=xxShare and receivexx -Comment=Receive and send files, URLs or plain text easily -Comment[bg]=Лесно получаване и изпращане на файлове, адреси и обикновен текст -Comment[bs]=Lako primi i pošalji datotekem URL-ove ili obični tekst -Comment[ca]=Rep i envia fitxers, els URL o text net amb facilitat -Comment[cs]=Jednoduše přijímejte a posílejte soubory, URL nebo čistý text -Comment[da]=Modtag og send filer, URL'er eller klartekst på nem måde -Comment[de]=Empfang und Senden von Dateien, URLs oder einfacher Text -Comment[es]=Recibir y enviar archivos, URL o texto sin formato fácilmente -Comment[fi]=Vastaanota ja lähetä tiedostoja, verkko-osoitteita tai tekstiä helposti -Comment[fr]=Recevoir et envoyer des fichiers, des URLs ou du texte brut facilement -Comment[hu]=Fájlok, URL-ek vagy egyszerű szövegek könnyű fogadása és küldése -Comment[ko]=파일, URL, 일반 텍스트를 주고받기 -Comment[nl]=Bestanden, URL's of platte tekst gemakkelijk ontvangen en verzenden -Comment[pl]=Udostępniaj i otrzymuj pliki, adresy URL lub zwykły tekst z łatwością -Comment[pt]=Receber e enviar ficheiros, URL's ou texto de forma simples -Comment[pt_BR]=Recebe e envia facilmente arquivos, URLs ou texto simples -Comment[sk]=Prijať a poslať súbory, URL alebo čisté texty jednoducho -Comment[sv]=Ta emot och skicka filer, webbadresser eller vanlig text enkelt -Comment[tr]=Kolaylıkla dosya, adres veya düz metin alıp gönderin -Comment[uk]=Спрощене отримання і надсилання файлів, адрес або текстових фрагментів -Comment[x-test]=xxReceive and send files, URLs or plain text easilyxx - -X-KdeConnect-SupportedPackageType=kdeconnect.share -X-KdeConnect-OutgoingPackageType=kdeconnect.share diff --git a/plugins/share/kdeconnect_share.json b/plugins/share/kdeconnect_share.json new file mode 100644 index 000000000..68705c40c --- /dev/null +++ b/plugins/share/kdeconnect_share.json @@ -0,0 +1,65 @@ +{ + "Encoding": "UTF-8", + "KPlugin": { + "Authors": [ + { + "Email": "albertvaka@gmail.com", + "Name": "Albert Vaca" + } + ], + "Description": "Receive and send files, URLs or plain text easily", + "Description[bg]": "Лесно получаване и изпращане на файлове, адреси и обикновен текст", + "Description[bs]": "Lako primi i pošalji datotekem URL-ove ili obični tekst", + "Description[ca]": "Rep i envia fitxers, els URL o text net amb facilitat", + "Description[cs]": "Jednoduše přijímejte a posílejte soubory, URL nebo čistý text", + "Description[da]": "Modtag og send filer, URL'er eller klartekst på nem måde", + "Description[de]": "Empfang und Senden von Dateien, URLs oder einfacher Text", + "Description[es]": "Recibir y enviar archivos, URL o texto sin formato fácilmente", + "Description[fi]": "Vastaanota ja lähetä tiedostoja, verkko-osoitteita tai tekstiä helposti", + "Description[fr]": "Recevoir et envoyer des fichiers, des URLs ou du texte brut facilement", + "Description[hu]": "Fájlok, URL-ek vagy egyszerű szövegek könnyű fogadása és küldése", + "Description[ko]": "파일, URL, 일반 텍스트를 주고받기", + "Description[nl]": "Bestanden, URL's of platte tekst gemakkelijk ontvangen en verzenden", + "Description[pl]": "Udostępniaj i otrzymuj pliki, adresy URL lub zwykły tekst z łatwością", + "Description[pt]": "Receber e enviar ficheiros, URL's ou texto de forma simples", + "Description[pt_BR]": "Recebe e envia facilmente arquivos, URLs ou texto simples", + "Description[sk]": "Prijať a poslať súbory, URL alebo čisté texty jednoducho", + "Description[sv]": "Ta emot och skicka filer, webbadresser eller vanlig text enkelt", + "Description[tr]": "Kolaylıkla dosya, adres veya düz metin alıp gönderin", + "Description[uk]": "Спрощене отримання і надсилання файлів, адрес або текстових фрагментів", + "Description[x-test]": "xxReceive and send files, URLs or plain text easilyxx", + "EnabledByDefault": true, + "Icon": "folder-download", + "Id": "kdeconnect_share", + "License": "GPL", + "Name": "Share and receive", + "Name[bg]": "Споделяне и получаване", + "Name[bs]": "Podijeli i primi", + "Name[ca]": "Comparteix i rep", + "Name[cs]": "Sdílet a přijímat", + "Name[da]": "Del og modtag", + "Name[de]": "Veröffentlichen und Empfangen", + "Name[es]": "Compartir y recibir", + "Name[fi]": "Jaa ja vastaanota", + "Name[fr]": "Partager et recevoir", + "Name[hu]": "Megosztás és fogadás", + "Name[ko]": "공유하고 받기", + "Name[nl]": "Delen en ontvangen", + "Name[pl]": "Udostępniaj i otrzymuj", + "Name[pt]": "Partilhar e receber", + "Name[pt_BR]": "Compartilhar e receber", + "Name[ro]": "Partajează și primește", + "Name[sk]": "Zdieľať a prijať", + "Name[sv]": "Dela och ta emot", + "Name[tr]": "Paylaş ve al", + "Name[uk]": "Оприлюднення і отримання", + "Name[x-test]": "xxShare and receivexx", + "ServiceTypes": [ + "KdeConnect/Plugin" + ], + "Version": "0.1", + "Website": "http://albertvaka.wordpress.com" + }, + "X-KdeConnect-OutgoingPackageType": [ "kdeconnect.share" ], + "X-KdeConnect-SupportedPackageType": [ "kdeconnect.share" ] +} diff --git a/plugins/share/shareplugin.cpp b/plugins/share/shareplugin.cpp index 049f57d72..4482376e9 100644 --- a/plugins/share/shareplugin.cpp +++ b/plugins/share/shareplugin.cpp @@ -35,7 +35,7 @@ #include #include "autoclosingqfile.h" -K_PLUGIN_FACTORY( KdeConnectPluginFactory, registerPlugin< SharePlugin >(); ) +K_PLUGIN_FACTORY_WITH_JSON( KdeConnectPluginFactory, "kdeconnect_share.json", registerPlugin< SharePlugin >(); ) Q_LOGGING_CATEGORY(KDECONNECT_PLUGIN_SHARE, "kdeconnect.plugin.share"); diff --git a/plugins/telephony/CMakeLists.txt b/plugins/telephony/CMakeLists.txt index 8db5629d6..9ec302759 100644 --- a/plugins/telephony/CMakeLists.txt +++ b/plugins/telephony/CMakeLists.txt @@ -2,7 +2,7 @@ set(kdeconnect_telephony_SRCS telephonyplugin.cpp ) -add_library(kdeconnect_telephony MODULE ${kdeconnect_telephony_SRCS}) +kdeconnect_add_plugin(kdeconnect_telephony JSON kdeconnect_telephony.json SOURCES ${kdeconnect_telephony_SRCS}) target_link_libraries(kdeconnect_telephony kdeconnectcore @@ -10,6 +10,3 @@ target_link_libraries(kdeconnect_telephony KF5::Service KF5::Notifications ) - -install(TARGETS kdeconnect_telephony DESTINATION ${PLUGIN_INSTALL_DIR} ) -install(FILES kdeconnect_telephony.desktop DESTINATION ${SERVICES_INSTALL_DIR} ) diff --git a/plugins/telephony/kdeconnect_telephony.desktop b/plugins/telephony/kdeconnect_telephony.desktop deleted file mode 100644 index d44b59512..000000000 --- a/plugins/telephony/kdeconnect_telephony.desktop +++ /dev/null @@ -1,63 +0,0 @@ -[Desktop Entry] -Encoding=UTF-8 -Type=Service -ServiceTypes=KdeConnect/Plugin -X-KDE-Library=kdeconnect_telephony -X-KDE-PluginInfo-Author=Albert Vaca -X-KDE-PluginInfo-Email=albertvaka@gmail.com -X-KDE-PluginInfo-Name=kdeconnect_telephony -X-KDE-PluginInfo-Version=0.1 -X-KDE-PluginInfo-Website=http://albertvaka.wordpress.com -X-KDE-PluginInfo-License=GPL -X-KDE-PluginInfo-EnabledByDefault=true -Icon=call-start -Name=Telephony integration -Name[bg]=Интеграция на телефона -Name[bs]=Telefonska integracija -Name[ca]=Integra amb la telefonia -Name[cs]=Integrace telefonie -Name[da]=Telefoni-integration -Name[de]=Telefon-Integration -Name[es]=Integración de telefonía -Name[fi]=Puhelinintegrointi -Name[fr]=Intégration de la téléphonie -Name[hu]=Telefon integráció -Name[it]=Integrazione telefono -Name[ko]=전화 통합 -Name[nl]=Telefoonintegratie -Name[pl]=Integracja z telefonem -Name[pt]=Integração telefónica -Name[pt_BR]=Integração telefônica -Name[ro]=Integrare telefonie -Name[ru]=Интеграция телефонии -Name[sk]=Integrácia telefónie -Name[sv]=Integrering av telefoni -Name[tr]=Telefon tümleştirmesi -Name[uk]=Інтеграція з системою телефонії -Name[x-test]=xxTelephony integrationxx -Comment=Show notifications for calls and SMS (answering coming soon) -Comment[bg]=Показване на уведомления за обаждания и текстови съобщения (а скоро и отговаряне) -Comment[bs]=Prikaži obavlještenja za pozive i SMS poruke(Odgovor slijedi uskoro) -Comment[ca]=Mostra les notificacions de les trucades i els SMS (en breu es podrà respondre) -Comment[cs]=Zobrazit upozornění na volání a SMS (odpovídání bude brzy k dispozici) -Comment[da]=Vis bekendtgørelser af opkald og SMS (at svare kommer snart) -Comment[de]=Zeigt Benachrichtigungen für Anrufe und SMS -Comment[es]=Mostrar notificaciones de llamadas y SMS (en breve se podrá responder) -Comment[fi]=Näytä puhelujen ja tekstiviestien ilmoitukset (vastaaminen tulossa pian) -Comment[fr]=Affichez les notifications pour les appels et les SMS (la réponse arrive bientôt) -Comment[hu]=Értesítések megjelenítése hívásokhoz és SMS-ekhez (a fogadásuk hamarosan) -Comment[it]=Mostra le notifiche di chiamate ed SMS (a breve anche per rispondere) -Comment[ko]=전화 통화 및 문자 메시지 알림 표시(응답 구현 예정) -Comment[nl]=Meldingen tonen van oproepen en SMSjes (beantwoorden komt spoedig) -Comment[pl]=Pokaż powiadomienia dla dzwonienia i SMS (odpowiadanie wkrótce) -Comment[pt]=Mostrar notificações para as chamadas e SMS's (resposta em breve) -Comment[pt_BR]=Mostra notificações para chamadas e SMS (resposta em breve) -Comment[ru]=Показывать уведомления о звонках и SMS (ответы на звонки тоже скоро будут доступны) -Comment[sk]=Zobraziť oznámenia pre hovory a SMS (čoskoro aj odpovede) -Comment[sv]=Visa underrättelser om samtal och SMS (att svara kommer snart) -Comment[tr]=Çağrı ve SMS'ler için bildirim göster (yanıtlama yakında geliyor) -Comment[uk]=Показ сповіщень щодо дзвінків і SMS (скоро буде реалізовано і автовідповідач) -Comment[x-test]=xxShow notifications for calls and SMS (answering coming soon)xx - -X-KdeConnect-SupportedPackageType=kdeconnect.telephony -X-KdeConnect-OutgoingPackageType=kdeconnect.telephony diff --git a/plugins/telephony/kdeconnect_telephony.json b/plugins/telephony/kdeconnect_telephony.json new file mode 100644 index 000000000..4e9314240 --- /dev/null +++ b/plugins/telephony/kdeconnect_telephony.json @@ -0,0 +1,69 @@ +{ + "Encoding": "UTF-8", + "KPlugin": { + "Authors": [ + { + "Email": "albertvaka@gmail.com", + "Name": "Albert Vaca" + } + ], + "Description": "Show notifications for calls and SMS (answering coming soon)", + "Description[bg]": "Показване на уведомления за обаждания и текстови съобщения (а скоро и отговаряне)", + "Description[bs]": "Prikaži obavlještenja za pozive i SMS poruke(Odgovor slijedi uskoro)", + "Description[ca]": "Mostra les notificacions de les trucades i els SMS (en breu es podrà respondre)", + "Description[cs]": "Zobrazit upozornění na volání a SMS (odpovídání bude brzy k dispozici)", + "Description[da]": "Vis bekendtgørelser af opkald og SMS (at svare kommer snart)", + "Description[de]": "Zeigt Benachrichtigungen für Anrufe und SMS", + "Description[es]": "Mostrar notificaciones de llamadas y SMS (en breve se podrá responder)", + "Description[fi]": "Näytä puhelujen ja tekstiviestien ilmoitukset (vastaaminen tulossa pian)", + "Description[fr]": "Affichez les notifications pour les appels et les SMS (la réponse arrive bientôt)", + "Description[hu]": "Értesítések megjelenítése hívásokhoz és SMS-ekhez (a fogadásuk hamarosan)", + "Description[it]": "Mostra le notifiche di chiamate ed SMS (a breve anche per rispondere)", + "Description[ko]": "전화 통화 및 문자 메시지 알림 표시(응답 구현 예정)", + "Description[nl]": "Meldingen tonen van oproepen en SMSjes (beantwoorden komt spoedig)", + "Description[pl]": "Pokaż powiadomienia dla dzwonienia i SMS (odpowiadanie wkrótce)", + "Description[pt]": "Mostrar notificações para as chamadas e SMS's (resposta em breve)", + "Description[pt_BR]": "Mostra notificações para chamadas e SMS (resposta em breve)", + "Description[ru]": "Показывать уведомления о звонках и SMS (ответы на звонки тоже скоро будут доступны)", + "Description[sk]": "Zobraziť oznámenia pre hovory a SMS (čoskoro aj odpovede)", + "Description[sv]": "Visa underrättelser om samtal och SMS (att svara kommer snart)", + "Description[tr]": "Çağrı ve SMS'ler için bildirim göster (yanıtlama yakında geliyor)", + "Description[uk]": "Показ сповіщень щодо дзвінків і SMS (скоро буде реалізовано і автовідповідач)", + "Description[x-test]": "xxShow notifications for calls and SMS (answering coming soon)xx", + "EnabledByDefault": true, + "Icon": "call-start", + "Id": "kdeconnect_telephony", + "License": "GPL", + "Name": "Telephony integration", + "Name[bg]": "Интеграция на телефона", + "Name[bs]": "Telefonska integracija", + "Name[ca]": "Integra amb la telefonia", + "Name[cs]": "Integrace telefonie", + "Name[da]": "Telefoni-integration", + "Name[de]": "Telefon-Integration", + "Name[es]": "Integración de telefonía", + "Name[fi]": "Puhelinintegrointi", + "Name[fr]": "Intégration de la téléphonie", + "Name[hu]": "Telefon integráció", + "Name[it]": "Integrazione telefono", + "Name[ko]": "전화 통합", + "Name[nl]": "Telefoonintegratie", + "Name[pl]": "Integracja z telefonem", + "Name[pt]": "Integração telefónica", + "Name[pt_BR]": "Integração telefônica", + "Name[ro]": "Integrare telefonie", + "Name[ru]": "Интеграция телефонии", + "Name[sk]": "Integrácia telefónie", + "Name[sv]": "Integrering av telefoni", + "Name[tr]": "Telefon tümleştirmesi", + "Name[uk]": "Інтеграція з системою телефонії", + "Name[x-test]": "xxTelephony integrationxx", + "ServiceTypes": [ + "KdeConnect/Plugin" + ], + "Version": "0.1", + "Website": "http://albertvaka.wordpress.com" + }, + "X-KdeConnect-OutgoingPackageType": [ "kdeconnect.telephony" ], + "X-KdeConnect-SupportedPackageType": [ "kdeconnect.telephony" ] +} diff --git a/plugins/telephony/telephonyplugin.cpp b/plugins/telephony/telephonyplugin.cpp index e8d9ad56b..c81498fe5 100644 --- a/plugins/telephony/telephonyplugin.cpp +++ b/plugins/telephony/telephonyplugin.cpp @@ -27,7 +27,7 @@ #include -K_PLUGIN_FACTORY( KdeConnectPluginFactory, registerPlugin< TelephonyPlugin >(); ) +K_PLUGIN_FACTORY_WITH_JSON( KdeConnectPluginFactory, "kdeconnect_telephony.json", registerPlugin< TelephonyPlugin >(); ) Q_LOGGING_CATEGORY(KDECONNECT_PLUGIN_TELEPHONY, "kdeconnect.plugin.telephony")