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
* Lazy initialize systemd interface and don't initialize it
at all if the unit name is empty
* Allow to supervise/control system-wide units in addition to
user units (see https://github.com/Martchus/syncthingtray/issues/61)
* Avoid redundant code
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.
* Rely not only on the FolderErrors event
* Request pull errors when opening the dialog
* Use "pullErrors" from FolderSummary
* Move code for directory error dialog into
its own class
This should fix that sometimes obsolete errors
were still displayed or actually present errors
missing.
Previously only the initial service state was considered.
After refactoring the SyncthingService initialization the
state is not known when the Plasmoid is initialized so
this limitation became obvious and had to be fixed.
Add new SyncthingLauncher class which lauches Syncthing
under the hood via external SyncthingProcess or using
libsyncthing.
Note: Launching via libsyncthing is still experimental.