131 Commits

Author SHA1 Message Date
Nino van Hooff
3ca703f00c Merge remote-tracking branch 'origin/CURA-7290_manual_account_sync' into CURA-7290_manual_account_sync 2020-05-12 14:19:51 +02:00
Nino van Hooff
903c251f34 Additional account sync documentation
CURA-7290
2020-05-12 14:19:36 +02:00
Jaime van Kessel
6af502088e
Fix typing issue
CURA-7290
2020-05-12 13:25:36 +02:00
Kostas Karmas
96387ef2aa Add tests for loginWithForcedLogout() in account
CURA-7427
2020-05-12 13:06:47 +02:00
Nino van Hooff
3e1b695c43 Add some missing account sync timer logic
CURA-7290
2020-05-12 11:55:50 +02:00
Nino van Hooff
8e75da552d Do not inherit SyncState from QObject
not necessary and fixes mypy warning

CURA-7290
2020-05-12 11:23:14 +02:00
Kostas Karmas
b717755f20 Add "Sign in with another account" button in AddCloudPrintersView
There are cases where Cura and the browser fall out of sync when it
comes to accounts. In such cases, you may be logged in cura with an
account that has no cloud printers and in the browser with an account
that has printers. So when you press the "Add cloud printer" button,
you are redirected to mycloud and you see cloud printers that are not
detected by Cura (because Cura is in a different acconut). In such
cases, the user can now press the "Sign in with a different account"
link in the "Waiting for cloud response" page, which will log him/her
out in Cura AND in the browser, and then reinitiate the whole
authorization flow, to make sure the accounts are in sync.

CURA-7427
2020-05-11 17:47:09 +02:00
Nino van Hooff
176919eee0 Merge branch 'master' into doxygen_to_restructuredtext_comments
# Conflicts:
#	plugins/CuraEngineBackend/CuraEngineBackend.py
#	plugins/CuraEngineBackend/StartSliceJob.py
2020-05-08 15:31:23 +02:00
Nino van Hooff
1ae050bbc5 Expose Account.SyncState as an Enum to QML
Provides a single source of truth

CURA-7290
2020-05-08 11:09:48 +02:00
Nino van Hooff
8937c63219 Finish merge of auto sync packages
CURA-7290
2020-05-06 16:08:47 +02:00
Nino van Hooff
9b79b70f2b Merge branch 'CURA-7290_auto_sync_packages' into CURA-7290_manual_account_sync
# Conflicts:
#	cura/API/Account.py
#	plugins/UM3NetworkPrinting/src/Cloud/CloudOutputDeviceManager.py
2020-05-06 16:03:37 +02:00
Nino van Hooff
ef6cf8d5cc Remove unused pyqtProperty
CURA-7290
2020-05-06 12:08:55 +02:00
Nino van Hooff
7322526791 Fix typing warning
CURA-7290
2020-05-04 17:30:32 +02:00
Nino van Hooff
eac884fcd2 Convert SYNC_STATES to Enum
CURA-7290
2020-05-04 17:26:38 +02:00
Nino van Hooff
88ff68e40c Also check for package updates automatically
Moves the 30-second sync timer from CloudOutputDeviceManager to
Account and subscribes CloudPackageChecker to the timer.

CURA-7290
2020-05-04 16:56:09 +02:00
Nino van Hooff
637a241d99 Use single qml file for sync states
CURA-7290
2020-05-04 15:13:38 +02:00
Nino van Hooff
049c1946d4 Create Account sync state interface to allow for multiple sync services
Needed to add the package sync

CURA-7290
2020-05-04 13:52:40 +02:00
Nino van Hooff
81d02d5d58 Implement printer cloud sync error state
CURA-7290
2020-05-04 13:19:16 +02:00
Nino van Hooff
4e7f446fe1 Account sync: create additional sync states
CURA-7290
2020-05-04 11:26:20 +02:00
Nino van Hooff
4b88247af8 Account sync: remove debug info
CURA-7290
2020-05-01 17:49:40 +02:00
Nino van Hooff
acf36d1e42 Add Account sync last update datetime
CURA-7290
2020-05-01 17:44:58 +02:00
Nino van Hooff
0aed6d3731 Connect the manual sync button
CURA-7290
2020-05-01 15:56:09 +02:00
Nino van Hooff
828e931f52 Add manual sync button (non-functional)
CURA-7290
2020-04-30 17:19:14 +02:00
Kostas Karmas
ea404af973 Transfer cloudPrintersDetectedChanged in DiscoveredUltimakerCloudPrintersModel
CURA-7022
2020-04-28 14:19:28 +02:00
Jelle Spijker
679739d09d
Applied requested changes proposed by @ninovanhooff
Fixed a couple of missed double quotes, trailing and leading spaces, to long comment lines
2020-04-27 20:09:00 +02:00
Kostas Karmas
1602b71841 Inform the Cloud page about new cloud printers
Properly close the welcome screen if the user has signed in and has
cloud printers linked to his/her account. If he doesn't have any, move
to the next page of the welcome wizard.

CURA-7019
2020-04-23 09:59:32 +02:00
Jelle Spijker
68318d20fd
Converted comments in dir Cura/cura/API to rst style
Converted doxygen style comments to reStructuredText style in the files found in Cura/cura/API directory recursively  using the script dox_2_rst.py (provided in the Uranium repo). Comments were manually checked and changed if needed.

Comments from the hidden attributes in the class CuraAPI (_acount, _backups, _interface) were moved to the public property getters, so they docstrings are exposed to the user.
2020-04-22 20:57:41 +02:00
Nino van Hooff
96ed85f9c0 Move UltimakerCloudAuthentication and UltimakerCloudScope
...to their own module
Fixes an import error where UltimakerCloudScope was used my both the
Toolbox and CuraDrive plugins

CURA-7150
2020-03-12 17:48:54 +01:00
Ghostkeeper
305bce5a78
Enforce Cura API to be a singleton
If it's not used that way we want to know about it and fail.

If plug-ins use it this way, the plug-in won't get initialised so it'll be as if the plug-in is disabled or that function doesn't work.

Contributes to issue CURA-7135.
2020-01-27 16:28:26 +01:00
Ghostkeeper
4e361a068c
Revert "Merge pull request #5726 from Ultimaker/CL-1331_use_API_for_UM3NetworkPrinting"
This reverts commit bec7b6546d3f7de457418a2e15f08c1e6dfa3148, reversing
changes made to 7094b222b10076af3a13f11b03dd3416eae12156.

The changes there were not accepted. Please see pull request https://github.com/Ultimaker/Cura/pull/5726 for the discussion about this.

Conflicts:
	plugins/UM3NetworkPrinting/src/UM3OutputDevicePlugin.py -> Just in one TODO comment.
2019-05-23 13:40:11 +02:00
Ian Paschal
51d298cca5 Update Machines.py
Contributes to CL-1331
2019-05-15 10:58:56 +02:00
Ian Paschal
20e4142667 Final typing fix
Contributes to CL-1331
2019-05-15 10:51:18 +02:00
Ian Paschal
59eb9bbab1 Make connection types list ints
Contributes to CL-1331
2019-05-15 10:47:25 +02:00
Ian Paschal
02cb41e007 Improve typings
Contributes to CL-1331
2019-05-15 10:31:00 +02:00
Ian Paschal
c7f6351903 Add typings
Contributes to CL-1331
2019-05-15 10:09:27 +02:00
Ian Paschal
e39769cc00 Fix last typing issue
Contributes to CL-1331
2019-05-13 14:59:23 +02:00
Ian Paschal
b8ab9f6398 Fix typings
Contributes to CL-1331
2019-05-13 14:53:58 +02:00
Ian Paschal
177e031f4f Add "lite" Machine class
Contributes to CL-1331
2019-05-13 14:45:02 +02:00
Ian Paschal
df6898ae45 Add connection_types to fake machine
Contributes to CL-1331
2019-05-09 16:41:15 +02:00
Ian Paschal
d391ec4e6b Comments
Contributes to CL-1331
2019-05-09 16:41:01 +02:00
Ian Paschal
b3276777b7 Expose machines API to QML
Contributes to CL-1331
2019-05-09 16:19:59 +02:00
Ian Paschal
03fd9da417 Always return a fake machine, even if empty
Contributes to CL-1331
2019-05-09 16:19:39 +02:00
Ian Paschal
26ab359a93 Add more endpoints to machines API
- getCurrentMachine
- setCurrentMachineGroupName
- updateCurrentMachineConfiguration

Also shortened `global_container_stack` to `global_stack` since every stack is a container stack.

Contributes to CL-1331
2019-05-09 16:01:44 +02:00
Ian Paschal
dc21269834 Add first machines endpoint
Contributes to CL-1331
2019-05-09 14:52:08 +02:00
Jaime van Kessel
5f76070f05 Fix situation where authtoken wasnt updated for the toolbox request headers 2019-04-25 16:16:44 +02:00
Jaime van Kessel
c35aabd2c4 Add message to indicate that Cura was unable to connect with account server
This happens when you were logged previously, but currently don't have internet acces.

CURA-6231
2019-02-19 13:34:04 +01:00
ChrisTerBeke
05c4b6012e
Calculate expiry date to determine if token refresh is needed 2019-02-08 21:39:45 +01:00
ChrisTerBeke
56f0a341bc Fix merge conflicts 2019-01-10 15:17:53 +01:00
Jaime van Kessel
bca070d567 Fixed typing
CURA-6005
2019-01-04 11:41:21 +01:00
Diego Prado Gesto
da69c16e09 Split the constants in to files, indicating which constants each file
stores.

Contributes to CURA-6005.
2018-12-18 16:14:13 +01:00