Commit Graph

139 Commits

Author SHA1 Message Date
Martchus 548251f538 Fix positioning issues with remote file browser 2024-04-06 19:38:54 +02:00
Martchus 93b5d66875 Allow browsing remote/global files 2024-04-05 01:30:00 +02:00
Martchus dee94844be Fix compilation with Qt < 6.6 2024-02-22 16:57:02 +01:00
Martchus 43caad8676 Ensure Fork Awesome icons are re-rendered on device pixel ratio change 2024-02-22 01:10:04 +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
John Veness c2a0eee029 Change Directory to Folder in user-facing strings 2023-09-17 19:33:31 +01:00
Martchus 4effd6045b Dynamically retranslate some aspects of the UI
There are still many places missing but this is a first step.
2023-07-03 00:56:19 +02:00
Martchus 13730ab933 Ignore "Forbidden" errors shortly after Syncthing start
Not sure why I'm getting

```
Fehler beim Abfragen der Syncthing-Konfiguration: Error transferring http://127.0.0.1:8384/rest/system/config - server replied: Forbidden
URL der Anfrage: http://127.0.0.1:8384/rest/system/config
```

one one of my setups but this kind of error can likely be ignored shortly
after the start similar to other types of errors.
2023-06-30 12:43:06 +02:00
Martchus c6b03ae0aa Show "Connecting …" status via "Connect/Resume/Pause" button
This makes it more obvious that Syncthing Tray is currently connecting to
Syncthing (instead of just hiding the button completely).
2023-06-20 23:21:21 +02:00
Martchus 240155b534 Apply clang-format 2023-06-08 15:34:06 +02:00
Martchus 6a16333dfd Update statistics icons dynamically when color palette changes 2023-06-08 14:04:16 +02:00
Martchus 58b8a4e540 Allow showing Syncthing UI in Chromium-based browser in "app mode"
See https://github.com/Martchus/syncthingtray/issues/178
2023-03-27 20:28:52 +02:00
Martchus 9566623651 Apply Qt settings during runtime
It is no longer required to restart the application to change settings like
the widget style and palette.
2023-03-26 21:32:53 +02:00
Martchus 70e94bcd3c Re-evaluate the default icon theme when the color palette changes
So far the Plasmoid is not covered. It would likely not be very useful
anyways because under GNU/Linux the default icon theme can be determined
from the system and thus the "fallback" default this change is about is not
effective.
2023-03-23 22:43:59 +01: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 10c656cc5e Show error when settings cannot be restored or saved
* State the error type and location of the relevant file
* Help debugging problems related to settings
2023-02-17 19:20:10 +01:00
Martchus 4d96f791b6 Apply clang-format 2023-01-28 20:19:43 +01:00
Martchus 802937264b Simplify code by removing dialog parent 2023-01-28 18:35:50 +01:00
Martchus e9eeb76578 Fix displaying QR-code in wizard when built-in launcher is used
In this case the connection from the setup detection is not the correct
one. The connection used to apply the settings should generally be used for
querying the QR-code.
2023-01-09 16:01:37 +01:00
Martchus 6c89b2dc0a Allow disabling positioning at fallback coordinates
This just turns the "Otherwise assume …" label into a checkbox allowing to
disable the fallback behavior completely.
2022-11-29 23:33:28 +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 ace27f9e9c Fix saving pinned state persistently 2022-10-07 23:15:25 +02:00
Martchus 9220d66add Allow pinning tray menu (still experimental) 2022-10-07 22:59:17 +02:00
Martchus d82bc710fd Allow using system icons instead of ForkAwesome icons
* 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
2022-10-07 00:20:50 +02:00
Martchus 4896261ef9 Allow opening launcher settings from wizard in case of an error to check logs 2022-10-02 20:33:07 +02:00
Martchus b0d1197cb7 Implement launcher and systemd configuration in wizard 2022-10-02 19:24:26 +02:00
Martchus bd5b93d311 Implement completion of wizard
Applying settings is still only implemented for one of the cases.
2022-10-01 22:25:33 +02:00
Martchus 442aee992a Unify code for showing wizard 2022-10-01 20:25:21 +02:00
Martchus 66948336d5 Allow to disable tab texts (to shown only icons anymore)
When configuring a smaller size for the Qt Widgets based UI it might be
preferred to show only the icons instead of having the tab buttons
overflow.
2022-09-05 21:56:22 +02:00
Martchus 01f722c690 Unify code for about dialog image and attribution
It is the same for all components so define it at one place.
2022-08-25 20:35:02 +02:00
Martchus 394af9bce7 Improve first launch message in preparation for adding a setup wizard 2022-08-06 21:08:55 +02:00
Martchus 788a5b2947 Allow opening dir in file browser if path contains tilde
See https://github.com/Martchus/syncthingtray/issues/148
2022-08-02 20:15:24 +02:00
Martchus 2139b204e3 Determine whether to use bright custom colors automatically 2022-07-16 19:28:31 +02:00
Martchus 28aa9a516c Have directory ID still accessible in recent changes despite showing name
Show it as tool tip and allow copying it via the context menu
2022-04-09 14:52:00 +02:00
Martchus 3d2930cb1d Use `file-text` icon for log as it looks more in-line with the other icons 2021-11-13 22:49:45 +01:00
Martchus e81166cd79 Fix several warnings when building against Qt 6 2021-11-04 00:16:27 +01:00
Martchus 5b9b69625b Remove surplus brace in about dialog 2021-11-04 00:04:41 +01:00
Martchus c1f3e57a9c Use ForkAwesome icons in consistency with Syncthing's official GUI
* Use single cog for settings (instead of cogs)
* Use "refresh" for re-scanning all dirs (instead of search)
2021-11-02 18:01:00 +01:00
Martchus 7b6121cb05 Use ForkAwesome icons more consistently in tray widget
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.
2021-10-15 00:23:22 +02:00
Martchus 3bf50fb414 Use Syncthing icon from ForkAwesome for buttons/menus
This should look more consistent than abusing the state-specific "idling"
icon.
2021-10-10 20:44:22 +02:00
Martchus 0b801bc505 Make internal errors also accessible when starting with `--windowed`
* Show the button for the internal errors dialog in the tray widget like it
  is done when the `UNIFY_TRAY_MENUS` config is activated
2021-10-09 01:14:54 +02:00
Martchus f384d2a496 Use "qrcode" icon from ForkAwesome
It fits better than "view-barcode" from the icon theme. This also tests
using ForkAwesome icons via the custom icon engine. Unfortunately this
does not seem to work within the Plasmoid so far.
2021-09-15 20:37:21 +02:00
Martchus 66448a0774 Adapt to changes in qtforkawesome 2021-09-11 16:45:09 +02:00
Martchus 43fcb9f71b Migrate to ForkAwesome
* FontAwesome uses a propritary build system so let's move to its fork
  ForkAwesome similar to Syncthing
    * See https://github.com/syncthing/syncthing/pull/5237
* Bundle the font file instead of having the SVGs directly within
  Syncthing Tray's own repository
2021-09-11 02:20:38 +02:00
Martchus 0ef3b80447 Fix typos found via `codespell --skip .git -w` 2021-07-03 19:29:49 +02:00
Martchus 0faacaa7c8 Terminate Syncthing gracefully via REST-API on non-UNIX platforms
If there's a configured and local Syncthing connection and we're on a
non-UNIX platform which doesn't support SIGTERM (basically Windows) it
makes sense to use the REST-API instead. That's likely better than just
terminating the process forcefully.

This doesn't cover the stop button within the launcher settings yet because
from this context is isn't clear which connection is relevant as there can
be multiple tray icons/widgets but only one settings page.
2021-06-21 23:18:51 +02:00
Martchus c51379cdbd Remove obsolete comment 2021-03-31 22:47:10 +02:00
Martchus 3fb621875c Don't assign minimum size if dialog would overflow
This gets a little bit too small and with "Consider window frame size
within centerWidgetAvoidingOverflow()" in qtutilities it shouldn't be
required anymore.
2021-03-24 21:26:15 +01:00
Martchus 8c4e2168bc Avoid misplaced/clipped dialogs when default dialog size doesn't fit screen
https://github.com/Martchus/syncthingtray/issues/89
2021-03-24 14:40:59 +01:00
Martchus f75966aadc Fix warnings 2021-03-20 22:39:40 +01:00