# Testing and debugging Plasma 5 plasmoid with Qt Creator The following instructions allow to test the Plasmoid by installing it in a test directory rather than the regular home to separate testing from production. 1. Build as usual, ensure `NO_PLASMOID` is turned off 2. Add build step to execute custom target `init_plasmoid_testing` which will install the Plasmoid in a test directory which is "$BUILD_DIR/plasmoid/testdir" by default 3. Add new config for run in Qt Creator and set `plasmoidviewer` (or `plasmawindowed`) as executable 4. In execution environment, set * `QT_PLUGIN_PATH` to directory containing plugin `\*.so`-file * `QT_DEBUG_PLUGINS` to 1 for verbose plugin detection * `HOME` to the test directory from step 2 so plasmoidviewer finds the Plasmoid in the test directory 5. Set `--applet martchus.syncthingplasmoid` as CLI argument 6. Ignore warning that executable is no debug build, it is sufficiant when the plugin is a debug build (see next section for QML debugging) ## Saving/restoring settings Be aware that `plasmoidviewer` will revert Plasmoid-specific settings to the defaults on startup. So it is not possible to test restoring/saving settings using it. For this use case, `plasmawindowed` can be used instead. ## Enable QML debugging To enable QML debugging, it is required to rebuild `plasmoidviewer` with QML debugging enabled. For Arch Linux, I created the package [`plasma-sdk-debug`](https://github.com/Martchus/PKGBUILDs/tree/master/plasma-sdk/debug) for that purpose. Installing this package (replacing `plasma-sdk`) should make enabling QML debugging in the *Run* section of Qt Creator work. To create a debug build of `plasmoidviewer` manually: 1. Get plasma-sdk: `git clone https://anongit.kde.org/plasma-sdk.git` 2. Create a debug build of `plasmoidviewer` and ensure `QT_QML_DEBUG` is defined when compiling `plasmoidviewer`, eg. by applying [[PATCH] Enable QML debugging](https://raw.githubusercontent.com/Martchus/PKGBUILDs/master/plasma-sdk/debug/0001-Enable-QML-debugging.patch). 3. Prepend the build directory containing the `plasmoidviewer` binary to the path variable in the build environment of Syncthing Tray. 4. Enable QML debugging in the *Run* section.