7488 Commits

Author SHA1 Message Date
Kostas Karmas
1c9ce25614 Change lifetime of the removed_printers_message to 30 seconds
After 30 seconds a new sync will be initiated, which will alter the
conents of self.reported_device_ids, thus making the current message
deprecated. Therefore, it is best to have a maximum lifetime of 30
seconds.

CURA-7454
2020-06-09 17:24:36 +02:00
Kostas Karmas
567f6dabdc Add option to remove all printers not linked to the account
When the "Printers removed from account" message pops up, it will give
the option to the user to remove all the printers that are not linked
to his/her account from Cura. Since this action removes all
configurations, it first pops a confirmation question box, and if the
user insists, these printers are purged from Cura.

Note: In order to properly delete all the files, the printers have to
be activated first before they are removed, or else some extruder
files in %appdata%/cura/<version>/user and %appdata%/cura/<version>/
extruders remain.

CURA-7454
2020-06-09 15:40:30 +02:00
Kostas Karmas
f0dda6553b Merge branch 'CURA-7455_Keep_printer_configurations_when_cloud_printer_removed_from_account' into CURA-7454_Add_remove_printers_button_in_removed_printers_from_account_message 2020-06-09 15:04:54 +02:00
Kostas Karmas
01230cff00 Merge branch 'CURA-7438_Show_cloud_connection_not_available_printer_removed_from_account' into CURA-7455_Keep_printer_configurations_when_cloud_printer_removed_from_account 2020-06-09 15:04:41 +02:00
Kostas Karmas
8e1ed6cd29 Merge branch 'master' into CURA-7454_Add_remove_printers_button_in_removed_printers_from_account_message 2020-06-09 15:03:23 +02:00
Nino van Hooff
1024879f9d Process Review feedback for CURA-7438
Renames UltimakerCloudAuthentication to UltimakerCloudConstants

Cura-7438
2020-06-09 13:41:30 +02:00
Ghostkeeper
c6af6565a3
More descriptive and appropriate logging
Contributes to issue CURA-7488.
2020-06-08 17:58:42 +02:00
Ghostkeeper
7e10e74e9e
Don't send print job in chunks
Previously the print job was sent with multiple PUT requests. This was necessary since the request was made with the Python Requests library, which freezes the interface while it's running. By breaking the upload up in chunks, it would at least periodically keep updating the interface (4 times per second or so, depending on your internet speed and Ultimaker's). Later on, this was replaced by a QNetworkRequest which doesn't freeze the interface in a refactor, but it was still broken up in chunks.
Recently that was again refactored to use Uranium's HttpRequestManager, which under the covers also uses QNetworkRequest. This also doesn't freeze while uploading, which is good. However for some reason the second chunk would always give a QNetworkReply::ProtocolUnknownError, which is a bit of a catch-all error for any HTTP status codes not supported by Qt. I was not able to figure out what was really going wrong there, but it has something to do with the content-range header and making multiple requests.
Instead of fixing that, I've removed the chunking. This simplifies the code a lot and doesn't have any implications for the user, since it still doesn't freeze the interface while the network request is ongoing. It should be slightly faster to upload, and reduce load on the server too.

However the disadvantage is that the original bug is probably still there if it was a bug in the HttpRequestManager. If it was a bug in the ToolPathUploader I probably deleted the bug here.

Contributes to issue CURA-7488.
2020-06-08 17:55:07 +02:00
Kostas Karmas
7ba400254d Merge branch 'CURA-7455_Keep_printer_configurations_when_cloud_printer_removed_from_account' into CURA-7454_Add_remove_printers_button_in_removed_printers_from_account_message 2020-06-08 09:22:39 +02:00
Ghostkeeper
44abd08b32
Use newer extruderList rather than deprecated extruders property
Done during Turbo Testing and Tooling.
2020-06-05 15:17:36 +02:00
Ghostkeeper
43980e90cd
Use extruderList rather than extruders property
Done during Turbo Testing and Tooling.
2020-06-05 15:17:36 +02:00
Ghostkeeper
336bd2bd16
Use extruderList rather than deprecated extruders property
Done during Turbo Testing and Tooling.
2020-06-05 15:17:35 +02:00
Ghostkeeper
9fab964afe
Merge branch 'master' of github.com:Ultimaker/Cura 2020-06-05 13:48:52 +02:00
Remco Burema
7fd7b3a868
Merge branch 'master' of https://github.com/Ultimaker/Cura 2020-06-05 13:29:53 +02:00
Remco Burema
670f1df6c7
Show latest version nr. available in firmware-update-checker-message. 2020-06-05 13:29:21 +02:00
Kostas Karmas
42daef0a75 Remove spam info message 2020-06-05 13:20:38 +02:00
Ghostkeeper
7ec681a04d
Merge branch 'feature_support_meshes_present' of https://github.com/fieldOfView/Cura into fieldOfView-feature_support_meshes_present 2020-06-05 13:20:31 +02:00
Kostas Karmas
27b733fe3d Add "Keep printer configurations" button in removed printers message
Since keeping the printers as local ones is the default action, this
button behaves the same way as the "X" button, hiding the message.

CURA-7455
2020-06-05 11:39:26 +02:00
Kostas Karmas
167a4c1f58 Make reported_device_ids a class variable
So that the actions that can be performed by the message buttons
can properly access the list and take the necessary steps to achieve
their purpose.

CURA-7438
2020-06-05 11:25:44 +02:00
Kostas Karmas
458b439a9a Rename META_REMOVED_FROM_ACCOUNT to META_LINKED_TO_ACCOUNT
The meta data entry was rename to be more representative of its
function. In addition, the bool metadata entry is now properly
handled using the parseBool function.

CURA-7438
2020-06-04 16:14:09 +02:00
Kostas Karmas
9e891c201b Merge branch 'master' into CURA-7438_Show_cloud_connection_not_available_printer_removed_from_account 2020-06-04 15:25:43 +02:00
Kostas Karmas
ee7f2d4b38 Handle the case when a cloud printer is removed from the account
When a cloud printer is no longer received from mycloud, it is safe to
assume that the printer is removed from the account. In such a case,
the new function _devicesRemovedFromAccount(..) will retrieve all the
devices that are to be removed (i.e. they are added in Cura but they
do not exist in the clusters received from mycloud) and will remove
their output device. In addition the function will generate a message
that mentions all the devices that were no longer linked to the
account.

In order to achieve that, the Cloud/CloudOutputDeviceManager is
enriched with the dictionary self._um_cloud_printers that contains all
the currently existing cloud-enabled devices that were previously added
in Cura. In addition, the meta-data field "removed_from_account" is
added to all the cloud-enabled Cura devices to distinguish the ones
actually linked to the current account.

With these additions, the cloud devices that are removed from the
account will be automagically re-linked to it once the devices are once
again retrieved from mycloud for the specific account.

CURA-7438
2020-06-04 14:56:58 +02:00
Jaime van Kessel
fd2a7689cc
Remove overly spammy logging 2020-06-04 14:32:37 +02:00
Gabriel Vogel
2ebf32831a remove duplicate updates for model properties 2020-06-04 13:50:24 +02:00
Ghostkeeper
9b6f10b6e7
Merge branch '4.6' 2020-06-04 13:37:44 +02:00
Ghostkeeper
2e5f4764bd
Remove duplicated version upgrade plug-in
These two version upgraders do the same operation. Their code is copied. Instead, we can just let one version upgrader upgrade both versions of the files.

Contributes to issue CURA-7413.
2020-06-04 13:37:30 +02:00
fieldOfView
c34162a2ba Merge branch 'master' into feature_support_meshes_present
# Conflicts:
#	cura/Scene/CuraSceneController.py
#	cura/Scene/CuraSceneNode.py
2020-06-04 10:27:11 +02:00
Ghostkeeper
b2ce1419cf
Don't crash when syncing material that has no colour code
Use the colour code for Generic PLA then.
2020-06-03 17:48:28 +02:00
Ghostkeeper
1e49438c03
Merge branch 'master' of https://github.com/victornpb/Cura into victornpb-master 2020-06-03 16:21:50 +02:00
Kostas Karmas
be9aec624a Use the um_cloud_cluster_id metadata when removing the cloud printer
CURA-7457
2020-06-03 11:13:21 +02:00
Kostas Karmas
d0534c0476 Update _remote_clusters dict when cloud printer is removed from Cura
CURA-7457
2020-06-02 15:23:35 +02:00
Jaime van Kessel
f1d3c2272e
Merge branch 'CURA-7458_Add_offline_cloud_printers_in_Cura' of github.com:Ultimaker/Cura 2020-06-02 10:55:21 +02:00
Victor
63e7e2b382
Added 76800 baud rate 2020-06-02 00:03:12 -03:00
Victor
accd205185
Added 76800 baud rate 2020-06-02 00:02:24 -03:00
Ghostkeeper
1bb4458dca
Remove use of deprecated extruders property
This also removes the need to sort them, since the list is already sorted by position.

Done during Turbo Testing and Tooling.
2020-05-29 17:45:41 +02:00
Ghostkeeper
1fb78d23a5
Remove usage of deprecated extruders property
Use extruderList instead.

Done during Turbo Testing and Tooling.
2020-05-29 17:42:18 +02:00
Ghostkeeper
da61096efe
Remove uses of deprecated extruders property
It's been replaced by extruderList now.

Done during Turbo Testing and Tooling.
2020-05-29 17:38:34 +02:00
Ghostkeeper
9c78178561
Fix running automated tests from source with different SIP version
This prevents the PyCapsule_GetPointer error when running the tests for this plug-in.

Done during Turbo Testing and Tooling.
2020-05-29 17:31:58 +02:00
Ghostkeeper
e7371bd741
Use extruderList rather than deprecated extruders property
Done during Turbo Testing and Tooling.
2020-05-29 17:02:22 +02:00
Nino van Hooff
98587a9008
Merge pull request #7551 from Ultimaker/doxygen_to_restructuredtext_comments
Converted doxygen style comments to reStructuredText style
2020-05-29 16:46:25 +02:00
Nino van Hooff
89f0970a88 Remove trailing whitespace from Python files 2020-05-29 14:30:33 +02:00
Nino van Hooff
1e33360c35 Fix merge mistake in ToolPathUploader 2020-05-29 14:12:47 +02:00
Kostas Karmas
5aff6218d5 Add the offline cloud printers in Cura when they are discovered
CURA-7458
2020-05-29 14:02:36 +02:00
Nino van Hooff
58ffc9dcae Merge remote-tracking branch 'origin/master' into doxygen_to_restructuredtext_comments
# Conflicts:
#	cura/API/__init__.py
#	cura/Settings/CuraContainerRegistry.py
#	cura/Settings/ExtruderManager.py
#	plugins/PostProcessingPlugin/scripts/PauseAtHeight.py
#	plugins/UM3NetworkPrinting/src/Cloud/CloudApiClient.py
#	plugins/UM3NetworkPrinting/src/Cloud/ToolPathUploader.py
#	plugins/UM3NetworkPrinting/src/Network/LocalClusterOutputDeviceManager.py
2020-05-28 17:31:24 +02:00
Jaime van Kessel
f7921394bf
Merge branch '4.6' of github.com:Ultimaker/Cura 2020-05-28 17:21:42 +02:00
Jaime van Kessel
7e53bc179f
Add beta upgrader
CURA-7413
2020-05-28 17:13:26 +02:00
Nino van Hooff
bb2a176e36 Convert doxygen to rst for VersionUpgrades 40+ 2020-05-28 16:21:49 +02:00
Nino van Hooff
5af9faf5e5 Convert doxygen to rst for X3DReader, XmlMaterialProfile, XRayView 2020-05-28 16:08:51 +02:00
Konstantinos Karmas
56e8827d00
Merge pull request #7831 from Ultimaker/CURA-7437_no_internet_cloud_status
CURA-7437_no_internet_cloud_status
2020-05-28 10:02:15 +02:00
Nino van Hooff
6035adb963 Fix return type in GCodeProfileReader 2020-05-27 14:24:28 +02:00