Commit Graph

418 Commits

Author SHA1 Message Date
Martchus 394af9bce7 Improve first launch message in preparation for adding a setup wizard 2022-08-06 21:08:55 +02:00
Martchus 04a4fe89ec Use `addSubArguments()` to set GUI sub arguments 2022-08-06 19:14:18 +02:00
Martchus 788a5b2947 Allow opening dir in file browser if path contains tilde
See https://github.com/Martchus/syncthingtray/issues/148
2022-08-02 20:15:24 +02:00
Martchus a49da56829 Update translations 2022-07-16 19:37:00 +02:00
Martchus 2139b204e3 Determine whether to use bright custom colors automatically 2022-07-16 19:28:31 +02:00
Martchus bfb7af18fe Avoid conflict between Syncthing's CLI `--help` arg and own `--help` arg 2022-06-26 11:27:46 +02:00
Martchus 6ae9015605 Update translations 2022-06-26 02:25:36 +02:00
Martchus a0923f8c1a Allow running Syncthing's CLI via Syncthing Tray when bundling libsyncthing 2022-06-26 02:25:23 +02:00
Martchus b709106d90 Use ConfigValueArgument and auto-syntax 2022-06-17 21:52:59 +02:00
Martchus dea8e5ae68 Fix single instance behavior if multiple users use syncthingtray in parallel
Create a distinct server for each user so they don't interfere with each
other. Otherwise the instance of the second user tries to connect to the
instance started by the first user which fails and therefore breaks the
single instance behavior for the second user.
2022-06-17 21:46:06 +02:00
Martchus 3bcbd2285d Allow avoiding a second tray icon via `--single-instance`
See https://github.com/Martchus/syncthingtray/issues/142
2022-06-16 17:37:49 +02:00
Martchus a90e79b78f Enable virtual terminal processing or disable ANSI escape codes
See https://github.com/Martchus/syncthingtray/issues/132
2022-06-07 16:52:17 +02:00
Martchus eb94cfb3ed Improve screenshot-related section headings in README
* Don't put customized icons under Plasma section; it is not
  Plasma-specific
* Rename "Under Plasma 5" to "Plasmoid" to be more specific
2022-06-06 18:27:09 +02:00
Martchus fb1cef929e Update translations 2022-05-23 23:01:42 +02:00
Nicholas D Steeves fd5c59222a
Merge PNG and SVG icon from Syncthing v1.20.1
From https://github.com/syncthing/syncthing.git

git checkout v1.20.1 -- LICENSE assets/logo-256.png \
  assets/logo-only.svg

mv LICENSE LICENSE.MPL-2.0
[resurrect Syncthing Tray LICENSE in magit]

mv assets/logo-256.png \
  tray/resources/icons/hicolor/256x256/apps/syncthingtray.png

cp -a assets/logo-only.svg \
  tray/resources/icons/hicolor/scalable/apps/syncthingtray.svg
[the upstream copy was identical to Syncthing tray's copy]

mv assets/logo-only.svg \
  widgets/resources/icons/hicolor/scalable/app/syncthingtray.svg
2022-05-18 16:10:43 -04:00
Martchus be9d963a82 Add internal errors to menu/dialog even if the notification is disabled 2022-05-04 00:24:26 +02:00
Martchus 5eb5a6dc60 Update translations 2022-05-03 23:27:29 +02:00
Martchus 28aa9a516c Have directory ID still accessible in recent changes despite showing name
Show it as tool tip and allow copying it via the context menu
2022-04-09 14:52:00 +02:00
[G3NSVRV] 1244b8a8cf
Update dark-palette.ini
eye friendly
2022-03-27 22:41:47 -03:00
Martchus e749097110 Update translations 2022-03-20 17:02:06 +01:00
Martchus 3d5286bf26 Avoid mixing different icon types in context menu 2022-03-20 17:01:48 +01:00
Martchus 825ee28300 Adapt to breaking change in Qt 6.2.3 2022-02-07 17:27:02 +01:00
Martchus 0243068a20 Remove "Letzte" in "Letzte Änderungen" as it takes too much space 2021-12-03 22:00:05 +01:00
Martchus 3d2930cb1d Use `file-text` icon for log as it looks more in-line with the other icons 2021-11-13 22:49:45 +01:00
Martchus e81166cd79 Fix several warnings when building against Qt 6 2021-11-04 00:16:27 +01:00
Martchus 5b9b69625b Remove surplus brace in about dialog 2021-11-04 00:04:41 +01:00
Martchus c1f3e57a9c Use ForkAwesome icons in consistency with Syncthing's official GUI
* Use single cog for settings (instead of cogs)
* Use "refresh" for re-scanning all dirs (instead of search)
2021-11-02 18:01:00 +01:00
Martchus 5ef0523458 Remove icons which are no longer needed 2021-10-16 21:28:59 +02:00
Martchus 4dc9f08639 Update translations 2021-10-15 22:21:40 +02:00
Martchus 9e3cd95b13 Apply clang-format 2021-10-15 22:18:54 +02:00
Martchus 7b6121cb05 Use ForkAwesome icons more consistently in tray widget
Mixing ForkAwesome icons too much with the regular icon theme doesn't look
good (depending on the theme) so let's prefer ForkAwesome icons within the
tray widget which already uses ForkAwesome in some places like certain
buttons and models. This makes it also look more in-line with Syncthing's
web UI. For context menus and dialogs let's prefer system icons because
there are hardly any ForkAwesome icons used/required so far and it is maybe
nicer to be in-line with the system here.
2021-10-15 00:23:22 +02:00
Martchus 3bf50fb414 Use Syncthing icon from ForkAwesome for buttons/menus
This should look more consistent than abusing the state-specific "idling"
icon.
2021-10-10 20:44:22 +02:00
Martchus 77f0a8d5ae Update translations 2021-10-09 01:15:49 +02:00
Martchus 0b801bc505 Make internal errors also accessible when starting with `--windowed`
* Show the button for the internal errors dialog in the tray widget like it
  is done when the `UNIFY_TRAY_MENUS` config is activated
2021-10-09 01:14:54 +02:00
Martchus c3182ff256 Apply cmake-format 2021-10-07 18:28:13 +02:00
Martchus 8f59dc12d3
Merge pull request #114 from coxde/zh_CN
Add zh_CN translation
2021-10-06 20:19:15 +02:00
Julianne420 ddefa35daa Add zh_CN translation 2021-10-07 01:20:24 +08:00
Martchus cf99b656f0 Link against the qtforkawesomeiconengine plugin when it is a static library
This should fix the AppImage build where my own libraries (including
plugins) are built as static libraries but static linkage is not generally
enabled.
2021-10-06 17:19:15 +02:00
Martchus 52217814f1 Apply cmake-format 2021-10-03 23:07:12 +02:00
Hannah Rittich 2968898195 Allow finding of packages in namespaces 2021-10-03 02:07:18 +02:00
Martchus 4517ea41b6 Update translations 2021-10-02 20:31:56 +02:00
Martchus 44d69cd3bf Remove the dark stylesheet as it is not working well and a different palette is enough 2021-09-17 22:23:29 +02:00
Martchus dde61bb783 Document workaround for missing support for Windows 10 dark mode 2021-09-17 22:22:32 +02:00
Martchus b7a8a73f2a Import static icon engine plugin 2021-09-16 21:33:46 +02:00
Martchus a8c22e4168 Remove no longer used "view-barcode" icon 2021-09-15 20:38:21 +02:00
Martchus f384d2a496 Use "qrcode" icon from ForkAwesome
It fits better than "view-barcode" from the icon theme. This also tests
using ForkAwesome icons via the custom icon engine. Unfortunately this
does not seem to work within the Plasmoid so far.
2021-09-15 20:37:21 +02:00
Martchus 66448a0774 Adapt to changes in qtforkawesome 2021-09-11 16:45:09 +02:00
Martchus 43fcb9f71b Migrate to ForkAwesome
* FontAwesome uses a propritary build system so let's move to its fork
  ForkAwesome similar to Syncthing
    * See https://github.com/syncthing/syncthing/pull/5237
* Bundle the font file instead of having the SVGs directly within
  Syncthing Tray's own repository
2021-09-11 02:20:38 +02:00
Martchus a1fddfcb07 Apply clang-format/cmake-format 2021-08-03 14:06:17 +02:00
Martchus 0ef3b80447 Fix typos found via `codespell --skip .git -w` 2021-07-03 19:29:49 +02:00
Martchus 9fc96a847a Add button to show Syncthing releases/downloads in launcher 2021-07-03 18:44:37 +02:00
Martchus 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
Martchus cbecf9ccf2 Add an icon for every settings tab 2021-05-07 00:06:25 +02:00
Martchus b5aa29c98b Update translations 2021-04-07 20:01:07 +02:00
Martchus c51379cdbd Remove obsolete comment 2021-03-31 22:47:10 +02:00
Martchus 3fb621875c Don't assign minimum size if dialog would overflow
This gets a little bit too small and with "Consider window frame size
within centerWidgetAvoidingOverflow()" in qtutilities it shouldn't be
required anymore.
2021-03-24 21:26:15 +01:00
Martchus 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
Martchus f75966aadc Fix warnings 2021-03-20 22:39:40 +01:00
Martchus 6c12f18eaf Update translations 2021-03-06 16:26:23 +01:00
Martchus 0fc44a9142 Disable pause/resume button within GUI in consistency with official GUI 2021-02-12 20:31:05 +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 4c4fc676e6 Update translations 2021-01-01 21:22:15 +01:00
Martchus 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
Martchus 66b6c224dc Update translations 2020-12-01 18:50:16 +01:00
Martchus bacca0241a Fix build with Qt 6 (beta1) 2020-10-23 17:04:35 +02:00
Martchus 49bbebd1ad Allow configuring package suffix for qtutilities individually 2020-10-23 17:03:57 +02:00
Martchus 57e9865ace Sort devices by name 2020-10-20 19:36:02 +02:00
Martchus a4f6b62a62 Move code for passing args to already running instance into own function 2020-10-19 19:04:18 +02:00
Martchus 6122b54210 Add an opt-out for the single-process behavior
This would have been useful for testing multiple times and now even came up
in a forum discussion.
2020-10-19 19:03:42 +02:00
Martchus 7ada03b00b Apply clang-format 2020-10-19 18:33:28 +02:00
Martchus a6727b0fa7 Show the connection config name in tooltip when displaying multiple icons 2020-10-19 18:33:10 +02:00
Martchus 37bbdd3258 Allow customizing config dir 2020-10-18 17:24:02 +02:00
Martchus 4078e6ff2a Prevent crash deleting s_dialogParent 2020-10-18 17:13:52 +02:00
Martchus 4040a4e136 Hide connection status from settings when there are multiple tray icons 2020-10-18 17:02:12 +02:00
Martchus 2c1dbff82b Allow specifiying multiple connection configurations 2020-10-18 16:28:17 +02:00
Martchus e509047367 Disable "decorated root" for recent changes view as there's no nested content 2020-10-18 15:52:57 +02:00
Martchus 3e1beaa11d Sort directories by name/ID
* Use the name as sorting criteria and fall back to the ID if there's no
  name
* Use new SyncthingSortFilterDirectoryModel also for Plasmoid's filtering
* See https://github.com/Martchus/syncthingtray/issues/75
2020-10-18 15:48:02 +02:00
Martchus d0f27bf327 Add missing include for std::invoke 2020-10-13 13:41:03 +02:00
Martchus ce46931631 Update translations 2020-10-07 21:53:39 +02:00
Martchus aac87621dc Streamline context menus of regular tray application and Plasmoid
* Support triggering actions via the context menu in the regular tray like
  it is already possible in the Plasmoid
* Support copying via the context menu in the Plasmoid like it is already
  possible in the regular tray
* Reduce repetition of coding patterns using templates
2020-10-07 21:42:50 +02:00
Martchus 0b5fb14931 Remove overspecification of Qt version in documentation and comments 2020-09-04 01:13:46 +02:00
Martchus 3b49e9e312 Support Qt 6 (commit 174154b) 2020-09-04 01:09:18 +02:00
Martchus 6f67e87149 Improve code for icon
* Make the paths consistent with other projects
* Remove PNG_ICON_NO_CROP which is no longer required with c++utilities 5.6
2020-08-11 23:18:56 +02:00
Martchus ba6ca98ff3 Add missing REQUIRED_ICONS of syncthingtray 2020-07-12 21:50:34 +02:00
Martchus 5b2147a874 Apply scaling in renderSvgImage() similar to QIcon::pixmap() does 2020-07-12 02:38:57 +02:00
Martchus e44a523e3a Update translations 2020-05-05 19:02:30 +02:00
Martchus 65b3261320 Hide connections menu when only one connection is configured
* Make UI look cleaner for the common case of only one configuration
* Save some width to help with
  https://github.com/Martchus/syncthingtray/issues/65 a little bit
2020-04-28 00:10:04 +02:00
Martchus ed4d1fc213 Use idle status icon for button to open Syncthing web UI
That looks more consistent, especially when using a dark color theme
where the default Syncthing icon doesn't fit in very well.
2020-04-12 23:16:26 +02:00
Martchus f61473142f Add (so far missing) fallback icons 2020-04-03 16:31:41 +02:00
Martchus bcb2b49b72 Don't use lower-case Qt macros 2020-03-08 13:50:32 +01:00
Martchus b8edea29f9 Update translations 2020-03-01 22:06:18 +01:00
Martchus 6921f9aa89 Configure bright colors for recent changes model 2020-02-29 13:17:38 +01:00
Martchus 5a93e5e8dd Update translations 2020-02-18 20:50:53 +01:00
Martchus 94753de797 Fix start/stop button tooltip for system-wide systemd service 2020-02-02 19:51:16 +01:00
Martchus c12db6dbfb Update German translation 2020-01-23 20:15:02 +01:00
Martchus 13e0732168 Show context menu on recent changes view 2020-01-23 20:07:11 +01:00
Martchus dab3fd7e31 Update translations 2020-01-18 16:47:51 +01:00
Martchus 6026339c83 Show recent changes 2020-01-18 16:43:13 +01:00
Martchus 04b6ff9bf1 Update translations 2019-12-18 00:31:53 +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 4b5a8efa3e Apply cmake-format v0.6.0 2019-11-30 18:24:19 +01:00
Martchus 38987707bd Update translations 2019-10-09 23:23:02 +02:00
Martchus 1a1b907f15 Save settings immediately to disk when applied
* See https://github.com/Martchus/syncthingtray/issues/59
* QCoreApplication::aboutToQuit() does not work reliably but terminating
  only at the end of the session is a common use-case for the tray
  application. So workaround the problem by saving the settings
  immediately.
* The plasmoid already does this anyways.
2019-10-06 17:58:08 +02:00
Martchus 27f17fc94c Use aboutToQuit() signal for cleanup-code
As recommended by the Qt documentation
2019-09-14 19:14:45 +02:00
Martchus cf5faeca51 Apply cmake-format 2019-09-08 18:12:05 +02:00
Chih-Hsuan Yen 335e1efafa
Fix building with -DUNIFY_TRAY_MENUS=ON
Ref: 1bdba31c70
2019-08-25 20:41:17 +08:00
p-bo 9869794d29
Added Czech localization 2019-08-20 22:11:45 +02:00
p-bo b2011ab9a3
Added Czech localization
Create syncthingtray_cs_CZ.ts
2019-08-20 22:01:43 +02:00
Martchus 956d4d1cd7 Update translations 2019-08-10 00:21:14 +02:00
Martchus 5d044a9645 Mention --wait in error message if tray not available 2019-08-10 00:20:38 +02:00
Martchus de76489a2c Require "edit-clear" icon
It is now required for the button overlay from qtilities because
no fallback is provided anymore.
2019-08-08 22:55:49 +02:00
Martchus be0be08997 Apply cmake-format 2019-08-06 00:13:15 +02:00
Martchus 4e60153070 Update translations 2019-08-02 17:09:05 +02:00
Martchus db16727956 Show launcher log also before opening settings dialog 2019-08-02 17:05:48 +02:00
Martchus 2363e9a7d4 Update status icon and tooltip when changing settings
Required because the reconnect interval which might be included
in the tooltip might have changed.
2019-08-01 19:07:58 +02:00
Martchus 6057b2cb2c Map context menu coordinates to top-level widget
Map context menu coordinates to top-level widget if the top-level
widget is a QMenu. Otherwise the context menu is not displayed at
the right position. Not sure why this workaround is required.

The check for QMenu is required. Otherwise the "windowed" mode
enabled via --windowed CLI argument would not work anymore. In
this mode the top-level window is a regular window.

Adding the window flags Qt::Sheet or Qt::Dialog to the QMenu
would help as well but that prevents closing the menu (see
https://github.com/Martchus/syncthingtray/issues/41).
2019-07-31 22:26:11 +02:00
Martchus d07bdba5de Add parent to context menus
This is recommended in a Wayland porting guide.
2019-07-31 22:26:00 +02:00
Martchus 19816437ea Use a different parent for dialogs
This allows customizing the tray menu/widget using style sheets
without affecting the dialogs.
2019-07-31 20:47:19 +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 f9eba2d012 Update translations 2019-07-28 22:05:27 +02:00
Martchus 9b924d4138 Fix closing tray menu 2019-07-28 10:56:59 +02:00
Martchus 9b8191c105 Use consistent prefix for static member variables 2019-07-27 15:11:50 +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 9f9b9124a4 Improve code of dir/dev/download views
* Reduce indentation
* Remove unused #include <QCursor>
* Map context menu position to viewport
* Use const when possible
2019-07-27 11:15:13 +02:00
Martchus c378b17de4 Don't abuse organization domain for website in AboutDialog 2019-07-20 20:32:15 +02:00
Martchus f4097d3d79 Fix positioning of context menus under Wayland
Does not cover positioning the tray widget itself yet.
2019-07-20 18:56:20 +02:00
Martchus 2c95a15f1a Update translations 2019-07-20 17:15:32 +02:00
Chih-Hsuan Yen 829e79929e
Hide the application icon from Dock and Command+Tab switcher
Info.plist.in is $prefix/share/cmake-2.14/Modules/MacOSXBundleInfo.plist.in
with an additional LSUIElement key.
2019-07-18 10:58:37 +08:00
Martchus a1658dcf83 Apply clang-format 2019-07-17 23:14:34 +02:00
Martchus 708334443f Add option to unify tray menus
* Don't create context menu
* Show the "Close" action and the "Internal errors"
  action in the tray widget
* Use this by default on Mac OS
2019-07-17 19:07:58 +02:00
Martchus fe332078f1 Improve taking the launcher status into account when connecting
* Take the time the launcher is active into account (in the same
  way as it is done for the systemd service)
* Fix case when systemd service would be relevant but configured
  to consider the launcher status
2019-07-13 17:59:48 +02:00
Martchus b9e9d76594 Update translations 2019-07-13 13:38:51 +02:00
Martchus c521e2f808 Apply clang-format 2019-07-13 13:21:25 +02:00
Martchus 335913c8ca Fix build without systemd support 2019-07-13 13:21:02 +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 5b45f02fb5 Bundle icons for QLineEdit::createStandardContextMenu() 2019-07-07 12:23:25 +02:00
Martchus 6ac633366e Don't use functions obsoleted in Qt 5.13.0 2019-06-25 14:37:14 +02:00
Martchus 65eb59fe26 Add missing German translations 2019-06-16 16:58:37 +02:00
Martchus ee6817187a Ensure Qt specific config is included 2019-06-16 15:57:03 +02:00
Martchus 64473df5ba Adapt to changes in c++utilities 2019-06-10 22:48:26 +02:00
Martchus 0e7cc8ba9b Apply changed status colors without restart 2019-05-19 23:11:50 +02:00
Martchus 05da0465a7 Allow customizing status icon colors 2019-05-19 17:57:37 +02:00
Martchus 8dacbaa8d7 Adapt to new c++utilities API 2019-05-05 18:42:19 +02:00
Martchus f4d4ed3436 Don't use deprecated Qt features 2019-05-04 22:18:50 +02:00
Martchus 0049d96bca Adapt to c++utilities API changes 2019-05-04 22:18:31 +02:00
Martchus d88df866d2 Adapt to c++utilities v5 2019-05-04 21:05:21 +02:00
Martchus c523f627da Update screenshot, remove outdated ones 2019-03-09 14:55:29 +01:00
Martchus a6380947ea Fix wrong translation and update translations 2019-02-27 20:45:05 +01:00
Martchus 2ab88c5766 Add font awesome icons to models
So it looks a bit more like the official UI.
2019-02-27 20:41:50 +01:00