Commit Graph

385 Commits

Author SHA1 Message Date
Martchus 1b1b9129be Avoid icon being rendered to big in wizard under Windows
Apparently Qt isn't handling the icon size very well (icon ends up clipped)
on its own so let's just use a pixmap icon of fixed size.
2022-10-27 19:19:13 +02:00
Martchus 328417d1f3 Fix compilation without systemd support 2022-10-24 15:37:53 +02:00
Martchus 74580d382b Allow testing systemd integration with a test unit file 2022-10-22 13:01:25 +02:00
Martchus 6594a667af Update translations 2022-10-22 12:40:57 +02:00
Martchus 77cea5aead Tie suppressing notifications to "reconnect integrations" of launcher/service
So suppressing notifications by either the launcher status or service
status can be enabled/disabled together with the re-connect tweaking. This
makes more sense than having it unconditionally enabled and makes the
presence of the feature (and when it is effective) also more visible to
users.
2022-10-22 12:32:24 +02:00
Martchus ba0f60c6a8 Update translations 2022-10-18 22:31:02 +02:00
Martchus b8cbe47099 Prevent doing setup detection when closing wizard in main config step 2022-10-18 22:25:51 +02:00
Martchus 9fd0dd3201 Don't allow continuing wizard if selected option is hidden
The selected option might be hidden if it was previously selected but then
became inavailable after running the setup detection again.
2022-10-18 22:21:27 +02:00
Martchus 8e652217d8 Ensure wizard's setup detection is really reset
So when going back to the detection state the previously selected config is
not used anymore (even though it isn't selected anymore).
2022-10-18 22:19:57 +02:00
Martchus db60c73d8d Fix missing whitespace 2022-10-18 21:53:15 +02:00
Martchus f0ebd75ce0 Add missing German translations 2022-10-17 23:05:30 +02:00
Martchus 833d2b78e2 Avoid running wizard test in parallel with other tests launching Syncthing 2022-10-16 18:21:47 +02:00
Martchus 11e0b4159e Update translations 2022-10-16 18:10:42 +02:00
Martchus a3e5825217 Improve wizard tests
* Allow setting Syncthing path and port like it is possible with other
  tests
* Test configuring currently running instance
* Avoid race condition; one must subscribe to `settingsChanged` before
  applying changes
2022-10-16 18:10:14 +02:00
Martchus 2dffb7ac97 Do not change launcher settings when currently running instance selected in wizard
The currently running instance might be from the launcher itself as the
wizard might have been started after configuring the launcher manually. So
let's just not mess with the launcher settings at all in this case.
2022-10-16 18:07:11 +02:00
Martchus b6df8be85a Extend wizard tests to actualy apply launcher settings 2022-10-16 16:10:50 +02:00
Martchus 9f92e340b9 Add basic tests for wizard 2022-10-16 15:08:29 +02:00
Martchus 836f51d6f6 Update translations 2022-10-08 23:43:08 +02:00
Martchus 5fd07ee1c0 Allow opening wizard from Plasmoid 2022-10-08 23:42:29 +02:00
Martchus 63acf60cd8 Fix autostart configuration via wizard 2022-10-08 23:41:58 +02:00
Martchus ec85052c20 Allow enabling devel modes via env variables
Using CLI args is not possible for plugins (such as the Plasmoid).
2022-10-08 22:44:00 +02:00
Martchus a0297f67ba Add setting to keep track whether it is the Plasmoid 2022-10-08 22:20:06 +02:00
Martchus 0086873684 Update translations 2022-10-07 22:59:46 +02:00
Martchus 9220d66add Allow pinning tray menu (still experimental) 2022-10-07 22:59:17 +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 3f5bc4d772 Fix inclusion of Connection::addConfigFromWizard() 2022-10-04 14:15:58 +02:00
Martchus a45bd8e60e Update translations 2022-10-04 10:53:14 +02:00
Martchus 89290b99d4 Use quickwizard icon as it looks more apprpriate in higher sizes
That's at least the case for the Breeze icon theme.
2022-10-02 22:40:48 +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 722e9f6e7d Avoid greeting new users with "insufficient configuration" error 2022-10-02 19:45:22 +02:00
Martchus b0d1197cb7 Implement launcher and systemd configuration in wizard 2022-10-02 19:24:26 +02:00
Martchus db69a148a9 Avoid showing default/uninitialized timestamp of libsyncthing version 2022-10-02 19:23:46 +02:00
Martchus 99872b262e Move setting connection config from wizard into its own function 2022-10-02 14:41:28 +02:00
Martchus bd5b93d311 Implement completion of wizard
Applying settings is still only implemented for one of the cases.
2022-10-01 22:25:33 +02:00
Martchus 442aee992a Unify code for showing wizard 2022-10-01 20:25:21 +02:00
Martchus f290dec65c Develop wizard further 2022-10-01 18:11:48 +02:00
Martchus 9865b2286f Develop wizard further
* Add page to apply settings
* Add page to show final result
* Fix updating systemd checkbox (`isVisible()` did not work because when
  the function is running the whole page is not visible)
* Enable systemd integration by default if either the user service or the
  system service are running
* Fix typo
2022-09-17 23:10:58 +02:00
Martchus 5554ba4ffa Set window icon of wizard 2022-09-11 12:58:47 +02:00
Martchus ab74142dc2 Add missing include for dialog utils 2022-09-06 16:58:25 +02:00
Martchus f7af2d5c7d Fix compilation of new wizard code against Qt 6 2022-09-06 16:24:53 +02:00
Martchus 2e961c489d Update translations 2022-09-05 22:02:01 +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 fd377cc5ac Increase default size to avoid overflow of tab buttons by default 2022-09-05 21:19:22 +02:00
Martchus e1ac6fb29b Update translations 2022-09-03 21:36:57 +02:00
Martchus c0a6482c9d Fix typos in naming of wizard UI widgets 2022-09-03 21:36:57 +02:00
Martchus ff68dff5a0 Add autostart wizard page 2022-09-03 21:36:57 +02:00
Martchus 25b9116250 Show only relevant options in wizard and improve UI for displaying details 2022-08-27 23:35:15 +02:00
Martchus 468293c2b1 Show welcome page always as first page of the wizard
Otherwise the wizard would immediately start when accessed via settings
which is not very nice. Of course the instructions in the welcome page need
to be slightly adjusted.
2022-08-27 19:19:03 +02:00
Martchus a435cab604 Allow starting wizard from settings 2022-08-27 15:06:55 +02:00
Martchus 3bbbab035c Update translations 2022-08-25 22:33:59 +02:00
Martchus 6941a1195d Ensure the wizard's size is big enough 2022-08-25 21:47:20 +02:00
Martchus 9d28fbbefc Ensure icons in wizard's welcome page are present
* Provide icons for command link buttons because it looks rather bad when
  some of them are missing in the user's icon theme and are therefore not
  displayed at all
* Add icons to lists for bundling icons
2022-08-25 21:35:22 +02:00
Martchus f2b1a0fe88 Update translations 2022-08-23 21:07:50 +02:00
Martchus f496e42006 Develop UI of wizard further
* Declare widgets for main config page via XML
* Add radio/check boxes for available options
* Improve formatting of report
2022-08-23 21:07:06 +02:00
Martchus c31b7b9ca8 Refactor wizard code
* Move code for setup detection into its own class
* Use separate wizard page to show setup detection report
2022-08-23 18:19:47 +02:00
Martchus 352d161144 Check for default launcher and service configuration in wizard 2022-08-23 12:31:43 +02:00
Martchus a48cf61333 Detect current Syncthing setup as first step of the wizard 2022-08-22 23:48:18 +02:00
Martchus 800cbcc286 Add hidden flag to enable WIP features
Supposed to be used for the wizard while it is WIP.
2022-08-22 21:59:34 +02:00
Martchus c9ac1c794b Allow portable configuration via `QtUtilities::getSettings()`
See https://github.com/Martchus/tageditor/issues/88
2022-08-20 16:19:08 +02:00
Martchus a733eddb12 Do not use `APP_NAME` in wizard except for title, avoid usless `.arg()`
It is not a good idea to use `APP_NAME` because it might be overriden (e.g.
"Syncthing Tray (git)" which would look rather out of place here.
2022-08-08 23:05:55 +02:00
Martchus 2e14d9d62c Update translations 2022-08-06 21:22:20 +02:00
Martchus 394af9bce7 Improve first launch message in preparation for adding a setup wizard 2022-08-06 21:08:55 +02:00
Martchus a7370fd8b8 Update translations 2022-07-26 23:59:42 +02:00
Martchus 2a4eefe6a4 Use "…" instead of "..." in certain places 2022-07-26 23:57:02 +02:00
Martchus 80c608208d Show status text "Connecting to Syncthing ... " when connecting
instead of just "Not connected to Syncthing"
2022-07-26 23:52:26 +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 97a8dc3f99 Apply clang-format 2022-07-16 12:30:51 +02:00
Martchus e7098002c1 Update translations 2022-07-04 19:59:53 +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
Martchus 54b9b5e7cd Update translations 2022-06-07 10:42:38 +02:00
Martchus 4b174eae20 Add option to ignore folder "out-of-sync" errors for overall status
* Add option to ignore unread notifications as well to cover all those
  extra cases
* See https://github.com/Martchus/syncthingtray/issues/141
2022-06-07 10:42:22 +02:00
Martchus 1fad0baa0d Avoid non-POD global static in `widgets/settings/settings.cpp` 2022-06-07 10:10:12 +02:00
Martchus b2d81d05e6 Update translations 2022-05-04 01:07:03 +02:00
Martchus 3b89c58ba4 Add note about disabling notifications of internal errors 2022-05-04 00:54:17 +02:00
Martchus be9d963a82 Add internal errors to menu/dialog even if the notification is disabled 2022-05-04 00:24:26 +02:00
Lynnesbian 16baed6e27
fix typo ("settinngs" -> "settings") 2022-01-23 03:38:42 +10:00
Martchus e81166cd79 Fix several warnings when building against Qt 6 2021-11-04 00:16:27 +01:00
Martchus 5ef0523458 Remove icons which are no longer needed 2021-10-16 21:28:59 +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 8b273b6945 Improve messages for TLS errors
Before one only gets the generic error "TLS handshake failed". Now one gets
more details error messages plus the problematic certificate. This should
be helpful for debugging.
2021-10-07 18:22:41 +02:00
Martchus af24ead784 Use ISO format for timestamps and put it in square brackets when displaying errors 2021-10-07 18:22:41 +02:00
Julianne420 ddefa35daa Add zh_CN translation 2021-10-07 01:20:24 +08:00
Martchus 8348648c56 Make c'tor of `InternalError` inline again to workaround linker errors
Otherwise the shared build with targeting x86_64-w64-mingw32 fails with:

```
FAILED: widgets/syncthingwidgets-qt6.dll widgets/libsyncthingwidgets-qt6.dll.a
: && /usr/lib/ccache/bin/x86_64-w64-mingw32-g++ -D_FORTIFY_SOURCE=2 -D_GLIBCXX_ASSERTIONS  -D_FORTIFY_SOURCE=2 -D_GLIBCXX_ASSERTIONS -O2 -pipe -fno-plt -fexceptions --param=ssp-buffer-size=4 -Wformat -Werror=format-security -fcf-protection -O3 -DNDEBUG  -Wl,-O1,--sort-common,--as-needed -fstack-protector -shared -o widgets/syncthingwidgets-qt6.dll -Wl,--out-implib,widgets/libsyncthingwidgets-qt6.dll.a -Wl,--major-image-version,1,--minor-image-version,1 widgets/CMakeFiles/syncthingwidgets-qt6.dir/syncthingwidgets-qt6_autogen/mocs_compilation.cpp.obj widgets/CMakeFiles/syncthingwidgets-qt6.dir/settings/settings.cpp.obj widgets/CMakeFiles/syncthingwidgets-qt6.dir/settings/settingsdialog.cpp.obj widgets/CMakeFiles/syncthingwidgets-qt6.dir/webview/webpage.cpp.obj widgets/CMakeFiles/syncthingwidgets-qt6.dir/webview/webviewdialog.cpp.obj widgets/CMakeFiles/syncthingwidgets-qt6.dir/webview/webviewinterceptor.cpp.obj widgets/CMakeFiles/syncthingwidgets-qt6.dir/misc/textviewdialog.cpp.obj widgets/CMakeFiles/syncthingwidgets-qt6.dir/misc/internalerrorsdialog.cpp.obj widgets/CMakeFiles/syncthingwidgets-qt6.dir/misc/direrrorsdialog.cpp.obj widgets/CMakeFiles/syncthingwidgets-qt6.dir/misc/statusinfo.cpp.obj widgets/CMakeFiles/syncthingwidgets-qt6.dir/misc/dbusstatusnotifier.cpp.obj widgets/CMakeFiles/syncthingwidgets-qt6.dir/misc/internalerror.cpp.obj widgets/CMakeFiles/syncthingwidgets-qt6.dir/misc/otherdialogs.cpp.obj widgets/CMakeFiles/syncthingwidgets-qt6.dir/misc/syncthinglauncher.cpp.obj widgets/CMakeFiles/syncthingwidgets-qt6.dir/misc/syncthingkiller.cpp.obj widgets/CMakeFiles/syncthingwidgets-qt6.dir/resources/windows-Release.rc.res widgets/CMakeFiles/syncthingwidgets-qt6.dir/syncthingwidgets-qt6_autogen/3YJK5W5UP7/qrc_syncthingwidgetsicons.cpp.obj -L/build/mingw-w64-syncthingtray-qt6/src/syncthingtray/build-x86_64-w64-mingw32-shared/connector   -L/build/mingw-w64-syncthingtray-qt6/src/syncthingtray/build-x86_64-w64-mingw32-shared/model   -L/build/mingw-w64-syncthingtray-qt6/src/lib model/libsyncthingmodel-qt6.dll.a  /usr/x86_64-w64-mingw32/lib/libqtutilities-qt6.dll.a  libsyncthing/libsyncthing-qt6.dll.a  /usr/x86_64-w64-mingw32/lib/libQt6Network.dll.a  /usr/x86_64-w64-mingw32/lib/libQt6Concurrent.dll.a  connector/libsyncthingconnector-qt6.dll.a  /usr/x86_64-w64-mingw32/lib/libc++utilities.dll.a  /usr/x86_64-w64-mingw32/lib/libQt6Network.dll.a  /usr/x86_64-w64-mingw32/lib/libQt6Core.dll.a  /usr/x86_64-w64-mingw32/lib/libqtforkawesome-qt6.dll.a  /usr/x86_64-w64-mingw32/lib/libQt6Widgets.dll.a  /usr/x86_64-w64-mingw32/lib/libQt6Gui.dll.a  /usr/x86_64-w64-mingw32/lib/libQt6Core.dll.a  /usr/x86_64-w64-mingw32/lib/libc++utilities.dll.a  /usr/x86_64-w64-mingw32/lib/libQt6Widgets.dll.a  /usr/x86_64-w64-mingw32/lib/libQt6Gui.dll.a  -ld3d11  -ldxgi  -ldxguid  -lws2_32  /usr/x86_64-w64-mingw32/lib/libQt6Core.dll.a  -lmpr  -luserenv  -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 && :
/usr/lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld: widgets/CMakeFiles/syncthingwidgets-qt6.dir/misc/internalerror.cpp.obj:internalerror.cpp:(.text+0x1a0): multiple definition of `QtGui::InternalError::InternalError(QString const&, QUrl const&, QByteArray const&)'; widgets/CMakeFiles/syncthingwidgets-qt6.dir/syncthingwidgets-qt6_autogen/mocs_compilation.cpp.obj:mocs_compilation.cpp:(.text$_ZN5QtGui13InternalErrorC2ERK7QStringRK4QUrlRK10QByteArray[_ZN5QtGui13InternalErrorC2ERK7QStringRK4QUrlRK10QByteArray]+0x0): first defined here
/usr/lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld: widgets/CMakeFiles/syncthingwidgets-qt6.dir/misc/internalerror.cpp.obj:internalerror.cpp:(.text+0x1a0): multiple definition of `QtGui::InternalError::InternalError(QString const&, QUrl const&, QByteArray const&)'; widgets/CMakeFiles/syncthingwidgets-qt6.dir/syncthingwidgets-qt6_autogen/mocs_compilation.cpp.obj:mocs_compilation.cpp:(.text$_ZN5QtGui13InternalErrorC1ERK7QStringRK4QUrlRK10QByteArray[_ZN5QtGui13InternalErrorC1ERK7QStringRK4QUrlRK10QByteArray]+0x0): first defined here
```

I can currently not make sense of this build error. It does not happen
when targeting Linux or i686.
2021-10-05 00:13:34 +02:00
Martchus 4301910f1d Avoid `QMessageBox::warning()` overload deprecated by Qt 6.2.0 2021-10-04 19:31:50 +02:00
Martchus 55e59d20c0 Make c'tor of InternalError explicit 2021-10-04 19:17:33 +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 745082f357 Redact password from URL when displaying internal errors 2021-10-02 20:31:20 +02:00
Martchus 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
Martchus 09e8955c06 Remove `const_cast` workaround for dealing with certificate errors 2021-08-07 19:42:15 +02:00
Martchus 078145f354 Require qtutilities 6.5.0 for change to `webviewincludes.h` 2021-08-07 18:43:32 +02:00
Martchus d21c7cdf2a Port Qt WebEngine related features to Qt 6.2.0 (beta2) 2021-08-07 18:05:30 +02:00
Martchus a1d78a2f30 Update translations 2021-08-03 14:09:02 +02: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 44c372c78e Update translations 2021-07-03 19:34:08 +02:00