Commit Graph

95 Commits

Author SHA1 Message Date
Martchus 1b72e61c86 Allow to use a window without titlebar
This might look better than a popup on Windows 11 because we'd still get
the round window corners.
2023-02-18 21:27:09 +01:00
Martchus 517cf813af Remove obsolete reference to "Inotify" in extra launcher
The extra launcher was initially made for launching the "Inotify" tool but
that's now obsolete so there shouldn't be any references to it anymore.
2023-01-12 22:41:15 +01:00
Martchus 3132c006c5 Allow configuring thickness of status icons 2022-12-20 18:29:05 +01:00
Martchus 6ff0f80e49
Merge pull request #167 from doronbehar/autostart-path
autostart: Enable setting via cmake Exec= path
2022-12-10 12:24:15 +01:00
Martchus a7689e5b70 Avoid duplicating whole line for AUTOSTART_EXEC_PATH configuration
This should avoid accidentally only changing one of the code paths at some
point.
2022-12-10 12:23:23 +01:00
Martchus be5043bbe7 Improve configuration of AUTOSTART_EXEC_PATH
* Avoid adding compile definition project-wide
* Use `SYNCTHINGWIDGETS_`-prefix for definition as it is done in other
  places as well
* Use `set(… CACHE …)` for this non-boolean cache variable
2022-12-10 12:19:26 +01:00
Doron Behar f7e36115ab autostart: Enable setting via cmake Exec= path
See https://github.com/NixOS/nixpkgs/issues/199596 .
2022-12-09 09:05:26 +02:00
Martchus 6c89b2dc0a Allow disabling positioning at fallback coordinates
This just turns the "Otherwise assume …" label into a checkbox allowing to
disable the fallback behavior completely.
2022-11-29 23:33:28 +01:00
Martchus 71c56edfd8 Allow showing Syncthing Tray as normal application/window
* Remove experimental pinning feature again and instead allow using a
  normal window
    * Pinning made it inconvenient to close the (frameless) window again
    * Pinning required hiding/showing the window which didn't look very
      nice (and setting flags directly via `QWindow` didn't work as well)
* As normal application/window positioning issues on Wayland are less
  problematic (and those aren't going to be fixed any time soon, if at all)
2022-11-29 23:06:15 +01:00
Martchus 256e90a0cb Avoid warning about unqualified std cast 2022-11-04 16:51:01 +01:00
Martchus f6845cd5c0 Use `quickwizard` icon consistently 2022-10-30 21:40:42 +01:00
Martchus 2b5c8b6059 Use `qEnvironmentVariable` via compat header from qtutilities 2022-10-29 21:39:43 +02:00
Martchus bb59f6a230 Streamline coding style in autostart-related code 2022-10-28 13:54:16 +02:00
Martchus 992e754dd7 Enable wizard without WIP flag
The wizard likely still needs improvement but it is time to get more
feedback.
2022-10-27 19:23:56 +02:00
Martchus d82bc710fd Allow using system icons instead of ForkAwesome icons
* Allow using icons from freedesktop.org icon theme for most ForkAwesome
  icons if available
* Let's not use it for the nested list of details in the models for now
* See https://github.com/Martchus/syncthingtray/issues/121
2022-10-07 00:20:50 +02:00
Martchus 4896261ef9 Allow opening launcher settings from wizard in case of an error to check logs 2022-10-02 20:33:07 +02:00
Martchus 442aee992a Unify code for showing wizard 2022-10-01 20:25:21 +02:00
Martchus ab74142dc2 Add missing include for dialog utils 2022-09-06 16:58:25 +02:00
Martchus 66948336d5 Allow to disable tab texts (to shown only icons anymore)
When configuring a smaller size for the Qt Widgets based UI it might be
preferred to show only the icons instead of having the tab buttons
overflow.
2022-09-05 21:56:22 +02:00
Martchus a435cab604 Allow starting wizard from settings 2022-08-27 15:06:55 +02:00
Martchus 2139b204e3 Determine whether to use bright custom colors automatically 2022-07-16 19:28:31 +02:00
Martchus 97a8dc3f99 Apply clang-format 2022-07-16 12:30:51 +02:00
Martchus d735455c2a Add button to reload all unit files 2022-07-04 19:55:58 +02:00
Martchus 05e98e22dd Prevent spawning a second tray icon when autostart is enabled
Otherwise a second icon is created when starting a second X11 session, see
https://github.com/Martchus/syncthingtray/issues/142.

Not sure whether this is relevant under Windows and Mac so this change is
only covering the *.desktop file.
2022-06-16 17:49:02 +02:00
Lynnesbian 16baed6e27
fix typo ("settinngs" -> "settings") 2022-01-23 03:38:42 +10:00
Martchus 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
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