Commit Graph

88 Commits

Author SHA1 Message Date
745082f357 Redact password from URL when displaying internal errors 2021-10-02 20:31:20 +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
0ef3b80447 Fix typos found via codespell --skip .git -w 2021-07-03 19:29:49 +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
5a39b6bc91 Improve displaying errors 2021-05-21 22:35:28 +02: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
f75966aadc Fix warnings 2021-03-20 22:39:40 +01:00
c84865acc1 Apply clang-format 2021-03-06 16:25:56 +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
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
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
a6727b0fa7 Show the connection config name in tooltip when displaying multiple icons 2020-10-19 18:33:10 +02:00
3b49e9e312 Support Qt 6 (commit 174154b) 2020-09-04 01:09:18 +02:00
28a8391f2b Update libsyncthing to v1.5.0, support setting data directory 2020-05-05 19:01:05 +02:00
133dbacb5d Use consistent order for visibility attribute 2020-01-29 18:51:10 +01:00
287ec5542b Allow setting log level when using libsyncthing 2020-01-20 22:30:42 +01: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
02971698cf Show libsyncthing version as tooltip 2019-07-28 22:01:30 +02:00
d8f35aceaf Don't use deprecated QProcess::finished() overload 2019-07-27 15:07:26 +02:00
61958c5046 Polish libsyncthing
* Adapt tests
* Remove duplicated code
* Stop Syncthing from a different thread since
  it blocks until Syncthing has stopped
2019-07-18 17:21:53 +02:00
972b062fb1 Fix build without libsyncthing 2019-07-17 23:14:24 +02:00
038225936e Base libsyncthing on official library refactoring 2019-07-17 17:53:36 +02:00
4b246d4b4d Improve SyncthingProcess and SyncthingLauncher
* Add documentation
* Remove leftovers
* Ensure all members are initialized
* Improve coding style
2019-07-13 16:42:19 +02:00
c521e2f808 Apply clang-format 2019-07-13 13:21:25 +02:00
2112b00347 Allow to show start/stop button for launcher 2019-07-12 20:32:55 +02:00
31bb92da89 Show notifications about launcher errors 2019-07-12 20:25:24 +02:00
59d71aa6a5 Fix killing Syncthing from launcher settings 2019-07-11 17:18:07 +02:00
61716687c9 Handle QProcess::errorOccurred 2019-07-07 14:31:09 +02:00
a43e5bfc66 Apply clang-format 2019-07-07 12:16:34 +02:00
35386804a6 Define "logLevelStrings" only if required 2019-07-07 12:13:55 +02:00
6ac633366e Don't use functions obsoleted in Qt 5.13.0 2019-06-25 14:37:14 +02:00
d02bcad77b Set application name in DBusStatusNotifier 2019-06-16 17:36:26 +02:00
dc7d9b815f Adapt to changes in c++utilities 2019-06-14 19:15:26 +02:00
64473df5ba Adapt to changes in c++utilities 2019-06-10 22:48:26 +02:00
25ece5b401 Fix icons in DBusStatusNotifier 2019-05-26 23:13:43 +02:00
a30853cfeb Apply cmake-format and clang-format 2019-05-04 22:10:37 +02:00
d763a755ac Fix typo in 'Connected to ...' 2018-11-13 18:00:30 +01:00
4a42a3f0c0 Fix and refactor directory error handling
* Rely not only on the FolderErrors event
* Request pull errors when opening the dialog
* Use "pullErrors" from FolderSummary
* Move code for directory error dialog into
  its own class

This should fix that sometimes obsolete errors
were still displayed or actually present errors
missing.
2018-11-03 21:30:17 +01:00
930691ebdc Rename ErrorViewDialog to InternalErrorsDialog 2018-11-03 18:15:10 +01:00
cdff9fd974 Allow forwarding JS console of web view to stderr 2018-10-28 17:03:23 +01:00
2e67e6b2de Use signals for logAvailable() and qrCodeAvailable() 2018-10-20 22:08:25 +02:00
533a5d0939 Use override 2018-10-10 21:26:46 +02:00
7dde61987a Clear the right status in StatusInfo::updateConnectionStatus() 2018-09-05 17:14:14 +02:00