kdeconnect-kde/plugins
Volker Krause 002848efa8 Adapt build system to also support Qt 6
This is complicated by the Qt 5.6 requirement of SailfishOS, hopefully
that didn't get broken by this.
2022-10-29 16:51:41 +02:00
..
battery Adapt build system to also support Qt 6 2022-10-29 16:51:41 +02:00
bigscreen Adapt build system to also support Qt 6 2022-10-29 16:51:41 +02:00
clipboard SVN_SILENT made messages (.desktop file) - always resolve ours 2022-10-20 02:01:51 +00:00
connectivity-report Adapt build system to also support Qt 6 2022-10-29 16:51:41 +02:00
contacts Adapt build system to also support Qt 6 2022-10-29 16:51:41 +02:00
findmyphone Adapt build system to also support Qt 6 2022-10-29 16:51:41 +02:00
findthisdevice Adapt build system to also support Qt 6 2022-10-29 16:51:41 +02:00
lockdevice Adapt build system to also support Qt 6 2022-10-29 16:51:41 +02:00
mousepad Adapt build system to also support Qt 6 2022-10-29 16:51:41 +02:00
mpriscontrol Adapt build system to also support Qt 6 2022-10-29 16:51:41 +02:00
mprisremote Adapt build system to also support Qt 6 2022-10-29 16:51:41 +02:00
notifications Adapt build system to also support Qt 6 2022-10-29 16:51:41 +02:00
pausemusic Adapt build system to also support Qt 6 2022-10-29 16:51:41 +02:00
photo Adapt build system to also support Qt 6 2022-10-29 16:51:41 +02:00
ping Adapt build system to also support Qt 6 2022-10-29 16:51:41 +02:00
presenter Adapt build system to also support Qt 6 2022-10-29 16:51:41 +02:00
remotecommands Adapt build system to also support Qt 6 2022-10-29 16:51:41 +02:00
remotecontrol Adapt build system to also support Qt 6 2022-10-29 16:51:41 +02:00
remotekeyboard Adapt build system to also support Qt 6 2022-10-29 16:51:41 +02:00
remotesystemvolume Adapt build system to also support Qt 6 2022-10-29 16:51:41 +02:00
runcommand Adapt build system to also support Qt 6 2022-10-29 16:51:41 +02:00
screensaver-inhibit Adapt build system to also support Qt 6 2022-10-29 16:51:41 +02:00
sendnotifications Adapt build system to also support Qt 6 2022-10-29 16:51:41 +02:00
sftp Adapt build system to also support Qt 6 2022-10-29 16:51:41 +02:00
share Adapt build system to also support Qt 6 2022-10-29 16:51:41 +02:00
sms Adapt build system to also support Qt 6 2022-10-29 16:51:41 +02:00
systemvolume Adapt build system to also support Qt 6 2022-10-29 16:51:41 +02:00
telephony Adapt build system to also support Qt 6 2022-10-29 16:51:41 +02:00
virtualmonitor Adapt build system to also support Qt 6 2022-10-29 16:51:41 +02:00
CMakeLists.txt Adapt build system to also support Qt 6 2022-10-29 16:51:41 +02:00
kdeconnect.notifyrc SVN_SILENT made messages (.desktop file) - always resolve ours 2022-10-20 02:01:51 +00:00
Messages.sh Figure out Messages.sh after code refactoring 2014-06-17 18:45:47 +02:00
README.txt Update README.txt in Plugins to include the current method to build a skeleton for a Plugin 2020-03-27 21:02:16 +05:30

Writing a plugin for KDE Connect
=================================

For the desktop client (this project):
--------------------------------------

1. Enter the "plugins" directory.
2. Copy the "ping" under a different name ("findmyphone" in this example).
3. Add "add_subdirectory(findmyphone)" to CMakeLists.txt after the others "add_subdirectory".
4. Enter the new "findmyphone" directory.
5. Edit CMakeLists.txt by replacing "ping" with "findmyphone".
6. Rename other files in this directory by replacing "ping" with "findmyphone"
7. Write a description of your plugin into "README"
8. Edit findmyphoneplugin.cpp and findmyphoneplugin.h.
  A. Change license header.
  B. Replace (case sensitive) "ping" with "findmyphone", "PingPlugin" with "FindMyPhonePlugin" and "PING" with "FINDMYPHONE".
9. Edit kdeconnect_findmyphone.json file:
  A. Replace "ping" with "findmyphone".
  B. Change name, description, icon, author, email, version, website, license info.
  C. Remove all the translations
  D. Set X-KDEConnect-SupportedPacketType and X-KDEConnect-OutgoingPacketType to the packet type your plugin will receive
     and send, respectively. In this example this is "kdeconnect.findmyphone". Make sure that this matches what is defined in
     the findmyplugin.h file (in the line "#define PACKET_TYPE_..."), and also in Android.
10. Now you have an empty skeleton to implement your new plugin logic.

For Android (project kdeconnect-android):
-----------------------------------------

1. Change directory to src/org/kde/kdeconnect/Plugins.
2. Copy "PingPlugin" under a different name ("FindMyPhonePlugin" in this example).
3. Enter the new "FindMyPhonePlugin" directory.
4. Rename "PingPlugin.java" to "FindMyPhonePlugin.java"
5. Edit it. Replace (case sensitive) "Ping" with "FindMyPhone", "ping" with "findmyphone", "PING" with "FINDMYPHONE"
   and "plugin_ping" with "plugin_findmyphone".
6. Open res/values/strings.xml. Find and copy the lines "pref_plugin_ping_desc" and "pref_plugin_ping" replacing "ping"
   with "findmyphone" and edit the plugin name and description between <string> </string>).
7. Now you have an empty skeleton to implement your new plugin logic.