Commit Graph

1624 Commits

Author SHA1 Message Date
e84b0ec0b0 Update release date 2023-06-06 11:09:22 +02:00
49c9338eeb Update translations 2023-06-06 10:53:09 +02:00
f9d5e08a0d Update libsyncthing to v1.23.5 2023-06-06 10:52:43 +02:00
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
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
7358c25d28 Improve README 2023-05-23 19:55:30 +02:00
9733be4d16 Don't hardcode Plasma version for fileitemaction install directory 2023-05-21 20:56:40 +02:00
41b26d7f71 Avoid another warning about shadowing 2023-05-21 19:08:46 +02:00
fdb9e613ef Avoid warning about shadowing by removing useless variables 2023-05-21 18:57:24 +02:00
bccd953274 Avoid C++20 compatibility warning 2023-05-21 18:56:56 +02:00
2e3c92cec9 Update translations 2023-05-18 23:57:54 +02:00
cca3a8b364 Show "Points to …" in setup detection only if autostart is enabled
Otherwise the path will just be empty.
2023-05-18 23:52:23 +02:00
bc736214dd Allow keeping existing autostart entry in wizard 2023-05-18 23:50:27 +02:00
9f2e2819c6 Use generic toInt() function which relies less on compiler optimizations 2023-05-18 00:53:37 +02:00
dfe7759116 Update translations 2023-05-11 23:48:58 +02:00
3d9dffe813 Hide last seen row for own device 2023-05-11 23:47:04 +02:00
42a0d9c9f7 Show the connection type of a device 2023-05-11 23:44:10 +02:00
1ea029f2a2 Avoid use of non-standard escape sequence 2023-05-11 23:43:18 +02:00
f1bcd20a83 Update translations 2023-05-11 17:57:46 +02:00
d3a559446f Apply clang-format 2023-05-11 17:57:22 +02:00
35eb90e88c Ignore deprecation warning of wait_for
This function might not be completely reliable but it is
supposedly good enough for the use cases of
`SyncthingProcess::waitForFinished()`.
2023-05-11 17:57:04 +02:00
0240f2a9a3 Improve recent autostart-related changes further
* Improve function documentation
* Improve regex to better handle quoting
* Avoid using function only available as of Qt 6.3
2023-05-11 17:50:16 +02:00
e94f2c3bcc Update translations 2023-05-11 01:16:26 +02:00
eb1b81a8d4 Enable auto-connect via the wizard
This setting should normally not hurt and is likely a better default.
2023-05-11 01:13:05 +02:00
603ba1206e Avoid warnings about unused variables when compiling without systemd support 2023-05-11 00:55:12 +02:00
29ada0f040 Override existing startup entry in wizard; show remark about it in summary 2023-05-11 00:54:42 +02:00
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
e703ddd524 Allow overriding single instance ID via env variable 2023-05-03 21:18:03 +02:00
9de830adcd Update title of section about dark mode under Windows
The phrase "missing support" is at this point no longer fitting.
2023-05-03 20:11:15 +02:00
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
208391acf7 Ensure _WIN32_WINNT is set for Boost.Process
Apparently is is not always set when using MSVC (not sure in which cases it
is missing).
2023-05-01 20:58:40 +02:00
e9135d735a Update translations 2023-04-29 21:08:29 +02:00
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
0c733837ce Fix showing directory errors in plasmoid 2023-04-26 20:30:23 +02:00
081ce235bf Improve coding style in SyncthingFileItemAction 2023-04-19 22:48:56 +02:00
ae6b8712cb Re-connect if Syncthing appears to be restarted
* This is now required after 843f164d which uses event IDs
  instead of time stamps and event IDs reset when Syncthing has
  been restarted.
* It is likely a good idea to cleanly re-connect anyways.
* This change re-introduces the previously uneffective and hence
  removed code (see 8c74b240). It fixes the code to effectively
  make sure a re-connect is continued once it has been started.
  So this change should fix the re-connect not working in
  certain cases.
2023-04-15 22:51:55 +02:00
c6a5b40a1d Re-connect when event ID is decreasing 2023-04-15 22:25:12 +02:00
c07f9345b1 Improve wording of comment 2023-04-15 22:25:07 +02:00
8c74b24045 Remove uneffective code when handling reply
Calling `handleAdditionalRequestCanceled();` when `handleAborting`
is true is useless because then also `m_abortingAllRequests` is true
and therefore `handleAdditionalRequestCanceled();` always returns
early doing nothing.
2023-04-15 22:02:43 +02:00
d510b34abb Update translations 2023-04-15 20:36:18 +02:00
d2bbbab4f2 Remove remark about default browser when built-in web view disabled
This is now misleading as it depends on the general web settings. The
presence of this new settings tab alone should make it clear what will
happen instead so the sentence can just be dropped.
2023-04-15 20:35:24 +02:00
fc8ab2e845 Improve coding style
Improve coding style, mainly in SynctingConnection, for better
consistency with more recently added code.
2023-04-15 20:28:51 +02:00
d3901cee37 Don't reset last event IDs when connecting again
When connecting again, no data is cleared. Since we now keep
track of event IDs and not just timestamps it makes sense to not
forget what the last event IDs were. To still run into the
"limit" case the flags for having events at all can be used
(which is also reset on just `connect()`).
2023-04-15 20:08:21 +02:00
843f164df1 Avoid potentially losing events
I have observed that Syncthing Tray can get stuck thinking a remote device
still needs data. Likely the update got lost. The code contains certain
conditions in which folder completion events and requesting completion are
supressed. Those conditions are based on timestamps. That is not ideal as
the accuracy is only one second (so different timestamps might be
considered equal as they are rounded to be the same). Additionally, it
makes no sense to assume a timestamp upon receiving a response as the
information might be older than the time it was received.

This change avoids those conditions. It rather uses the event ID to
decide what event/reply is newer.

This change also uses quint64 instead of int for event IDs to avoid running
into an overflow (or rather conversion error) when deserializing the ID
which might be bigger than int. (Not sure how big the ID can become; this
is to be on the safe side.)
2023-04-15 16:18:23 +02:00
ecfb346344 Bump library version 2023-04-15 16:18:23 +02:00
cba2f1874b Bump patch version 2023-04-15 16:18:23 +02:00
314d51ffac Update release date 2023-04-06 01:08:43 +02:00
e8e8d7ca33 Update translations 2023-04-06 01:05:44 +02:00
a5f1ffd439 Never check option for built-in web view when disabled
Even if configured in the settings, check the option to
use a browser tab as this will be used as fallback.
2023-04-06 01:03:13 +02:00
c08d6e54be Save general web view settings persistently also when built-in web view disabled 2023-04-06 00:58:58 +02:00