Pass a widget when invoking `QStyle::drawControl()`; the Windows 11 style
uses the widget unconditionally.
Considering the documentation explicitly states `The widget argument is
optional` and the default value for the function argument is `nullptr` this
is supposedly a bug in Qt.
* Avoid multiple definitions of `centerObj()`; this was very bad anyway
* Include `c++utilities/tests/testutils.h` upfront so the formatting
operators are included before CppUnit
* Allow using icons from freedesktop.org icon theme for most ForkAwesome
icons if available
* Let's not use it for the nested list of details in the models for now
* See https://github.com/Martchus/syncthingtray/issues/121
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.
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.