When Syncthing restarts itself, its main process is not terminating (as its
main process is just a monitoring process). The "Consider process status …"
feature was relying on the process being stopped and started again as
trigger for trying to re-connect, though. To make it also work when
Syncthing restarts itself, this change checks the log for an exiting
message of the monitoring process and considers the process running again
when the GUI address is logged again.
This fixes https://github.com/Martchus/syncthingtray/issues/236.
Notifications are not (yet) suppressed. (Not sure how easy it is and how
much sense it makes.)
Make use of all Qt features conditional that are not supported on the
web assembly platform (mainly TLS support and QProcess).
Note that HTTPs is supposed to work nevertheless as long as the certificate
matches (with the usual corss-site scripting limitations).
This is probably not a very useful action but a first step to manipulate
ignore patterns based on a selection in the file browser. It has not been
tested very well but the whole feature is behind a feature flag so that is
ok for now.
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
* Remove the old approach to specify actions as it is lacking the `Actions`
key and doesn't allow customizing the executable name
* Add actions for most important use cases
Syncthing added shell completion in v1.27.3-rc.1 (commit
78db3af8c5e8bd08a9773b0c4da233a52ed4cfe6). This change integrates
that shell completion with Syncthing Tray's long existing completion (which
only supports Bash so far).
* Set content margins to take shadow effects into account
* Fix behavior when showing the QMenu not as `Qt::Popup`
* Prevent polishing as it would wrongly override our window flags
* Use the background color from the application's palette as the
background color from the QMenu itself is changed by the Windows 11
style
* Remember new size after user resized the window
* Remember new position after user repositioned window and using explicit
coordinates has been configured in the appearance settings
This might be useful on Wayland where positioning the popup is otherwise
not possible at all. Combined with a session restoration mechanism this
might actually be a feasible workaround. The user just needed to position
the popup once wherever it is wanted to show up and then the compositor
could remember that position.
Especially the resizing would also be useful on other platforms (and is by
the way also already possible when using the Plasmoid showing it as part of
the system tray Plasmoid).