Commit Graph

296 Commits

Author SHA1 Message Date
Hannah Rittich
2968898195 Allow finding of packages in namespaces 2021-10-03 02:07:18 +02:00
4517ea41b6 Update translations 2021-10-02 20:31:56 +02:00
745082f357 Redact password from URL when displaying internal errors 2021-10-02 20:31:20 +02:00
7cf56732bd Remove -no-console from default args on non-Windows platforms
* According to https://docs.syncthing.net/users/syncthing.html this flag is
  Windows-only.
* See https://github.com/Martchus/syncthingtray/issues/106
2021-08-20 14:16:48 +02:00
09e8955c06 Remove const_cast workaround for dealing with certificate errors 2021-08-07 19:42:15 +02:00
078145f354 Require qtutilities 6.5.0 for change to webviewincludes.h 2021-08-07 18:43:32 +02:00
d21c7cdf2a Port Qt WebEngine related features to Qt 6.2.0 (beta2) 2021-08-07 18:05:30 +02:00
a1d78a2f30 Update translations 2021-08-03 14:09:02 +02:00
4c6315b450 Terminate Syncthing gracefully via REST-API on non-UNIX platforms (2)
A follow up to 0faacaa7c8 to cover the stop button within the launcher
and terminating Syncthing on shutdown/exit. To find the relevant connection
the connection settings are searched for a local URL where the port matches
the port from the Syncthing process log.
2021-07-15 02:38:26 +02:00
69f466be66 Fix crash when systemd unit status changes when settings page has already been destroyed 2021-07-15 02:21:18 +02:00
44c372c78e Update translations 2021-07-03 19:34:08 +02:00
0ef3b80447 Fix typos found via codespell --skip .git -w 2021-07-03 19:29:49 +02:00
9f7a19eabc Update translations 2021-07-03 18:50:59 +02:00
9fc96a847a Add button to show Syncthing releases/downloads in launcher 2021-07-03 18:44:37 +02:00
1ccac1e145 plasmoid: Use data-error icon instead of the old emblem-important
Loading the icon for the button from resources ceased to work (maybe when
switching to `PlasmaComponents3.ToolButton`). This change works around the
problem and the old icon no longer needs to be bundled.
2021-07-01 18:26:09 +02:00
7508e59379 Update translations 2021-06-27 18:59:26 +02:00
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
1bc52ebb0f Improve Boost.Process-based SyncthingProcess
* Implement member functions required to run tests
* Add documentation
* Add minor tweaks
2021-06-17 20:32:40 +02:00
9ce9b11ba4 Use Boost.Process for launcher to cope with further sub processes
* Use a process group / job object via Boost.Process to be able to
  terminate sub processes as well
* Do not try to stop the process gracefully under Windows by posting
  WM_CLOSE because this has no effect on Syncthing anyways
* See https://github.com/Martchus/syncthingtray/issues/94
2021-06-16 22:44:48 +02:00
93f59ebf8a Apply clang-format 2021-05-27 18:16:56 +02:00
0c475f5b7e Update translations 2021-05-27 18:16:22 +02:00
5a39b6bc91 Improve displaying errors 2021-05-21 22:35:28 +02:00
91c24753e6 Polish appearance settings tab a little bit 2021-05-07 00:26:51 +02:00
d1f0519411 Avoid expanding info text in connection settings 2021-05-07 00:12:05 +02:00
cbecf9ccf2 Add an icon for every settings tab 2021-05-07 00:06:25 +02:00
ac033517cc Allow configuring rendering size of status icons
The default of 32 px should be fine in most cases and when the UI is scaled
it is also automatically scaled. However, if one has a tray area or Plasma
panel with extraordinarily big icons like latte-dock it might still be
required to render icons at a higher resolution. This is hard to determine
programmatically so I'm just adding a manual setting.
2021-04-21 18:23:20 +02:00
18352a6ce1 Show maximize button on settings dialog
So it looks nicer combined with the previous commit.
2021-03-24 15:02:05 +01:00
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
f0de7d204a Fix warning about flags for setFrameStyle() 2021-03-23 15:23:19 +01:00
f75966aadc Fix warnings 2021-03-20 22:39:40 +01:00
c84865acc1 Apply clang-format 2021-03-06 16:25:56 +01:00
dccf567e67 Update translations 2021-02-03 00:02:48 +01:00
8ec9038b2c Better decouple syncthingwidgets from libsyncthing if libsyncthing is disabled
Before this change syncthingwidgets unconditionally included the header
from libsyncthing so it couldn't be used as stand-alone library if
libsyncthing was disabled.
2021-02-03 00:01:34 +01:00
975e86c895 Allow backend libraries to be used from other projects
So far the backend libraries' include paths were relative within this
repository. This means the header files could not be used at their
installed location.

This change replaces them with "<>" includes to fix that problem and adds
a new include directory so building everything at once still works.

With this change it should be easier to actually split some parts into
another repository if this one would become too big.
2021-01-25 19:48:11 +01:00
7a5cd3c65f Fix clazy warning about detatching Qt container 2021-01-04 18:52:23 +01:00
5c47acef46 Ensure selection of status information doesn't take too much space 2021-01-02 18:02:48 +01:00
4c4fc676e6 Update translations 2021-01-01 21:22:15 +01:00
ed495ec667 Add UI to configure what information should be considered to compute overall status
* See https://github.com/Martchus/syncthingtray/issues/74
* See https://github.com/Martchus/syncthingtray/issues/76
2021-01-01 20:55:18 +01:00
76ee21500d Move setting for traffic statistics below settings with combo boxes
It just looks nicer.
2021-01-01 20:50:11 +01:00
c656f6fba0 Load/save status compution flags from/to settings 2020-12-31 03:08:08 +01:00
da911c6350 Refactor overall status compution
* Allow configuring the information to consider for computing the overall
  status via SyncthingStatusComputionFlags
    * Add flag to allow considering the status of remote devices for
      https://github.com/Martchus/syncthingtray/issues/74
    * Show only plain "idle" status when no flags are present for
      https://github.com/Martchus/syncthingtray/issues/76
* Set the default flags to keep the default behavior as-is
2020-12-31 02:48:18 +01:00
4445659d2b Simply use isConnected() in StatusInfo::updateConnectedDevices()
instead of explicitely listing all "connected" states.
2020-12-31 02:15:12 +01:00
66b6c224dc Update translations 2020-12-01 18:50:16 +01:00
a18ade7a36 Consider more error types when ignoring disconnects
See
https://github.com/Martchus/syncthingtray/issues/79#issuecomment-716136144
2020-10-26 17:39:10 +01:00
49bbebd1ad Allow configuring package suffix for qtutilities individually 2020-10-23 17:03:57 +02:00
a6727b0fa7 Show the connection config name in tooltip when displaying multiple icons 2020-10-19 18:33:10 +02:00
Tomasz Wilczyński
cd10501580
Fix "conntected" typo in en_US translation
Change all instances of "conntected" to "connected" in the English (US)
translation file.

Signed-off-by: Tomasz Wilczyński <twilczynski@naver.com>
2020-10-19 15:30:37 +09:00
4040a4e136 Hide connection status from settings when there are multiple tray icons 2020-10-18 17:02:12 +02:00
ce46931631 Update translations 2020-10-07 21:53:39 +02:00
fe4082a253 Add fallback icons for buttons to move connections up and down
because these buttons are icon-only and therefore looks odd without an
icon.
2020-09-12 22:09:40 +02:00
0b5fb14931 Remove overspecification of Qt version in documentation and comments 2020-09-04 01:13:46 +02:00
3b49e9e312 Support Qt 6 (commit 174154b) 2020-09-04 01:09:18 +02:00
c0e2e0bce1 Apply clang-format 2020-07-12 21:17:34 +02:00
5b2147a874 Apply scaling in renderSvgImage() similar to QIcon::pixmap() does 2020-07-12 02:38:57 +02:00
e10eca68f9 Rename "Inotify-launcher" to "Extra launcher"
The external inotify tool is likely not used anymore. It makes sense to
keep the concept of supporting additional tools because it might be used
in the future again. So it seems best to give the additional launcher a
more generic name.
2020-07-09 21:08:46 +02:00
b5cf0523b6 Fix visibility of libsyncthing-specific settings widgets 2020-07-09 20:28:53 +02:00
a9225c5a35 Use addCustomAction() instead of deprecated addCustomButton() 2020-07-09 20:21:54 +02:00
e44a523e3a Update translations 2020-05-05 19:02:30 +02:00
28a8391f2b Update libsyncthing to v1.5.0, support setting data directory 2020-05-05 19:01:05 +02:00
f61473142f Add (so far missing) fallback icons 2020-04-03 16:31:41 +02:00
7dea132a87 Check whether self-signed certificate actually matches the expected one
This concerned only the built-in web view using Qt WebEngine. This change
has only effect when using Qt >= 5.14 because the API did not expose the
certificate chain before.
2020-03-29 20:38:05 +02:00
1f3bb98375 Avoid scroll bars in settings dialog 2020-03-17 19:36:36 +01:00
ec0fca1446 Allow selecting the config file path manually in connection settings 2020-03-17 19:36:10 +01:00
bcb2b49b72 Don't use lower-case Qt macros 2020-03-08 13:50:32 +01:00
a744ea642e Remove hash<QString> implementation from settings.cpp 2020-03-02 16:14:53 +01:00
94753de797 Fix start/stop button tooltip for system-wide systemd service 2020-02-02 19:51:16 +01:00
133dbacb5d Use consistent order for visibility attribute 2020-01-29 18:51:10 +01:00
c12db6dbfb Update German translation 2020-01-23 20:15:02 +01:00
0b377c263b Avoid code duplication in settings.cpp 2020-01-23 19:36:20 +01:00
677644a17a Apply clang-tidy 2020-01-23 19:35:35 +01:00
86e97a0d43 Add tooltips for connection interval settings 2020-01-23 19:16:06 +01:00
309ff054a0 Add option to connect automatically on startup 2020-01-23 19:09:51 +01:00
287ec5542b Allow setting log level when using libsyncthing 2020-01-20 22:30:42 +01:00
dab3fd7e31 Update translations 2020-01-18 16:47:51 +01:00
addba5a87c Improve layouts of settings pages
Especially prevent certain elements from expanding (the
additional space between the elements looks weird).
2020-01-11 20:53:07 +01:00
04b6ff9bf1 Update translations 2019-12-18 00:31:53 +01:00
6048fd259e Align systemd buttons in settings more nicely 2019-12-18 00:27:25 +01:00
32f78b74fd Overhaul systemd integration, support system-wide units
* Lazy initialize systemd interface and don't initialize it
  at all if the unit name is empty
* Allow to supervise/control system-wide units in addition to
  user units (see https://github.com/Martchus/syncthingtray/issues/61)
* Avoid redundant code
2019-12-18 00:18:46 +01:00
34b9881ffe Use QTWEBENGINEWIDGETS_VERSION to decide on Qt WebEngine features
From https://www.freshports.org/deskutils/syncthingtray (tcberner):
"When WebEngine and Core are out of sync as they tend to be for us,
this leads to compilation errors."
2019-12-12 22:38:47 +01:00
4b5a8efa3e Apply cmake-format v0.6.0 2019-11-30 18:24:19 +01:00
69e061cba7 Update translations 2019-11-19 19:34:13 +01:00
05e49c86ce Improve color picker for icons
* Add note about Drag & Drop
* Allow picking from multiple presets
2019-11-19 19:33:58 +01:00
37893f77cb Fix compilation with Qt >= 5.14.0 2019-10-20 03:37:44 +02:00
38987707bd Update translations 2019-10-09 23:23:02 +02:00
a9013198e3 Consider built-in Syncthing library no longer experimental
It works quite well and "libsyncthing" is based on a stable
Syncthing release (1.3.0 as of writing this message).
2019-10-09 23:09:16 +02:00
cf5faeca51 Apply cmake-format 2019-09-08 18:12:05 +02:00
p-bo
7e82d7a91b
Added Czech localization 2019-08-20 22:15:08 +02:00
47fae26975 Construct QList for pages from initializer list 2019-08-10 22:04:39 +02:00
a2d5307e4f Apply clang-format 2019-08-03 16:31:38 +02:00
4e60153070 Update translations 2019-08-02 17:09:05 +02:00
db16727956 Show launcher log also before opening settings dialog 2019-08-02 17:05:48 +02:00
353f1e2463 Allow to distinguish icon colors within UI and system tray
This is useful because sometimes the background color of the system
tray is dark but the overall system UI still uses a light theme.

For the Plasmoid this should never be the case, though. Hence the
extra settings are not available there.
2019-07-31 20:16:43 +02:00
972f7b2776 Stop libsyncthing when stopping the application 2019-07-29 16:00:41 +02:00
f9eba2d012 Update translations 2019-07-28 22:05:27 +02:00
02971698cf Show libsyncthing version as tooltip 2019-07-28 22:01:30 +02:00
4b6cb69586 Fix missing exports 2019-07-28 21:34:51 +02:00
d8f35aceaf Don't use deprecated QProcess::finished() overload 2019-07-27 15:07:26 +02:00
1bdba31c70 Improve behavior under Wayland
* Add workaround for using QCursor::pos()
* Set window flags and parent of TrayMenu to it is shown
  like a context menu
2019-07-27 15:04:14 +02:00
fb3c9e9635 Adjust launcher/service apply yet another time
* Only reconnect later if the launcher/service is actually running
* Don't try to reconnect if systemd unit is not available
2019-07-26 16:36:48 +02:00
1ce8ec9c5f Consider systemd status only relevant if unit is available
If the unit is not available is is not possible to tell whether the
service is running or not so the systemd status should not be
considered yet. As soon as the status changes Systemd::apply() is
executed again and the status possibly considered.
2019-07-25 18:32:52 +02:00