* Use header (with integrated buttons when shown as part of the system tray
Plasmoid)
* Use less space so it fits into the system tray plasmoid (at least on a
full HD screen with 96 dpi)
* Show action for internal errors only if there are internal errors (like
in the Qt Widgets based GUI)
* Port away from deprecated tab bar (which is not used in official
Plasmoids anymore as well)
* Simplify code for ensuring the minimum size as configured (still does
not work within the system tray Plasmoid)
It fits better than "view-barcode" from the icon theme. This also tests
using ForkAwesome icons via the custom icon engine. Unfortunately this
does not seem to work within the Plasmoid so far.
* FontAwesome uses a propritary build system so let's move to its fork
ForkAwesome similar to Syncthing
* See https://github.com/syncthing/syncthing/pull/5237
* Bundle the font file instead of having the SVGs directly within
Syncthing Tray's own repository
Loading the icon for the button from resources ceased to work (maybe when
switching to `PlasmaComponents3.ToolButton`). This change works around the
problem and the old icon no longer needs to be bundled.
So far the backend libraries' include paths were relative within this
repository. This means the header files could not be used at their
installed location.
This change replaces them with "<>" includes to fix that problem and adds
a new include directory so building everything at once still works.
With this change it should be easier to actually split some parts into
another repository if this one would become too big.
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 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.