Commit Graph

269 Commits

Author SHA1 Message Date
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
Martchus a3a09297f7 Render font awesome icons in color from QPalette
Since theres apparently no API in the Qt Svg module to support
this the change introduced here simply replaces in the SVG
document itself.
2019-02-23 13:55:46 +01:00
Martchus 78d4553104 Update translations 2019-02-18 00:41:17 +01:00
Martchus 3bcdf26cca Show global statistics on widgets-based GUI 2019-02-18 00:35:32 +01:00
Martchus 2b3a27d537 Replace "Open web UI" with "Open Syncthing" 2019-02-17 23:49:22 +01:00
Martchus 326f03b604 Apply cmake-format 2019-02-06 17:36:14 +01:00
Martchus 028a456c4e Update translations 2018-12-29 20:40:40 +01:00
Martchus adc0fa724e Ensure TrayIcon is immediately visible 2018-12-23 21:17:51 +01:00
Martchus 5afbd4e664 Fix typo 2018-12-23 21:17:31 +01:00
Martchus 8b6cf6a282 Remove unused function in TrayWidget 2018-12-23 21:17:24 +01:00
Martchus d803f83d0f Update translations 2018-11-03 21:41:44 +01:00
Martchus 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
Martchus 930691ebdc Rename ErrorViewDialog to InternalErrorsDialog 2018-11-03 18:15:10 +01:00
Martchus f462530183 Reduce nesting in DirView::mouseReleaseEvent() 2018-11-03 17:54:12 +01:00
Martchus 900377b036 Stop web view immediately if in background and user disables this 2018-10-28 14:27:25 +01:00
Martchus 533a5d0939 Use override 2018-10-10 21:26:46 +02:00
Martchus db4b032179 Show connected device names in additional status 2018-06-27 17:38:22 +02:00
Martchus 4d16967b23 Fix possibly missing #include 2018-06-05 22:48:18 +02:00
Martchus 49b33e5afe Ensure errors on first connection after startup are handled 2018-05-15 22:01:03 +02:00
Martchus b1b9f87320 Update translations 2018-05-12 23:14:04 +02:00
Martchus 1e83fefdf2 Fix compilation without DBus notification support 2018-05-10 13:51:07 +02:00
Martchus 9ce8c593a2 Require qtutilities 5.10.0 for AboutDialog overload 2018-05-08 19:20:05 +02:00
Martchus 52740c4cbe Update translations 2018-05-08 00:43:15 +02:00
Martchus 29db8b06b2 Fix dependency versions with GCC 8 2018-05-08 00:38:31 +02:00
Martchus bde3734ea4 Add mocks for testing rejected events 2018-05-02 00:00:47 +02:00
Martchus 988765f2ba Show new dev/dir notifications in usual tray icon and Plasmoid 2018-05-01 22:27:03 +02:00
Martchus 0ceb8d5e79 Add high-level abstraction for launching Syncthing
Add new SyncthingLauncher class which lauches Syncthing
under the hood via external SyncthingProcess or using
libsyncthing.

Note: Launching via libsyncthing is still experimental.
2018-04-11 23:16:00 +02:00
Martchus f9305819a7 Update translations 2018-04-02 21:26:05 +02:00
Martchus 146d4870e4 Refactor preventing unwanted error messages
* See https://github.com/Martchus/syncthingtray/issues/15
* Not tested yet
2018-04-02 20:35:30 +02:00
Martchus b81c316d4a Improve message formatting in SingleInstance 2018-04-02 20:23:54 +02:00
Martchus e9e85e6ba9 Update translations 2018-03-31 22:36:31 +02:00
Martchus d2eb4addd9 Distinguish between local an remote sync in settings 2018-03-31 22:31:28 +02:00
Martchus c1efb690ef Update translations 2018-03-24 17:06:47 +01:00
Martchus 84f0f91a24 Show link-time dependencies in about dialog 2018-03-18 18:24:00 +01:00
Martchus 3c811f5968 Add appstream metadata
See https://www.freedesktop.org/software/appstream/docs/chap-Quickstart.html#sect-Quickstart-DesktopApps
2018-02-21 23:12:00 +01:00
Martchus 38ac3504b2 Update German translation 2018-01-27 23:38:26 +01:00
Martchus c9039ff6aa Ensure webview defs are present 2018-01-27 23:34:36 +01:00
Martchus 79fe97d952 Refactor notifications
* Use SyncthingNotifier class
* Show 'Sync complete' on FolderCompletion event
* Add extra structure for stats
2018-01-27 23:27:50 +01:00
Martchus 1e40f7bb30 Fix including utils.h 2018-01-20 21:34:53 +01:00
Martchus af1f38b9eb Remove obsolete translations 2017-12-30 01:00:55 +01:00
Martchus 404f517b4c Refactor composing "sync complete string"
to prevent code duplication between regular tray
icon and plasmoid.
2017-12-30 00:57:35 +01:00
Martchus 43b2f9ff22 Allow to disable formatting 2017-10-17 19:47:12 +02:00
Martchus 9782795551 Add missing icons 2017-10-07 22:24:19 +02:00
Martchus 5e3b195b44 Update translations 2017-10-05 00:34:00 +02:00
Martchus ea96c64563 Update number of connected devices correctly
Computing the number of connected devices on overall
connection status changed event is not sufficient.
2017-10-05 00:08:46 +02:00
Martchus 06f5364335 Use ArgumentParser::parseArgsOrExit() 2017-09-29 17:18:21 +02:00
Martchus 69ffaeb1f3 Apply tidy after updating to clang-format 5.0.0
The behavior of clang-format slightly changed in Clang 5.0.0:
http://releases.llvm.org/5.0.0/tools/clang/docs/ReleaseNotes.html#clang-format
2017-09-17 21:48:15 +02:00
Martchus 903708a0ba Don't symlink syncthingtray.svg
Otherwise CMake will only install a symlink
2017-09-09 22:20:34 +02:00
Martchus 6ec3833c9e Move syncthingtray.svg to widgets 2017-09-09 21:32:40 +02:00
Martchus 49862f2701 Make GUI everywhere mandatory 2017-09-09 21:30:18 +02:00
Martchus 012ca9a0b3 Update translations 2017-09-08 17:01:52 +02:00
Martchus bae7f7c4c8 Don't duplicate code for showing log entries 2017-09-08 17:01:52 +02:00
Martchus 5046cb3eed Move logic for determine error relevance to InternalError 2017-09-08 17:01:51 +02:00
Martchus c690af9679 Update translations 2017-09-05 00:29:15 +02:00
Martchus f4df2bbf21 Allow opening internal error log via context menu 2017-09-05 00:24:52 +02:00
Martchus b5727304b3 Update translations 2017-08-31 19:49:39 +02:00
Martchus ee8657cd1d Fix showing errors 2017-08-31 19:49:23 +02:00
Martchus 85b524918b Fix compilation without systemd support 2017-08-31 02:18:20 +02:00
Martchus 8dce7de433 Update translations 2017-08-30 00:14:59 +02:00
Martchus 856a899c4b Move showOwnDeviceId() to widgets
So Plasmoid can use it as well
2017-08-30 00:01:34 +02:00
Martchus e797d8e76c Move showLog() entirely to TextViewDialog
So Plasmoid can use it as well
2017-08-30 00:01:34 +02:00
Martchus 2c1768c219 Move helper for setting traffic labels to connector
* Reduce code duplication for in and out
* Allow using the helper from Plasmoid
2017-08-30 00:01:34 +02:00
Martchus a0d6c6b53d Update translations 2017-08-20 01:26:19 +02:00
Martchus e52a2a6ef6 Improve error handling
Allow viewing request URL and response of internal
errors.
2017-08-20 01:20:47 +02:00
Martchus c8b68bc7c7 Fix compilation after latest changes when systemd disabled 2017-08-11 21:13:47 +02:00
Martchus 7b19be01f2 tray: Allow specifying name of initial connection via CLI
This includes refactoring TrayWidget::applySettings() which
is now a member function and only affects the current instance.

This prevents applying settings on every instance every time
a new tray widget is created.

To apply settings for all tray widgets, the static function
TrayWidget::applySettingsOnAllInstances() is used instead.
2017-08-09 01:11:47 +02:00
Martchus eafc65ec2b Remove obsolete translations 2017-08-01 10:45:50 +02:00
Martchus edc3a61545 Update translations 2017-08-01 08:42:20 +02:00
Martchus b2780568b4 Allow deletion of non-empty dirs
It is a common error that dirs can not be removed
because they still contain ignored items. Usually
I want to get rid of them nevertheless. This change
allows to remove all non-empty Syncthing can not
remove via the tray.
2017-08-01 00:28:51 +02:00
Martchus aca7f61c84 Prevent trying to rescan paused dirs
* Exclude paused dirs when rescanning all dirs to
  prevent errors
* Disable rescanning particular dir via gui if paused
2017-07-16 21:08:38 +02:00
Martchus c4ccda93c9 Show global directory errors messages
Previously, only error messages for failed
items have been shown.
2017-07-14 20:14:15 +02:00
Martchus 2aaff8233d Update translations 2017-07-14 17:53:15 +02:00
Martchus 633ed0eaab widgets lib: Use meta-data of tray 2017-07-08 01:31:41 +02:00
Martchus 0949ebae68 tray widget: Fix incorrect icon path 2017-07-02 21:55:41 +02:00
Martchus 04c9caf7d4 connector: Update raw config after pausing/resuming
It seems like (cached) raw config is not automatically updated
via newConfig() after pausing/resuming a dir/dev. So this is
now done manually.

Additionally, pausing/resuming devs is now also implemented by
posting new config.
2017-07-02 21:47:23 +02:00
Martchus b2aab9eb16 Show number of connected devs in tool tip 2017-05-30 15:06:34 +02:00
Martchus d7e59e2169 Wrap all usages of DBusStatusNotifier correctly 2017-05-11 00:03:09 +02:00
Martchus 732a5fdd8d Apply clang-format 2017-05-01 03:34:43 +02:00
Martchus 2a17b4ea4f Update translations 2017-04-25 23:32:40 +02:00
Martchus 1abb8b8a87 Move status info/notification to widgets
* Allow reusing code in other components such
  as Plasmoid
* Separate determining status text and icon
  from displaying notifications
2017-04-25 23:32:40 +02:00
Martchus 49ff5a7b65 Move widgets from tray app to separate lib
So settings pages, web view and other widgets
can be used in other components such as the
Dolphin plugin and Plasmoid, too.
2017-04-23 18:31:18 +02:00
Martchus 39647f9691 Fix wrong inclusion of pathselection.h 2017-04-23 14:14:09 +02:00
Martchus aaf25f4cc3 Fix path of resource files 2017-04-23 14:02:15 +02:00
Martchus 43691cf3c4 Remove useless geometry property 2017-04-23 14:02:15 +02:00
Martchus 58a0282032 Update translations 2017-03-17 00:39:01 +01:00
Martchus 3c2ce3e82f Allow launching syncthing-inotify
Provide a way to have multiple instances of
the launcher option page controlling separate
processes.
2017-03-17 00:38:42 +01:00
Martchus 0dbfda37aa Use web view defs provided by qtutilities 2017-03-14 23:24:52 +01:00
Martchus 536f140fcb Open containing dir of downloading file
Makes more sense than trying to open an incomplete file
2017-03-06 21:48:29 +01:00
Martchus 6c62bf946b Swap dir pause and rescan buttons
Looks better with Breeze icon theme
2017-02-24 22:34:46 +01:00
Marius Kittler 189a985e23 Support pause/resume directories in CLI 2017-02-23 23:12:38 +01:00
Marius Kittler 5101872532 Allow pausing/resuming dirs in GUI 2017-02-23 15:57:17 +01:00
Martchus 16c88daf28 Allow pausing/resuming dirs in backend 2017-02-23 15:57:11 +01:00
Martchus fc13a8f146 Read paused state of directories 2017-02-20 21:00:18 +01:00
Martchus 45905ca0f7 Don't use organization for settings 2017-02-20 19:41:34 +01:00
Martchus 6ec35fa203 Update translations 2017-02-20 18:42:27 +01:00
Martchus 8c6b0fd3d4 Move icon rendering to model backend 2017-02-20 18:42:27 +01:00
Martchus 02e44e372f Move icons used in models to model library 2017-02-20 18:41:45 +01:00
Martchus 873660f0a9 Use C++14 std::make_unique 2017-02-11 02:42:45 +01:00
Martchus 924241f65c Use ENABLE_QT_RESOURCES_OF_STATIC_DEPENDENCIES 2017-02-11 02:42:10 +01:00
Martchus 10bb953202 Fix typo 2017-01-30 22:43:24 +01:00
Martchus 71864376a9 Also consider sleep/standby as tolerable interruption
* Only supported when Logind is used
* Extension of b2325bf
* So notifications caused by Syncthing inavailability
  short after start or resume from standby can now be
  suppressed - at least when using Systemd/Logind
2017-01-15 17:32:20 +01:00
Martchus 30b5be70d0 Use platform detection from c++utilities consistently 2017-01-14 02:25:20 +01:00
Martchus b2325bf5a0 Allow ignoring Syncthing inavailability after startup 2017-01-14 02:12:38 +01:00
Martchus 2a5137184a Distinguish unknown traffic from zero traffic 2017-01-14 00:58:24 +01:00
Martchus d1b61ba24a Determine systemd unit activation timestamp 2017-01-13 10:25:50 +01:00
Martchus bbac12f9e9 Make error polling configurable 2017-01-12 23:41:58 +01:00
Martchus b2a66c806b Don't connect to local instance when not running
Prevent connection attempt to local instance at startup
or after applying settings when Syncthing systemd unit
isn't running
2017-01-12 22:18:40 +01:00
Martchus ee59c2b1c4 Prevent disconnect notification when stopping Syncthing manually 2017-01-10 23:49:34 +01:00
Martchus f5788b688d Add German translation 2017-01-07 16:30:57 +01:00
Markus Großer f8ea7cdd51 Fix WebView disabled setting
"isabled" -> "disabled"
2017-01-07 16:15:13 +01:00
Martchus 45d54e5ce5 Improve default size of settings dialog 2017-01-06 15:17:49 +01:00
Martchus 5fadf04492 Ensure status icon is updated initially 2017-01-06 14:58:28 +01:00
Martchus edba991d89 Don't show start/stop button when feature disabled 2017-01-03 00:29:15 +01:00
Martchus 5a3083ebe3 Convert args to UTF-8 under Windows 2017-01-03 00:29:00 +01:00
Martchus b06c975228 Update translations 2017-01-01 19:42:07 +01:00
Martchus 7755e97c5f Only reconnect when relevant settings changed 2017-01-01 19:19:16 +01:00
Martchus d66bedf988 web UI: Open all links in external browser 2017-01-01 18:14:44 +01:00
Martchus 375492e20a Ensure note in connection settings isn't truncated 2016-12-27 16:38:33 +01:00
Martchus 3cadd8cbcb Improve systemd integration
* Allow using systemd unit status to better handle
  reconnect attempts to local instance
* Misc adjustments
2016-12-27 16:22:37 +01:00
Martchus 6c99293087 Allow triggering current tray 2016-12-26 19:50:10 +01:00
Martchus 0ecb26a4cf Allow dismissing new notifications 2016-12-26 19:19:10 +01:00
Martchus 78450a2b7e Allow controlling Syncthing systemd service 2016-12-26 19:05:47 +01:00
Martchus 13debf42cc Ensure status icon is updated initially 2016-12-26 00:17:35 +01:00
Martchus 6a154c74af Hide disconnected notification when connected 2016-12-18 16:47:01 +01:00
Martchus 3f95d72b79 Prevent disconnected notification on startup
Happened when Syncthing notifications were
available before the connection was established
2016-12-18 16:47:01 +01:00
Martchus 76ccd5fd1f Update translations 2016-12-13 21:36:05 +01:00
Martchus 15f7379f6c Combine use of avail geo and popup for menu pos
* Last fix worked under Openbox/Tint2 but not under
  Plasma 5, this should work under both now
* Under Awesome menu will likely just spawn at cursor
  position
2016-12-13 21:35:55 +01:00
Martchus 985c99922e Just use QMenu::popup() to show TrayMenu
* So it doesn't rely on the available geometry anymore
* Only tested under Openbox/Tint2 so far
2016-12-13 00:02:08 +01:00
Martchus 834aeed594 Move infoFrame outside of tab page 2016-12-12 23:45:40 +01:00
Martchus 5d358e31fc Allow reloading log by pressing F5 2016-12-12 23:45:40 +01:00
Martchus 5b4a0ef51e Prevent notification about disconnect on startup 2016-12-12 23:45:40 +01:00
Martchus 2b75f1f3e5 Don't show error for each re-connect attempt 2016-12-12 23:45:40 +01:00
Martchus 203370f933 Allow notifications via D-Bus 2016-12-12 23:45:40 +01:00
Martchus a163c3f046 Dismiss notifications correctly 2016-12-12 23:24:36 +01:00
Martchus 230377dabe Center 'New notifications' button 2016-12-12 23:24:36 +01:00
Martchus d2d80adfe7 Update status icon when new Syncthing notifications available 2016-12-12 23:24:36 +01:00
Martchus 544ce59d4d Add new Plasma screenshot 2016-12-12 23:24:36 +01:00
Martchus d3bde05ccd Update icon when new notifications shown 2016-12-03 01:00:04 +01:00
Martchus 7093f735ed Update translations 2016-11-26 12:49:48 +01:00
Martchus 945ea2e7e0 Fix catching keyPressEvent using Qt WebEngine 2016-11-16 21:10:04 +01:00
Martchus abf6febf2c Allow closing web view via ESC 2016-11-16 20:40:54 +01:00
Martchus 992617ccc3 Show relevant dirs when sync complete 2016-11-08 19:44:45 +01:00
Martchus b5174735ad Add option for bright custom text colors 2016-11-02 21:05:32 +01:00
Martchus 9c9e0040c0 Don't skip Breeze icons from being built-in
Would reduce size of binary but some icons are
not provided in icons.qrc (yet)
2016-11-02 20:09:22 +01:00
Martchus 7149f90821 Refactor settings 2016-11-02 20:03:38 +01:00
Martchus 5d1b6a76f7 Reload web view when pressing F5 2016-11-01 17:16:27 +01:00
Martchus 9e8a92c0ff Process 'ConfigSaved' events 2016-11-01 17:06:31 +01:00
Martchus 2071aaa2e7 Don't show empty errors 2016-11-01 16:57:20 +01:00
Martchus 98dcfdd609 Specify Breeze being used for fallback icons 2016-11-01 14:07:36 +01:00
Martchus d308493aa2 Update screenshots 2016-10-30 18:21:32 +01:00