syncthingtray/fileitemactionplugin/testing.md

1.7 KiB

Testing and debugging Dolphin/KIO plugin with Qt Creator

  1. Build as usual, ensure NO_FILE_ITEM_ACTION_PLUGIN is turned off.
  2. For KF5, 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.
  3. Add new config for run in Qt Creator and set dolphin as executable.
  4. In execution environment, set
  • QT_PLUGIN_PATH to build directory of the plugin (for KF5 this directory contains the so-file directly, for KF6 it is in the sub directory kf6/kfileitemaction)
  • QT_DEBUG_PLUGINS to 1 for verbose plugin detection.
  • QT_XCB_NO_GRAB_SERVER to 1 to prevent grabbing so the debugger is usable.
  1. Ignore warning that executable is no debug build, it is sufficient when plugin is debug build.

Testing against a development build of Dolphin

  1. Build the whole dependency chain up to dolphin installing it under some custom prefix.
  2. 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 variable KDE_INSTALL_DIR which must point to the custom prefix used in step 1.
  3. 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.
  4. When setting the environment one needs to be more careful to not override variables set in step 3. It is the easiest to just start dolphin from the shell:
    QT_PLUGIN_PATH=$BUILD_DIR/syncthingtray/debug-kde/syncthingtray/fileitemactionplugin:$QT_PLUGIN_PATH dolphin