Mixing ForkAwesome icons too much with the regular icon theme doesn't look
good (depending on the theme) so let's prefer ForkAwesome icons within the
tray widget which already uses ForkAwesome in some places like certain
buttons and models. This makes it also look more in-line with Syncthing's
web UI. For context menus and dialogs let's prefer system icons because
there are hardly any ForkAwesome icons used/required so far and it is maybe
nicer to be in-line with the system here.
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
If there's a configured and local Syncthing connection and we're on a
non-UNIX platform which doesn't support SIGTERM (basically Windows) it
makes sense to use the REST-API instead. That's likely better than just
terminating the process forcefully.
This doesn't cover the stop button within the launcher settings yet because
from this context is isn't clear which connection is relevant as there can
be multiple tray icons/widgets but only one settings page.
This gets a little bit too small and with "Consider window frame size
within centerWidgetAvoidingOverflow()" in qtutilities it shouldn't be
required anymore.
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.
* 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
* See https://github.com/Martchus/syncthingtray/issues/59
* QCoreApplication::aboutToQuit() does not work reliably but terminating
only at the end of the session is a common use-case for the tray
application. So workaround the problem by saving the settings
immediately.
* The plasmoid already does this anyways.
This is useful because sometimes the background color of the system
tray is dark but the overall system UI still uses a light theme.
For the Plasmoid this should never be the case, though. Hence the
extra settings are not available there.
* Take the time the launcher is active into account (in the same
way as it is done for the systemd service)
* Fix case when systemd service would be relevant but configured
to consider the launcher status