The following uses of QCC1/PlasmaComponents2 remain:
```
…/DetailView.qml:import org.kde.plasma.components 2.0 as PlasmaComponents // for Menu and MenuItem
…/DevicesPage.qml:import org.kde.plasma.components 2.0 as PlasmaComponents // for Menu and MenuItem
…/DirectoriesPage.qml:import org.kde.plasma.components 2.0 as PlasmaComponents // for Menu and MenuItem
…/DownloadsPage.qml:import org.kde.plasma.components 2.0 as PlasmaComponents // for Menu and MenuItem
…/FullRepresentation.qml:import org.kde.plasma.components 2.0 as PlasmaComponents // for vertical TabBar
…/RecentChangesPage.qml:import org.kde.plasma.components 2.0 as PlasmaComponents // for Menu and MenuItem
…/TopLevelView.qml:import org.kde.plasma.components 2.0 as PlasmaComponents // for Highlight and DialogStatus.Closed (used with Menu and MenuItem)
```
* Use flags from CMake's variables (initialized from environment variables)
including build type specific variables
* Consider LDFLAGS as well; there's actually linking going on¹
¹Otherwise Go's build system wouldn't run into this error
```
# github.com/DataDog/zstd
/usr/lib/gcc/i686-w64-mingw32/10.2.0/../../../../i686-w64-mingw32/bin/ld: $WORK/b259/_x008.o:entropy_common.c:(.text+0xaa): undefined reference to `__memcpy_chk'
/usr/lib/gcc/i686-w64-mingw32/10.2.0/../../../../i686-w64-mingw32/bin/ld: $WORK/b259/_x033.o:zstd_v01.c:(.text+0x1b84): undefined reference to `__memcpy_chk'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
```
which is caused by LDFLAGS being inconsistent with CFLAGS.
* Pass C/C++ flags from CMake to CGo
* Allow overriding flags passed via "-ldflags"
* Add default GOFLAGS and add CMake variable to override GOFLAGS
* `-trimpath`: Prevent embedding full paths
* `-modcacherw`: Ensure that go modules creates a write-able path
* `-mod=readonly`: Ensure the module files are not updated in any go actions
* Use the name as sorting criteria and fall back to the ID if there's no
name
* Use new SyncthingSortFilterDirectoryModel also for Plasmoid's filtering
* See https://github.com/Martchus/syncthingtray/issues/75
* Support triggering actions via the context menu in the regular tray like
it is already possible in the Plasmoid
* Support copying via the context menu in the Plasmoid like it is already
possible in the regular tray
* Reduce repetition of coding patterns using templates
Specifying the with explicitely on every level seems to fix this. Not sure
whether it is the best solution but Qt 6 will likely mess up everything
anyways so let's not put further effort into the QML stuff at this point.
Apparently just setting HOME does not work anymore. At least in my Plasma
setup XDG_DATA_HOME and XDG_CONFIG_HOME are now interfering. This change
introduced an extra helper script to take care of the environment variables
which unsets the XDG_… variables and also takes care of QT_PLUGIN_PATH by
the way.
* Syncthing Tray can be considered stable enough
* Syncthing itself also made a 1.… release some time ago
* The backend libraries still do *not* provide a stable API, see section
"Using backend libraries" in README.md