Commit Graph

380 Commits

Author SHA1 Message Date
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 33f457ef7f Update translations 2023-06-08 14:04:40 +02:00
Martchus 6a16333dfd Update statistics icons dynamically when color palette changes 2023-06-08 14:04:16 +02:00
Martchus 90a790d584 Improve CLI for running Syncthing itself
* Fix abbreviation
* Streamline with Syncthing itself so no arguments mean `serve` (and not
  `--help`)
2023-05-29 18:12:07 +02:00
Martchus b9853043fb Improve libsyncthing
* Do *not* build Syncthing in addition as standalone executalbe
* Explose instead all of Syncthing's commands via the library
  interface
* Make all of Syncthing's commands (including `serve`) accessible
  via Syncthing Tray's executable
* Remove copied code for directory creation and instead use
  upstream's code directly
2023-05-29 17:30:33 +02:00
Martchus 41b26d7f71 Avoid another warning about shadowing 2023-05-21 19:08:46 +02:00
Martchus 9f2e2819c6 Use generic `toInt()` function which relies less on compiler optimizations 2023-05-18 00:53:37 +02:00
Martchus d3a559446f Apply clang-format 2023-05-11 17:57:22 +02:00
Martchus 878e973c9d Improve auto start setting
* Do not blindly override existing auto start entry
* Warn if an auto start entry exists but points to a different executable
    * Allow removing such an entry explicitly
2023-05-11 00:11:34 +02:00
Martchus e703ddd524 Allow overriding single instance ID via env variable 2023-05-03 21:18:03 +02:00
Martchus 884ead9760 Improve startup code further to fix problems showing expecially on Windows
* Avoid overriding argv/argc via `CMD_UTILS_CONVERT_ARGS_TO_UTF8` in
  Windows-specific code when processing arguments from a 2nd instance
* Move the other startup code to main as well as they are not needed when
  processing arguments from a 2nd instance
* Improve debug logging
* Use `waitForBytesWritten()` instead of `flush()` when passing args as
  recommended by the documentation
* Avoid use of `bytesAvailable()` as it doesn't work as expected in this
  situation on Windows (likely it doesn't really work reliably on all
  platforms); calling `readAll()` works and is simpler anyways
* Tested that `--replace` works as well; also the
  `waitUntilGone && QFile::exists(fullServerName)` block is entered and if
  the previous instance is taking some time it really waits until it is
  gone
2023-05-01 21:10:09 +02:00
Martchus e9135d735a Update translations 2023-04-29 21:08:29 +02:00
Martchus c9cd81311d Improve startup/shutdown behavior; add `--replace` CLI option
* Make functions in `main.cpp` static as they are not used by
  other units
* Delete the `TrayIcon` via an extra parent object that is
  deleted before the `QNetworkAccessManager` is deleted; otherwise
  the destruction of `SyncthingConnection` (which aborts pending
  replies) might access dangling `QNetworkReply` objects
* Improve error handling in `SingleInstance` code
* Allow to replace the current instance via the new `--replace`
  argument; this may be useful when creating an installer/updater
2023-04-29 21:07:30 +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 a15c176b18 Remove symlink for README 2023-02-27 22:16:41 +01:00
Martchus b5d81eefc6 Avoid remaining symlinks for testfiles 2023-02-27 22:14:35 +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 5bf8a4e25a Update translations 2023-02-17 19:23:01 +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 243160d43a Don't hide `--show-wizard` argument anymore; it is no longer experimental 2023-02-11 17:37:49 +01:00
Martchus c7f6da6a17 Update translations 2023-01-30 16:29:29 +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 a40ccb0265 Fix broken download icon
* Use version for light theme as fallback
* Add to list of required icons used for bundling icon themes
2023-01-28 17:40:46 +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 7d8c6e7114 Update translations 2022-12-10 12:07:45 +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 24a9e63005 Apply clang-format 2022-12-10 12:06:07 +01:00
Martchus 66d485305b Avoid reference to concrete font (Noto Sans) 2022-12-06 21:36:14 +01:00
Martchus e3f230546d Adapt hack for context menu positioning issues to work in windowed mode 2022-11-29 23:41:18 +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 f6845cd5c0 Use `quickwizard` icon consistently 2022-10-30 21:40:42 +01:00
Martchus 4357c4b5f6 Avoid warning about shadowing 2022-10-30 21:26:12 +01:00
Martchus 74580d382b Allow testing systemd integration with a test unit file 2022-10-22 13:01:25 +02:00
Martchus cd53a623f1 Prevent AppStream validation message `asv-content-rating-missing`
See https://github.com/Martchus/syncthingtray/issues/158
2022-10-11 21:01:06 +02:00
Martchus 2f41fc9337 Update translations 2022-10-11 19:33:15 +02:00
Martchus 65c12ba4f8 Revert accidental changes to `traywidget.ui` 2022-10-09 12:20:30 +02:00
Martchus 157aec85ea Let appstream screenshot URL point to raw images 2022-10-08 23:53:25 +02:00
Martchus 836f51d6f6 Update translations 2022-10-08 23:43:08 +02:00
Martchus 3d8f66fe8e Update screenshots in appstream file 2022-10-08 22:03:00 +02:00
Martchus 127cd71856 Avoid re-positioning when pinning 2022-10-07 23:22:15 +02:00
Martchus ace27f9e9c Fix saving pinned state persistently 2022-10-07 23:15:25 +02:00
Martchus 0086873684 Update translations 2022-10-07 22:59:46 +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 a45bd8e60e Update translations 2022-10-04 10:53:14 +02:00