Commit Graph

391 Commits

Author SHA1 Message Date
Martchus ad3c8b5240 Don't meld 'unshared' into the status
Just deal with it like with the paused flag. This will
hopefully solve the issue that dirs are wrongly shown as
unshared till the next status update.
2018-07-22 22:09:18 +02:00
Martchus 5a80089cbd Fix condition for outgoing traffic 2018-07-22 21:18:00 +02:00
Martchus 0acfdd7002 Use "rescan disabled" instead of "0 s" 2018-07-05 17:40:36 +02:00
Martchus 7166f6532a Display overall status info in CLI 2018-07-05 17:39:35 +02:00
Martchus db4b032179 Show connected device names in additional status 2018-06-27 17:38:22 +02:00
Martchus f4622379ae Prevent local sync complete notification during scan 2018-05-23 23:18:39 +02:00
Martchus 68f5565f1a Discard sync complete event if paused 2018-05-17 18:34:05 +02:00
Martchus e7d365f849 Initialize SyncthingNotifier correctly in Plasmoid 2018-05-15 22:27:54 +02:00
Martchus 43cd6fc2cc Fix use of SyncthingService without check for nullptr 2018-05-15 22:26:54 +02:00
Martchus b1b9f87320 Update translations 2018-05-12 23:14:04 +02:00
Martchus 44c0c44475 Improve coding style 2018-05-12 23:09:14 +02:00
Martchus 2fcc94f567 Handle new folder types
See https://github.com/syncthing/syncthing/pull/4942
2018-05-12 23:08:57 +02:00
Martchus f8dabbc78d Fix compilation without systemd support 2018-05-10 13:51:25 +02:00
Martchus 52740c4cbe Update translations 2018-05-08 00:43:15 +02:00
Martchus cfa27390f6 Apply clang-format 2018-05-08 00:38:49 +02:00
Martchus ab57b34b69 Fix usage of enable_if with GCC 8
Seems like the trick with the three dots isn't working
with GCC 8 anymore. So let's make it a default template
parameter then.

Not sure whether GCC 8 is here correct and whether this
workaround causes further trouble.
2018-05-07 23:28:11 +02:00
Martchus 66e58e3971 Fix reading label in readDirRejected() 2018-05-02 00:01:19 +02:00
Martchus bde3734ea4 Add mocks for testing rejected events 2018-05-02 00:00:47 +02:00
Martchus 043d1c09c2 Set default re-connect interval to 30 seconds
See https://github.com/Martchus/syncthingtray/issues/16#issuecomment-383375598
2018-05-01 22:31:00 +02:00
Martchus 3857079f7e Add high-level notifications for new devs and dirs 2018-05-01 22:23:54 +02:00
Martchus 2c27cc27d0 Add signals for new devices and directories 2018-05-01 20:43:15 +02:00
Martchus 72e1377c43 Add tests for syncthingctl 2018-05-01 01:16:20 +02:00
Martchus 819d37eeee Test dealing with arbitrary config 2018-04-30 21:30:35 +02:00
Martchus 082eaa29b6 Allow mocking SyncthingService 2018-04-20 23:00:56 +02:00
Martchus b0dc9c861d Improve SyncthingProcess::splitArguments() parser 2018-04-18 23:46:17 +02:00
Martchus 0d635e5ad5 Refactor launcher
* Pass program and arguments directly
    * Prevent failure on white space in executable path
    * Use own parser for arguments
* Make libsyncthing accessible from launcher
2018-04-18 23:27:45 +02:00
Martchus f7dc8c93bd Ensure Syncthing doesn't try to upgrade during tests 2018-04-17 23:52:20 +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 278ba521d9 Fix warning for SYNCTHING_CONNECTION_LOG_SYNCTHING_EVENTS 2018-04-11 23:13:02 +02:00
Martchus d08aa005d7 Fix compilation without systemd support 2018-04-10 21:05:49 +02:00
Martchus fbdd1b2355 Include consistently with ./ 2018-04-08 21:53:23 +02:00
Martchus b61592fbbd Allow editing Syncthing config via JavaScript 2018-04-07 22:01:54 +02:00
Martchus c94b34595b Improve properties of SyncthingConnection 2018-04-04 20:18:42 +02:00
Martchus 0c104f60b8 Wait till all processes finished, ask for killing
See https://github.com/Martchus/syncthingtray/issues/15
2018-04-02 23:32:52 +02:00
Martchus f9305819a7 Update translations 2018-04-02 21:26:05 +02:00
Martchus ce7a4421fa Consider isActiveFor() for process also when systemd unavailable 2018-04-02 20:52:50 +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 c7ea5974e4 Allow editing config via syncthingctl 2018-04-01 23:01:37 +02:00
Martchus 754cd0c2e1 Allow printing current config 2018-04-01 20:21:51 +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 023279142b Fix "sync complete" notifications during upload
* Distinguish between local and remote FolderCompletion events
* Do not request completion via REST-API, the FolderCompletion
  event covers both - local and remote changes.
2018-03-31 22:07:05 +02:00
Martchus bfd51fcaff Refactor SyncthingConnection::readDirEvent() 2018-03-31 21:19:53 +02:00
Martchus d74738a8a4 Enable event logging for debugging purposes 2018-03-31 19:48:27 +02:00
Martchus 6828e96b53 Improve sync complete notifications
* Also consider remote updates
* Still massive notifications when uploading
  about local folder completed
2018-03-29 00:38:21 +02:00
Martchus e6642245df Improve coding style in SyncthingConnectionSettings::loadHttpsCert() 2018-03-29 00:36:42 +02:00
Martchus c1efb690ef Update translations 2018-03-24 17:06:47 +01:00
Martchus b12988e342 Apply clang-format from LLVM 6 2018-03-24 17:06:16 +01:00
Martchus 914aac6e39 Make bash completion faster by requesting only config 2018-02-19 03:22:47 +01:00
Martchus 6be44cc93f Allow restart via plasmoid 2018-02-19 01:38:41 +01:00
Martchus e6ac3d8599 Update status when config updated 2018-02-18 18:13:06 +01:00
Martchus d20a4aea19 Avoid nesting in SyncthingConnection::continueConnecting() 2018-02-18 18:12:22 +01:00
Martchus c4d63e0e7c Ignore old FolderCompletion events 2018-01-28 18:07:39 +01:00
Martchus 38ac3504b2 Update German translation 2018-01-27 23:38:26 +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 b9c87a9bba Show remote progress in cli 2018-01-25 00:03:31 +01:00
Martchus 447928a018 Request device/directory completion 2018-01-24 21:46:18 +01:00
Martchus 53dafd1627 Complete German translation 2017-12-30 01:04:02 +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 841b250680 Add SyncthingNotifier class
First step of refactoring compution of high-level
notifications to prevent code duplication for compution
of "disconnected" and "sync complete" events.
2017-12-30 00:28:03 +01:00
Martchus e6b97e1ecc Clean code for dealing with folder (scan) completion 2017-11-22 00:29:50 +01:00
Martchus 4f58e054d5 Improve test mode (mocked SyncthingConnection)
* Add further events allowing to reproduce download
  model issues visible in Plasmoid
* Use TestApplication to find testfiles
2017-11-12 17:03:30 +01:00
Martchus bc239b9292 Update translations 2017-11-01 18:30:32 +01:00
Martchus 40465a8abb connector: Add method to find dir by path 2017-10-16 19:41:56 +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 b692c29e50 Fix possible segfaults in set...Paused() functions
Check whether iterator is valid befor dereferencing
2017-10-01 21:19:41 +02:00
Martchus 044f20343c cli: Use error phrases from c++utilities 2017-09-26 15:43:34 +02:00
Martchus 2ee7b9af64 plasmoid: Improve settings
* Configure appearance options via Plasmoid specific
  settings
* Allow to configure the size
* Remember last connection config
2017-09-18 20:29:36 +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 eb70f5a3f4 Fix warnings about unused variables 2017-09-17 20:32:29 +02:00
Martchus 8d35251234 Update translations 2017-09-09 21:40:19 +02:00
Martchus 144feb426c Prevent rescanning all dirs if no dir ID specified 2017-09-09 21:31:05 +02:00
Martchus 012ca9a0b3 Update translations 2017-09-08 17:01:52 +02:00
Martchus 582c800b7c Add directory errors to mock config 2017-09-08 17:01:51 +02:00
Martchus 1e0f746770 systemd integration: Make all relevant properties notifyable 2017-09-08 17:01:51 +02:00
Martchus 9a9ee2c10e Don't export Syncthing{Dir,Dev}Status to QML
Qt doesn't handle enum class correctly so those enums
would conflict with SyncthingStatus
2017-09-08 17:01:51 +02:00
Martchus 6585117186 Add SyncthingConnection::isLocal() 2017-09-08 17:01:51 +02:00
Martchus 408f77f844 Allow moving connection configurations up and down 2017-09-07 16:42:24 +02:00
Martchus fe0688cb27 Only add helpers for mocked SyncthingConnection if required 2017-09-05 00:35:54 +02:00
Martchus c690af9679 Update translations 2017-09-05 00:29:15 +02:00
Martchus 62b94b8460 Show offset of JSON parsing error 2017-09-05 00:23:17 +02:00
Martchus 2747ce76ff Allow compiling connector with mocked SyncthingConnection 2017-09-05 00:22:52 +02:00
Martchus 80c2a4212e Show global/local dir status in Dolphin action 2017-08-30 00:36:49 +02:00
Martchus 8dce7de433 Update translations 2017-08-30 00:14:59 +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 6b01e42fe4 Fix parsing time from folder summary 2017-08-30 00:01:34 +02:00
Martchus 6c6d7f00d5 Emit status update on each dir status change 2017-08-24 01:52:07 +02:00
Martchus af8327ece0 Show global and local dir status 2017-08-24 01:52:07 +02:00
Martchus 85ac283455 Consider event time when reading FolderSummary 2017-08-23 23:57:47 +02:00
Martchus 4136e23148 Get current dir status when connecting 2017-08-23 23:56:31 +02:00
Martchus ab2efb7012 Distinguish between requestDirStatistics and requestDirStatus 2017-08-23 23:55:19 +02:00
Martchus 91f7dc38d3 Fix HTTP method for "db/status" 2017-08-23 23:54:07 +02:00
Martchus ca256b62e8 Refactor SyncthingConnection
* Reduce if-cascades
* Add extra method for handling fatal errors
* Read directory summary in extra method
* Allow requesting summary for directory explicitely
2017-08-23 00:22:02 +02:00
Martchus be6d0cbf5d Don't show own dev in shared devs of dir 2017-08-22 20:44:49 +02:00
Martchus 9b45c49b97 Show names for the devs a dir is shared with
(previously only the IDs were shown)
2017-08-22 19:45:07 +02:00
Martchus 3ff4f69180 Remove leftover from testing 2017-08-21 21:46:50 +02:00
Martchus ed1b13d43e Fix rescanning part of connection tests 2017-08-21 01:01:20 +02:00
Martchus cc6fec91c1 Dump config during connection tests only when enabled
by setting environment variable SYNCTHING_TEST_DUMP_CONFIG_UPDATES
2017-08-21 01:00:41 +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 c843548baa Disable systemd support by default under MacOS 2017-08-06 00:38:30 +02:00
Martchus 6e7873e114 Add Qt Network as public dependency of connector 2017-08-06 00:37:49 +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 fc307f0911 Update translations 2017-07-14 20:21:37 +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 471fb7c363 Fix checking number of expected SSL errors 2017-07-11 23:04:56 +02:00
Martchus f95ad68a3a Link testhelper against connector, remove global includes 2017-07-11 22:53:45 +02:00
Martchus 8f672eef14 connector tests: Remove unused 'this' capture 2017-07-11 19:35:40 +02:00
Martchus e4a382e4e8 Improve connector tests
Region coverage now by 74.4417%
2017-07-09 23:34:43 +02:00
Martchus ac6150d677 connection tests: Increase all timeouts for resuming/pausing
And apply clang-format
2017-07-08 01:17:19 +02:00
Martchus 570c2606f7 connection tests: Increase timeouts for resuming/pausing 2017-07-03 21:56:39 +02:00
Martchus 8fa6da5b9d connection tests: Ensure dirs and devs are ready 2017-07-03 14:07:20 +02:00
Martchus da8f6f7353 Apply tidy 2017-07-02 22:08:30 +02:00
Martchus 55757b1e57 connector: Refactor and improve tests 2017-07-02 21:47:59 +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 5d05e9a5df Fix compatibility with Qt < 5.8 2017-06-09 12:16:25 +02:00
Martchus 2845f5883d Fix compiling tests under 32-bit arch 2017-06-01 11:11:38 +02:00
Martchus b2aab9eb16 Show number of connected devs in tool tip 2017-05-30 15:06:34 +02:00
Martchus b2af9fc12d Export meta data for Data namespace 2017-05-11 00:02:20 +02:00
Martchus b1d9df73d1 Apply clang-format 2017-05-04 22:48:45 +02:00
Martchus 732a5fdd8d Apply clang-format 2017-05-01 03:34:43 +02:00
Martchus 16d62bb0c6 Provide default c'tor for registered meta-types 2017-04-23 14:15:03 +02:00
Martchus 01610f5027 Register some enums/structs as Qt meta-type
Reuired when creating a Plasmoid because these
types might be accessed from QML then
2017-04-23 14:02:15 +02:00
Martchus 675c1fb669 Use DateTime::unixEpochStart() 2017-04-19 22:09:47 +02:00
Martchus 40b8713ba6 Move test helper to separate library
Allows to share common test helper code
between tests for different components
2017-04-01 16:56:36 +02:00
Martchus 1168e31f55 cli: Add shortcut for current working directory
syncthingctl pwd status/rescan/resume/pause
2017-03-29 23:17:53 +02:00
Martchus 39b23842a8 Fix reconnecting test 2017-03-20 21:19:47 +01: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
Marius Kittler aa5a057aab Fix 'no return' error when building rpm package 2017-03-14 12:39:46 +01:00
Martchus 6c51a470b7 Improve connector tests
Still not sure why reconnecting fails with GCC
2017-03-11 18:07:49 +01:00
Martchus 0868f2cf6a Extend tests of connector library 2017-03-09 23:10:03 +01:00
Martchus a3887749a5 Test SyncthingConnection class 2017-03-09 02:58:13 +01:00
Martchus 02c4c778e5 Update translations 2017-02-23 23:20:45 +01:00
Martchus 8332176bf6 Improve pauseResumeDirectory()
* Use compact JSON
* Don't do anything if no dirs specified
* Note Syncthing issue
2017-02-23 23:12:38 +01:00
Marius Kittler 189a985e23 Support pause/resume directories in CLI 2017-02-23 23:12:38 +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 6ec35fa203 Update translations 2017-02-20 18:42:27 +01:00
Martchus eab769b654 Move status strings to connector backend 2017-02-20 18:42:27 +01:00
Martchus e7c03881f1 Support rescan of single files/dirs 2017-02-20 18:42:27 +01:00
Martchus 8ed032f3d1 Determine Syncthing URL from config in backend 2017-02-20 18:42:27 +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 a414c1a43a Add D-Bus interface file for logind 2017-01-14 21:37:42 +01:00
Martchus 3d088948fd Ensure translations for service aren't removed
* Add those files unconditionally
* Add conditions inside the files instead
2017-01-14 21:36:37 +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 d923d8efff Don't override error reply when clearing errors 2017-01-13 11:42:01 +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 ac0492d890 Clear Syncthing errors when considering read 2017-01-12 22:14:23 +01:00
Martchus f03af9c3cb Ensure connect with settings actually connects 2017-01-12 22:09:54 +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 aa6fd0520e Make c'tor explicit 2017-01-06 15:19:37 +01:00
Martchus 40348da1a7 Fix condition for systemd support 2017-01-03 00:34:48 +01:00
Martchus edba991d89 Don't show start/stop button when feature disabled 2017-01-03 00:29:15 +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 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 78450a2b7e Allow controlling Syncthing systemd service 2016-12-26 19:05:47 +01:00
Martchus 76ccd5fd1f Update translations 2016-12-13 21:36:05 +01:00
Martchus 2b75f1f3e5 Don't show error for each re-connect attempt 2016-12-12 23:45:40 +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 18a3a3f0ea Declare public dependencies 2016-11-08 20:00:20 +01:00
Martchus 992617ccc3 Show relevant dirs when sync complete 2016-11-08 19:44:45 +01:00
Martchus 9e8a92c0ff Process 'ConfigSaved' events 2016-11-01 17:06:31 +01:00
Martchus ad5e724f44 Add SyncthingDirStatus::Unshared 2016-11-01 16:59:58 +01:00
Martchus 98dcfdd609 Specify Breeze being used for fallback icons 2016-11-01 14:07:36 +01:00
Martchus b1a2248a6c Ensure dev status is not reverted 2016-10-30 19:13:18 +01:00
Martchus ba3db70604 Fix reading high traffic values 2016-10-20 23:14:47 +02:00
Martchus 773e90aa1f Update translations 2016-10-17 23:13:40 +02:00
Martchus 138a7cc382 Allow auto-reconnect 2016-10-07 15:11:25 +02:00
Martchus ae325e0a6f Move test data to model
Each subdir should have its own test data
2016-10-06 23:39:56 +02:00
Martchus 73bb321123 Add translations for backend libs 2016-10-05 23:01:53 +02:00
Martchus 9b92b72bfd Improve handling folder errors 2016-10-05 22:33:10 +02:00
Martchus 7b0dd785c2 Improve detecting remote connection in loadSelfSignedCertificate() 2016-10-05 21:08:28 +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 0a0aa9742c Don't emit statusChanged when destroying SyncthingConnection 2016-10-03 01:16:04 +02:00
Martchus a979b5327c Fix issues in build scripts 2016-10-03 00:41:38 +02:00
Martchus d03b8d8a74 Fix status error message 2016-10-02 22:26:12 +02:00
Martchus f82ed3ba47 Allow shutdown via CLI 2016-10-02 22:16:43 +02:00
Martchus 1f21c2dc52 Add syncthingctl, see README.md 2016-10-02 21:59:28 +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