Ghostkeeper
2d53a548dc
Remove superfluous error handling
...
If there is an error, it'll go into onError and handle the error there.
Contributes to issue CURA-8609.
2021-10-12 17:38:47 +02:00
Ghostkeeper
cf860829c7
Provide upload request metadata as body of a PUT request
...
Apparently the API is now a PUT request rather than a GET request. It needs a bit more metadata which can be hard-coded for our client.
Contributes to issue CURA-8609.
2021-10-12 17:21:25 +02:00
Ghostkeeper
2b6a82ecf1
Match on strings for metadata
...
It doesn't automatically cast these in the query.
Contributes to issue CURA-8609.
2021-10-12 17:08:58 +02:00
Ghostkeeper
3ffffad1ed
Send progress update when failed
...
And update all of the printer statuses to make them appear failed, if we have a general failure in an earlier stage.
Contributes to issue CURA-8609.
2021-10-12 16:15:58 +02:00
Ghostkeeper
0fa6f650f6
Expose printer status updates via progress update signal
...
This way we can ask the printer status from QML even if it's updated via a job on a different thread and different class and all that.
Contributes to issue CURA-8609.
2021-10-12 16:06:53 +02:00
Ghostkeeper
8607eb5cff
Store printer sync status flag per printer
...
Because we'll need to display it per printer.
Contributes to issue CURA-8609.
2021-10-12 15:49:43 +02:00
Ghostkeeper
54d51536b0
Improve error-handling per printer
...
We can now know which printers failed to sync and which succeeded.
Contributes to issue CURA-8609.
2021-10-12 13:55:03 +02:00
Ghostkeeper
d4d17095bb
Implement confirming for all printers to send material sync
...
We need to make this request for every printer.
Contributes to issue CURA-8609.
2021-10-12 13:39:04 +02:00
Ghostkeeper
f677b338fd
Always provide error message if upload failed
...
Contributes to issue CURA-8609.
2021-10-12 13:19:09 +02:00
Ghostkeeper
a6b6b075ea
Always provide error message if upload failed
...
Contributes to issue CURA-8609.
2021-10-12 13:16:28 +02:00
Ghostkeeper
4ccd4caaad
Store material profile ID received from the upload request
...
We'll need this later to be able to tell the server which material archive it should send to certain printers.
Contributes to issue CURA-8609.
2021-10-12 13:04:22 +02:00
Ghostkeeper
bdc269f8ab
Provide file size and an arbitrary name to the upload request
...
Apparently the Cloud will need to know the file size before it gets uploaded. It is used as a redundancy code to verify that it's not corrupt there.
Perhaps they should ask for a CRC instead, being more reliable against an upload containing only null bytes or whatever, but that is not up to me to decide.
Contributes to issue CURA-8609.
2021-10-12 13:00:08 +02:00
Ghostkeeper
f0d69cbef2
Add file data to PUT request
...
The main point of the whole request, really.
Contributes to issue CURA-8609.
2021-10-12 12:56:19 +02:00
Ghostkeeper
d5e3ed4c0e
New material API endpoint URL
...
This is the new URL they have settled on.
Contributes to issue CURA-8609.
2021-10-12 11:39:26 +02:00
Ghostkeeper
125c80430b
Show more information about errors we're getting
...
Show the error code we received in the GUI, and allow expansion for different types of errors.
Contributes to issue CURA-8609.
2021-10-12 11:30:12 +02:00
Ghostkeeper
025ef743ee
Track progress from export job
...
This way we can show a progress bar.
Contributes to issue CURA-8609.
2021-10-12 10:24:07 +02:00
Ghostkeeper
4661b02e4c
Move code and status related to uploading materials to separate class
...
There's quite a lot of status to track, errors and progress. It's better kept separate.
Contributes to issue CURA-8609.
2021-10-12 09:43:21 +02:00
Ghostkeeper
c3d392c5cf
Show upload error or success in header once completed
...
According to the brand new design.
Contributes to issue CURA-8609.
2021-10-11 15:27:54 +02:00
Ghostkeeper
ffd3277854
Show error if the upload failed
...
Contributes to issue CURA-8609.
2021-10-11 14:57:21 +02:00
Ghostkeeper
e7b49ee551
Disable sync button while in progress
...
Need to show a bit more feedback I think. Let's see what the design said...
Contributes to issue CURA-8609.
2021-10-11 13:11:54 +02:00
Ghostkeeper
4aa10ba42f
Use initial layer line width factor from adhesion extruder
...
This is a per-extruder setting. So get it from the proper extruder.
2021-10-11 10:08:11 +02:00
Jaime van Kessel
285a4584e7
Improve speed of the inherit button
...
A few unneeded conversions were done. Also moved one check to python from JS
2021-10-08 18:12:35 +02:00
Ghostkeeper
9729f4f3d2
Set properties immediately upon constructing
...
Instead of afterwards. A bit more efficient.
Contributes to issue CURA-8609.
2021-10-08 17:46:10 +02:00
Ghostkeeper
2b785343b5
Implement basic uploading of material
...
Steps involved are:
- Create an archive of all materials.
- Request the cloud API to provide a URL to upload the archive to.
- Upload the archive to that API.
Currently the two internet requests are asynchronous, meaning that the job will 'end' before the upload is complete. Most likely the job instance will even be deleted before we get a response from the server. So this won't work, really. Need to structure that a bit differently. But I want to save this progress because it embodies the happy path well.
Contributes to issue CURA-8609.
2021-10-08 16:02:31 +02:00
Ghostkeeper
042bd46fba
Don't import CuraApplication if not type checking
...
Otherwise we'll get unnecessary import loops here.
Contributes to issue CURA-8609.
2021-10-08 15:59:42 +02:00
Ghostkeeper
599c59bd3a
Add a background job to upload material archives
...
It creates the archive now. It doesn't yet upload it.
Contributes to issue CURA-8609.
2021-10-08 15:15:57 +02:00
Ghostkeeper
07b2c1b777
Add option to only show printers that are online
...
I have a feeling this will be abused later. But fine. We currently need it for the list of printers that we can sync materials to via the cloud.
Contributes to issue CURA-8609.
2021-10-08 14:21:03 +02:00
Ghostkeeper
32c63c2757
Add isOnline role to GlobalStacksModel
...
This way we can filter for only online printers or display whether printers are online or not in the future.
Contributes to issue CURA-8609.
2021-10-08 14:09:12 +02:00
Remco Burema
2ed837ba71
Merge pull request #10486 from Ultimaker/use_empty_qurl_if_path_doesnt_exist
...
Only return the path if the folder actually exist
2021-10-08 14:01:01 +02:00
Jaime van Kessel
2c9f31cbde
Remove unneeded signal connections
2021-10-08 13:50:21 +02:00
Ghostkeeper
0bf4a3d944
Store online status of printer in the printer's metadata
...
It's a little bit weird with the hidden global stack system when there's a cluster of various types of printers. But it should behave the same way.
Contributes to issue CURA-8609.
2021-10-08 13:49:20 +02:00
Konstantinos Karmas
2461f972b3
Merge pull request #10562 from Ultimaker/CURA-7851_fix_duplicating_support_blocker
...
Fix duplicating / multiplicating support blockers
2021-10-06 16:49:51 +02:00
Konstantinos Karmas
e793eac425
Push the grouped operation instead of redoing it
...
CURA-7851
2021-10-06 16:46:20 +02:00
Jaime van Kessel
4aae3d7e2e
Move duplicated modifier meshes a bit after duplication
...
This makes sure that they are visible / selectable after multiplication
CURA-7851
2021-10-06 15:57:18 +02:00
Jaime van Kessel
4ce69a9eb5
Fix the message if not all duplicated objects could be placed
...
CURA-7851
2021-10-06 15:52:33 +02:00
Jaime van Kessel
fa4f567cb1
Simplify ifstatement for MultiplyObjects
...
CURA-7851
2021-10-06 15:50:12 +02:00
Jaime van Kessel
96d381a895
Apply suggestions from code review
...
CURA-7851
Co-authored-by: Konstantinos Karmas <konskarm@gmail.com>
2021-10-06 15:45:07 +02:00
Ghostkeeper
038db1fc4f
Implement functionality of export to USB button
...
It now creates a similar dialogue of what the old button did. The dialogue is no longer necessary in the materials page, so I've moved it to here specifically.
Contributes to issue CURA-8609.
2021-10-06 15:20:26 +02:00
Ghostkeeper
5db964aed1
Link opening sync all window to the button that should open it
...
This is a new button just merged in from the Master branch. With the window implemented, we can now properly open it.
Contributes to issue CURA-8609.
2021-10-06 14:25:12 +02:00
Ghostkeeper
b98da6b538
Merge branch 'master' into CURA-8609_sync_materials_to_printer
...
Conflicts:
cura/Machines/Models/MaterialManagementModel.py -> Both master and my branch added an __init__ function. I merged the two __init__s to do both things that need to be done.
2021-10-06 14:22:18 +02:00
Ghostkeeper
d16217c674
Implement filter for printer list to only show printers with certain configured connections
...
Because here we only want to show cloud-connected printers.
Contributes to issue CURA-8609.
2021-10-05 17:44:15 +02:00
Konstantinos Karmas
e4f6c1a440
Fix typing
...
CURA-8254
Co-Authored-By: Jaime van Kessel <3922611+nallath@users.noreply.github.com>
2021-10-05 14:53:38 +02:00
Konstantinos Karmas
587421f97a
Make the installed_packages private
...
CURA-8254
2021-10-05 14:51:14 +02:00
Ghostkeeper
f2aba01eff
Reset page index to 0 when re-opening sync dialogue
...
When the user previously opened the dialog and advanced through the pages, but closes the window, then they'll probably have to restart when they want to try it again.
Contributes to issue CURA-8609.
2021-10-05 14:00:15 +02:00
Konstantinos Karmas
cb4d5ce6e5
Update message text
...
CURA-8254
2021-10-05 13:11:52 +02:00
Konstantinos Karmas
bdbac23fdf
Add comment
...
CURA-8254
2021-10-05 11:43:36 +02:00
Konstantinos Karmas
8157cedfef
Show the message only if there are printers that support material export
...
If none of the user's printers support exporting materials to it, then the message should not be shown.
CURA-8254
2021-10-05 11:42:00 +02:00
Konstantinos Karmas
658e54c8e5
Simplify the check for new materials
...
If there is at least one material, we can already show the message without checking the rest of the installed packages.
CURA-8254
2021-10-05 11:36:10 +02:00
Konstantinos Karmas
5732fc2b51
Update campaign tags
...
CURA-8254
2021-10-04 17:05:36 +02:00
Konstantinos Karmas
ce34e16cdd
Add documentation
...
CURA-8254
2021-10-04 16:47:48 +02:00