* 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
Map context menu coordinates to top-level widget if the top-level
widget is a QMenu. Otherwise the context menu is not displayed at
the right position. Not sure why this workaround is required.
The check for QMenu is required. Otherwise the "windowed" mode
enabled via --windowed CLI argument would not work anymore. In
this mode the top-level window is a regular window.
Adding the window flags Qt::Sheet or Qt::Dialog to the QMenu
would help as well but that prevents closing the menu (see
https://github.com/Martchus/syncthingtray/issues/41).