Commit Graph

69 Commits

Author SHA1 Message Date
Martchus 69f466be66 Fix crash when systemd unit status changes when settings page has already been destroyed 2021-07-15 02:21:18 +02:00
Martchus 9fc96a847a Add button to show Syncthing releases/downloads in launcher 2021-07-03 18:44:37 +02:00
Martchus 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
Martchus 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
Martchus 18352a6ce1 Show maximize button on settings dialog
So it looks nicer combined with the previous commit.
2021-03-24 15:02:05 +01:00
Martchus f75966aadc Fix warnings 2021-03-20 22:39:40 +01:00
Martchus 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
Martchus 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
Martchus 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
Martchus 4040a4e136 Hide connection status from settings when there are multiple tray icons 2020-10-18 17:02:12 +02:00
Martchus 3b49e9e312 Support Qt 6 (commit 174154b) 2020-09-04 01:09:18 +02:00
Martchus c0e2e0bce1 Apply clang-format 2020-07-12 21:17:34 +02:00
Martchus 5b2147a874 Apply scaling in renderSvgImage() similar to QIcon::pixmap() does 2020-07-12 02:38:57 +02:00
Martchus 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
Martchus b5cf0523b6 Fix visibility of libsyncthing-specific settings widgets 2020-07-09 20:28:53 +02:00
Martchus a9225c5a35 Use addCustomAction() instead of deprecated addCustomButton() 2020-07-09 20:21:54 +02:00
Martchus 28a8391f2b Update libsyncthing to v1.5.0, support setting data directory 2020-05-05 19:01:05 +02:00
Martchus 1f3bb98375 Avoid scroll bars in settings dialog 2020-03-17 19:36:36 +01:00
Martchus ec0fca1446 Allow selecting the config file path manually in connection settings 2020-03-17 19:36:10 +01:00
Martchus 677644a17a Apply clang-tidy 2020-01-23 19:35:35 +01:00
Martchus 86e97a0d43 Add tooltips for connection interval settings 2020-01-23 19:16:06 +01:00
Martchus 309ff054a0 Add option to connect automatically on startup 2020-01-23 19:09:51 +01:00
Martchus 287ec5542b Allow setting log level when using libsyncthing 2020-01-20 22:30:42 +01:00
Martchus 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
Martchus 05e49c86ce Improve color picker for icons
* Add note about Drag & Drop
* Allow picking from multiple presets
2019-11-19 19:33:58 +01:00
Martchus 47fae26975 Construct QList for pages from initializer list 2019-08-10 22:04:39 +02:00
Martchus a2d5307e4f Apply clang-format 2019-08-03 16:31:38 +02:00
Martchus db16727956 Show launcher log also before opening settings dialog 2019-08-02 17:05:48 +02:00
Martchus 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
Martchus 02971698cf Show libsyncthing version as tooltip 2019-07-28 22:01:30 +02:00
Martchus 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
Martchus bd3e0f15e8 Polish autostart code 2019-07-20 17:12:55 +02:00
Chih-Hsuan Yen 1e90925fba
Allow autostarting syncthingtray on macOS as launch agents 2019-07-20 12:10:32 +08:00
Martchus 038225936e Base libsyncthing on official library refactoring 2019-07-17 17:53:36 +02:00
Martchus c521e2f808 Apply clang-format 2019-07-13 13:21:25 +02:00
Martchus 2112b00347 Allow to show start/stop button for launcher 2019-07-12 20:32:55 +02:00
Martchus 31bb92da89 Show notifications about launcher errors 2019-07-12 20:25:24 +02:00
Martchus 53455afb00 Use tr() in LauncherOptionPage 2019-07-07 14:36:35 +02:00
Martchus f7713c0b95 Don't keep track of LauncherOptionPage connections
Not required anymore when using QObject as base
2019-07-07 14:32:40 +02:00
Martchus 61716687c9 Handle QProcess::errorOccurred 2019-07-07 14:31:09 +02:00
Martchus 4c760a2c08 Insert new line before logging exist code 2019-07-07 13:52:37 +02:00
Martchus 89889c1493 Ensure handler of LauncherOptionPage are called in main thread 2019-07-07 13:52:07 +02:00
Martchus 3d5869f8e1 Add default args for Syncthing launcher 2019-07-07 12:59:47 +02:00
Martchus 64473df5ba Adapt to changes in c++utilities 2019-06-10 22:48:26 +02:00
Martchus 96ed888e20 Allow customizing foreground color of status icons 2019-05-21 17:56:08 +02:00
Martchus 96dc7a535c Support transparency in status icon colors 2019-05-19 21:22:46 +02:00
Martchus 05da0465a7 Allow customizing status icon colors 2019-05-19 17:57:37 +02:00
Martchus dd5cf12b1c Improve inserting address from config file
* Assume local connection if address is eg. 0.0.0.0
* Use isLocal() from utils which considers the hostname
  and interfaces as well
2018-11-02 20:57:25 +01:00
Martchus 87a10c5b33 Allow hiding Plasma applet in certain states
See https://github.com/Martchus/syncthingtray/issues/23
2018-10-10 17:48:48 +02:00
Martchus 988765f2ba Show new dev/dir notifications in usual tray icon and Plasmoid 2018-05-01 22:27:03 +02:00