Commit Graph

1929 Commits

Author SHA1 Message Date
Martchus 6a16333dfd Update statistics icons dynamically when color palette changes 2023-06-08 14:04:16 +02:00
Martchus bca1e1bda5 Avoid warning about unreferenced variable 2023-06-08 12:33:11 +02:00
Martchus dd936b4a81 Workaround lupdate not understanding "enum class" in some cases
Apparently this is still problematic leading to errors like
`Qualifying with unknown namespace/class`. It seems that moving the enum to
a different header file works. The trick to use a macro to define
`enum class` ceased to work on the other hand.

Specifying a function with the namespace like
`void QtGui::FinalWizardPage::showResults()` leads to the same problem and
also needs to be avoided.
2023-06-07 23:14:48 +02:00
Martchus 925ce383f0 Fix condition and code in `supposedAutostartPath()`
The `1 || ` was just a debugging leftover.
2023-06-07 22:08:53 +02:00
Martchus 0a66248ab3 Bump patch version 2023-06-07 21:43:38 +02:00
Martchus e84b0ec0b0 Update release date 2023-06-06 11:09:22 +02:00
Martchus 49c9338eeb Update translations 2023-06-06 10:53:09 +02:00
Martchus f9d5e08a0d Update libsyncthing to v1.23.5 2023-06-06 10:52:43 +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 7358c25d28 Improve README 2023-05-23 19:55:30 +02:00
Martchus 9733be4d16 Don't hardcode Plasma version for fileitemaction install directory 2023-05-21 20:56:40 +02:00
Martchus 41b26d7f71 Avoid another warning about shadowing 2023-05-21 19:08:46 +02:00
Martchus fdb9e613ef Avoid warning about shadowing by removing useless variables 2023-05-21 18:57:24 +02:00
Martchus bccd953274 Avoid C++20 compatibility warning 2023-05-21 18:56:56 +02:00
Martchus 2e3c92cec9 Update translations 2023-05-18 23:57:54 +02:00
Martchus 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
Martchus bc736214dd Allow keeping existing autostart entry in wizard 2023-05-18 23:50:27 +02:00
Martchus 9f2e2819c6 Use generic `toInt()` function which relies less on compiler optimizations 2023-05-18 00:53:37 +02:00
Martchus dfe7759116 Update translations 2023-05-11 23:48:58 +02:00
Martchus 3d9dffe813 Hide last seen row for own device 2023-05-11 23:47:04 +02:00
Martchus 42a0d9c9f7 Show the connection type of a device 2023-05-11 23:44:10 +02:00
Martchus 1ea029f2a2 Avoid use of non-standard escape sequence 2023-05-11 23:43:18 +02:00
Martchus f1bcd20a83 Update translations 2023-05-11 17:57:46 +02:00
Martchus d3a559446f Apply clang-format 2023-05-11 17:57:22 +02:00
Martchus 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
Martchus 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
Martchus e94f2c3bcc Update translations 2023-05-11 01:16:26 +02:00
Martchus 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
Martchus 603ba1206e Avoid warnings about unused variables when compiling without systemd support 2023-05-11 00:55:12 +02:00
Martchus 29ada0f040 Override existing startup entry in wizard; show remark about it in summary 2023-05-11 00:54:42 +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 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
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 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
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 0c733837ce Fix showing directory errors in plasmoid 2023-04-26 20:30:23 +02:00
Martchus 081ce235bf Improve coding style in SyncthingFileItemAction 2023-04-19 22:48:56 +02:00
Martchus 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
Martchus c6a5b40a1d Re-connect when event ID is decreasing 2023-04-15 22:25:12 +02:00
Martchus c07f9345b1 Improve wording of comment 2023-04-15 22:25:07 +02:00
Martchus 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
Martchus d510b34abb Update translations 2023-04-15 20:36:18 +02:00
Martchus 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
Martchus 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
Martchus 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
Martchus 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
Martchus ecfb346344 Bump library version 2023-04-15 16:18:23 +02:00