Commit Graph

20 Commits

Author SHA1 Message Date
Martchus c36b3223f1 Fix displaying issues with Windows 11 style
* 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
2023-12-25 00:48:29 +01:00
Martchus 04a8905a83 Allow opening Syncthing directly when clicking on tray icon
This might be useful if minimalism is desired or to avoid positioning
issues on Wayland.
2023-11-10 14:33:03 +01:00
Martchus 784630104d Save position and size of window after is has been moved/resized
* 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
2023-10-06 21:03:40 +02:00
Martchus a9cc948099 Allow resizing/moving tray widget
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).
2023-10-06 17:05:40 +02:00
Martchus 1b72e61c86 Allow to use a window without titlebar
This might look better than a popup on Windows 11 because we'd still get
the round window corners.
2023-02-18 21:27:09 +01:00
Martchus 4fc3777a9e Paint tray menu background as normal widget when shown as normal window 2022-12-10 12:07:06 +01:00
Martchus 71c56edfd8 Allow showing Syncthing Tray as normal application/window
* Remove experimental pinning feature again and instead allow using a
  normal window
    * Pinning made it inconvenient to close the (frameless) window again
    * Pinning required hiding/showing the window which didn't look very
      nice (and setting flags directly via `QWindow` didn't work as well)
* As normal application/window positioning issues on Wayland are less
  problematic (and those aren't going to be fixed any time soon, if at all)
2022-11-29 23:06:15 +01:00
Martchus 9220d66add Allow pinning tray menu (still experimental) 2022-10-07 22:59:17 +02:00
Martchus bcb2b49b72 Don't use lower-case Qt macros 2020-03-08 13:50:32 +01:00
Martchus 1bdba31c70 Improve behavior under Wayland
* Add workaround for using QCursor::pos()
* Set window flags and parent of TrayMenu to it is shown
  like a context menu
2019-07-27 15:04:14 +02:00
Martchus 533a5d0939 Use override 2018-10-10 21:26:46 +02:00
Martchus 49b33e5afe Ensure errors on first connection after startup are handled 2018-05-15 22:01:03 +02:00
Martchus 988765f2ba Show new dev/dir notifications in usual tray icon and Plasmoid 2018-05-01 22:27:03 +02:00
Martchus 146d4870e4 Refactor preventing unwanted error messages
* See https://github.com/Martchus/syncthingtray/issues/15
* Not tested yet
2018-04-02 20:35:30 +02:00
Martchus 79fe97d952 Refactor notifications
* Use SyncthingNotifier class
* Show 'Sync complete' on FolderCompletion event
* Add extra structure for stats
2018-01-27 23:27:50 +01:00
Martchus 69ffaeb1f3 Apply tidy after updating to clang-format 5.0.0
The behavior of clang-format slightly changed in Clang 5.0.0:
http://releases.llvm.org/5.0.0/tools/clang/docs/ReleaseNotes.html#clang-format
2017-09-17 21:48:15 +02:00
Martchus 7b19be01f2 tray: Allow specifying name of initial connection via CLI
This includes refactoring TrayWidget::applySettings() which
is now a member function and only affects the current instance.

This prevents applying settings on every instance every time
a new tray widget is created.

To apply settings for all tray widgets, the static function
TrayWidget::applySettingsOnAllInstances() is used instead.
2017-08-09 01:11:47 +02:00
Martchus 732a5fdd8d Apply clang-format 2017-05-01 03:34:43 +02:00
Martchus 6c99293087 Allow triggering current tray 2016-12-26 19:50:10 +01:00
Martchus 6470038fc7 Refactor to allow sharing backend with other apps
Intended for creating command line tool and plasmoid
2016-09-30 23:58:45 +02:00