Commit Graph

52 Commits

Author SHA1 Message Date
Martchus 9dcd1c268b Disable the autostart setting via `NO_AUTOSTART_SETTINGS` also in wizard 2024-05-19 16:28:44 +02:00
Martchus 1ca2eecbf1 Allow disabling autostart settings
This is useful when the target platform/packaging is not actually supported, e.g.
currently the code does not work when Syncthing Tray is packaged as Flatpak.
2024-05-18 14:13:38 +02:00
Martchus eb4c1ac761 Update default CLI parameters of the launcher
* Use command syntax and double-dashes to be in-line with what Syncthing's
  help text suggests
* Drop the `--no-restart` parameter; I probably only added it after
  checking what flags the systemd-unit file specifies. However, the
  systemd-unit file specifies `--no-restart` only because restarts are
  handled by systemd in that case. For the launcher of Syncthing Tray it
  makes probably more sense to keep restarts enabled by default.
2024-04-26 20:38:14 +02:00
Martchus f04d959ef4 Preserve size when selecting a status icon color preset
It is probably not the expected behavior that selecting a preset also
reverts the rendering resolution to the default value.
2024-04-26 20:27:59 +02:00
Martchus 1283faff96 Fix compatibility with Qt < 6.7 2024-04-19 12:59:34 +02:00
Martchus d99fadd1f1 Allow stopping the systemd service automatically on metered connections
This is the same as the feature already present in the launcher and
connection settings. Not sure how much sense it makes for systemd services
as they run rather independently from the UI but maybe it is useful.
2024-04-19 00:04:48 +02:00
Martchus 6b7d916914 Make autostart entry for GNU/Linux more robust
* Add `--wait` parameter so Syncthing Tray will wait until the tray becomes
  available; this might help if Syncthing Tray is started by the desktop
  environment before the tray is available (unless it is started too soon
  even for that)
* Add `X-LXQt-Need-Tray=true` to ensure the system tray is available on
  LXQt because just `--wait` might not be sufficient here (according to
  https://github.com/Martchus/syncthingtray/issues/240); this is in-line
  with the autostart entry of https://github.com/lxqt/lxqt-powermanagement
2024-03-16 00:14:44 +01:00
Martchus ae77b3071a Clarify the meaning of libsyncthing's directories via tooltips 2024-03-09 11:53:13 +01:00
Martchus 8bc45de18d Remove unused header in `setupdetection.h` 2024-03-09 11:40:15 +01:00
Martchus 53f4ac6fcb Consider metered setting also when autostarting Syncthing 2024-03-07 01:10:34 +01:00
Martchus 1e9d9274cb Apply setting to stop on metered connection immediately
Just setting this when launching is not enough because then enabling or
disabling the setting while Syncthing is already running doesn't work.
2024-02-26 16:08:12 +01:00
Martchus 827251004e Configure checkboxes for metered connection also if there's no launcher
Otherwise the checkbox is just visible but doesn't do anything.
2024-02-19 18:33:27 +01:00
Martchus 45c48d989b Improve form layout in connection option page 2024-02-19 18:31:25 +01:00
Martchus d2dc15fdde Make it more clear when the options regarding metered connections are not available
Since this feature will likely not be available in mingw-w64-based builds of
the next release (due to missing cppwinrt) it is important to make it clear
when those options don't actually work. With this change the checkboxes are
completely disabled in case the feature is not available (instead of just
providing the information via the tooltip).
2024-02-17 18:07:46 +01:00
Martchus ed1ac2c2ed Fix sizing/wrapping/clipping problem of note in connection settings 2024-02-15 22:01:21 +01:00
Martchus 30fa37f048 Allow to pause automatically on metered network connections
* Allow to pause all devices on metered network connections (devices will
  be automatically resumed when network is no longer metered)
* Allow to stop Syncthing when it was started via the built-in launcher
  on metered network connections (it will be automatically started again
  when the network connection is no longer metered)
* See https://github.com/Martchus/syncthingtray/issues/231
2024-02-15 21:02:18 +01:00
Martchus 01fe57492c Add and update tab-stops explicitly where default order is wrong 2024-01-07 22:30:48 +01:00
Martchus 26f468471a Revert "Use `QWizard::AeroStyle` also with Qt 6.7's `windows11` style"
This reverts commit 8cac56c246 and extends
the related comment as the new Windows 11 style actually supports custom
palettes and then wizard's aero style breaks in the same way as with
Fusion.
2023-12-23 23:51:44 +01:00
Martchus 549be45b55 Mock setting the autostart path in the wizard test
This test would keep the autostart disabled but override an existing
autostart entry (see https://github.com/Martchus/syncthingtray/issues/221).
With this change it will no longer override an existing entry. Reading and
writing the autostart entry is now mocked and properly checked.
2023-12-22 17:33:21 +01:00
Martchus 8cac56c246 Use `QWizard::AeroStyle` also with Qt 6.7's `windows11` style
This is likely going to work as the `windows11` style seems to be a
continuation of the `windowsvista` so let's give it a try.
2023-12-15 15:50:08 +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 b4879bb23e Hide/show advanced configuration properly using `setRowVisible()`
This makes the code simpler and avoids inconsistent spacing. Unfortunately
this function has only been introduced in Qt 6.4 so the old code has to
stay for older Qt versions.
2023-11-06 16:02:12 +01:00
Martchus fada3c98dd Allow configuring long-polling timeout 2023-11-06 15:06:40 +01:00
Martchus c8b4c1e435 Hide advanced connection config by default
The configuration page is getting too big otherwise.
2023-11-06 12:47:32 +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 c811b06d6b Configure HTTPS certificate via wizard 2023-09-04 20:34:38 +02:00
Martchus 7e651be694 Fix compilation against Qt < 5.15 for Leap 15.3 builds 2023-07-11 11:55:39 +02:00
Martchus 46d84a0f64 Allow configuring transfer timeout for requests in UI 2023-07-04 19:18:18 +02:00
Martchus 690804be5c Add the request timeout to SyncthingConnectionSettings 2023-07-04 19:01:08 +02: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 091ec35580 Stop built-in Syncthing instance synchronously
So `Launcher::terminate()` exits when really everything has terminated and
not just sub processes. It may nevertheless be worthwhile to implement a
timeout.

This may help with
https://github.com/Martchus/syncthingtray/issues/180#issuecomment-1582465960.
2023-06-09 13:13:55 +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 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 d3a559446f Apply clang-format 2023-05-11 17:57:22 +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 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 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 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
Martchus c08d6e54be Save general web view settings persistently also when built-in web view disabled 2023-04-06 00:58:58 +02:00
Martchus 4b77c313eb Fix compilation with Qt < 6.1.0 on Windows 2023-04-04 22:59:40 +02:00
Martchus 3fd45accde Allow configuring custom command for launching Chromium-based browser 2023-03-31 22:46:25 +02:00
Martchus 2767c9484a Fix size of wizard's window icon when using Aero-style
Apparently `wizardStyle()` does not return `QWizard::AeroStyle` at this
point of construction, even if that style will be used.
2023-03-28 23:56:23 +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