* Split QML part into distinct versions for Plasma 5 and 6 as there are too many differences and `#ifdef` is not possible * Change API usage according to https://develop.kde.org/docs/plasma/widget/porting_kf6 * Port "contextualActions" to API documented on https://invent.kde.org/frameworks/plasma-framework/-/blob/master/src/plasma/applet.h * Document testing * Add FIXMEs/notes for remaining problems; there are likely many more, though
1.9 KiB
1.9 KiB
Testing and debugging Dolphin/KIO plugin with Qt Creator
- Build as usual, ensure
NO_FILE_ITEM_ACTION_PLUGIN
is turned off. - Copy
*.desktop
file to~/.local/share/kservices5
and enable it in Dolphin if a packaged version with the same configuration name is not already installed. Replace5
with the current major version of KDE. - Add new config for run in Qt Creator and set
dolphin
as executable. - In execution environment, set
QT_PLUGIN_PATH
to directory containing plugin\*.so
-file.QT_DEBUG_PLUGINS
to 1 for verbose plugin detection.QT_XCB_NO_GRAB_SERVER
to 1 to prevent grabbing so the debugger is usable.
- Ignore warning that executable is no debug build, it is sufficiant when plugin is debug build.
Testing against a development build of Dolphin
NOTE: This does not actually work with a KF6 build. Maybe the *.desktop
file needs to be changed.
- Build the whole dependency chain up to
dolphin
installing it under some custom prefix. - Then follow the usual steps but make sure you build Syncthing Tray against the custom KDE builds.
This is achieved the easiest by using the
debug-kde
CMake preset. This preset uses the environment variableKDE_INSTALL_DIR
which must point to the custom prefix used in step 1. - Copy the
*.desktop
file into the custom prefix used in step 1 undershare/kservices6
. Replace6
with the current major version of KDE. The directory likely needs to be created first. - Source the
prefix.sh
script that should be present in the build directory of any KDE library you built in step 1, e.g.source kde/plasma-sdk/prefix.sh
. - When setting the environment one needs to be more careful to not override variables set in step 4.
It is the easiest to just start e.g.
plasmawindowed
from the shell:QT_PLUGIN_PATH=$BUILD_DIR/syncthingtray/debug-kde/syncthingtray/fileitemactionplugin:$QT_PLUGIN_PATH dolphin