Commit Graph

248 Commits

Author SHA1 Message Date
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 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 d2eb4addd9 Distinguish between local an remote sync in settings 2018-03-31 22:31:28 +02:00
Martchus 84f0f91a24 Show link-time dependencies in about dialog 2018-03-18 18:24:00 +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 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 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 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 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 f4df2bbf21 Allow opening internal error log via context menu 2017-09-05 00:24:52 +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 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 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 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 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 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 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 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 8c6b0fd3d4 Move icon rendering to model backend 2017-02-20 18:42:27 +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
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 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 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 d3bde05ccd Update icon when new notifications shown 2016-12-03 01:00:04 +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 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 01188d6bd0 Set sizepolicy of connectionsPushButton to maximum 2016-10-29 01:05:19 +02:00
Martchus ba3db70604 Fix reading high traffic values 2016-10-20 23:14:47 +02:00
Martchus d52bce55df Improve fallback icons 2016-10-17 22:07:58 +02:00
Martchus 6c308f703b Use default tab shape 2016-10-11 20:12:59 +02:00
Martchus 138a7cc382 Allow auto-reconnect 2016-10-07 15:11:25 +02:00
Martchus 9a1157fd6b Use current config in applyAndReconnect() 2016-10-06 23:53:59 +02:00
Martchus ef5fd1cb9c Use ClearLineEdit for password in connection settings 2016-10-06 23:53:59 +02:00
Martchus 1742af28bf Show ongoing sync depite of dir is out of sync
Note: Computing overall status needs further improvement
2016-10-06 23:53:59 +02:00
Martchus 701dc9197c Confirm restart 2016-10-05 00:01:55 +02:00
Martchus dd8e443c15 Move SyncthingDev and SyncthingDir to extra files 2016-10-04 23:55:20 +02:00
Martchus 9fa2a028e8 Show out of sync directory state 2016-10-04 23:42:17 +02:00
Martchus 2b3a1137bc Improve appearance settings 2016-10-03 01:16:47 +02:00
Martchus 6470038fc7 Refactor to allow sharing backend with other apps
Intended for creating command line tool and plasmoid
2016-09-30 23:58:45 +02:00