577 Commits

Author SHA1 Message Date
Remco Burema
abe7c1bf7f
Search/replace Qt5->Qt6.
part of upgrading Qt to v6.2: CURA-8591
2021-12-28 14:46:02 +01:00
Jaime van Kessel
fe8a3fc61d Prevent crash when setting non default intent category 2021-12-10 09:51:09 +01:00
Jaime van Kessel
8f92f049d1 Emit signal when property changed
The signals weren't being emitted when the property was set.

CURA-8671
2021-12-06 09:43:53 +01:00
Ghostkeeper
0477ba44b2
Encode capabilities as comma-separated list
Previously it was encoded as a stringified Python list of strings, which is much harder to parse.
This would go wrong if any of these capabilities have a comma in them, but I think that would be bad practice for keywords like this anyway.

Contributes to issue CURA-8671.
2021-12-03 13:25:41 +01:00
Ghostkeeper
b76df21b4b
Filter printer list by capabilities
And an example of such usage: In the material sync via cloud we only want to sync with printers that can receive those materials.

We might want to add a message for the user to also make sure the firmware is up to date. Because if the firmware is not up to date now it will show no printers and instruct the user how to connect the printer to the cloud.

Contributes to issue CURA-8671.
2021-12-02 17:55:53 +01:00
Jaime van Kessel
42e066a5a8 Merge branch '4.12' of github.com:Ultimaker/Cura 2021-10-28 13:54:58 +02:00
Jaime van Kessel
59be3e195d Use category as fallback translation for intents instead of "unkown" 2021-10-28 13:48:09 +02:00
Jaime van Kessel
8f1cf4a963 Move openSYncAllWindow to the right class
CURA-8609
2021-10-28 09:43:12 +02:00
Jaime van Kessel
79117d5898 Fix merge mistakes
CURA-8609
2021-10-27 14:48:12 +02:00
Ghostkeeper
88d08b27d1
Merge branch 'master' into CURA-8609_sync_materials_to_printer
Conflicts:
	cura/Machines/Models/MaterialManagementModel.py -> On Master we had temporarily reverted the action of this button because it became apparent that the sync wasn't going to be in 4.12. That revert is no longer necessary if this is merged.
2021-10-27 14:21:05 +02:00
Ghostkeeper
273e933145
Reset sync status when closing and re-opening sync window
Otherwise when you want to sync again, it'll just say that you're done. Not what a user would expect, I reckon.

Contributes to issue CURA-8609.
2021-10-27 14:13:49 +02:00
Ghostkeeper
82441f97b1
Clarify context of error message for translators
This should improve the translation for next time.

Contributes to issue CURA-8638.
2021-10-25 15:22:28 +02:00
Jaime van Kessel
1f6e1942d7 Disable the material sync message again
CURA-8639
2021-10-21 10:39:47 +02:00
Jaime van Kessel
2baada8a70 Use the material name instead of brand + type + color
CURA-8514
Fixes #10421
2021-10-19 11:23:21 +02:00
Ghostkeeper
0d350b5f96
Merge branch '4.12' into CURA-8609_sync_materials_to_printer 2021-10-18 13:23:29 +02:00
Ghostkeeper
0378531f13
Handle QML exposing of filterConnectionType if not filtering
It should expose it as -1 then.

Contributes to issue CURA-8609.
2021-10-15 16:24:43 +02:00
Ghostkeeper
2b4a31c9de
Change type of filter to Optional[ConnectionType]
It's a bit more semantic this way.

Contributes to issue CURA-8609.
2021-10-15 14:35: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
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
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
Jaime van Kessel
2c9f31cbde Remove unneeded signal connections 2021-10-08 13:50:21 +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
Konstantinos Karmas
4b7f385077 Add external link to "Learn more" action
CURA-8254
2021-10-04 16:43:17 +02:00
Ghostkeeper
9ec731eaf6
Create MaterialsSyncDialog from a Python function
Rather than from the QML.
This allows creating this dialogue from a message button without needing to put it in the base application.

Contributes to issue CURA-8609.
2021-10-04 16:23:28 +02:00
Konstantinos Karmas
1f5672acca Check if new materials were installed on initialization
When the MaterialManagementModel is initialized, it will check whether during this startup new materials were installed. If that's the case, then it will show the prompt message to sync those materials with the printers, which should initiate the sync materials flow.

CURA-8254
2021-10-04 15:55:06 +02:00
Ghostkeeper
43f1df1723
Show error when failing to save archive
It could be that you don't have permission to save the archive. Instead of crashing Cura, show an error to the user.

Fixes Sentry issue CURA-2VS.
2021-09-23 15:44:28 +02:00
Konstantinos Karmas
fe640d42cf Don't crash if a material fails to be written in the zip
This fixes Sentry issue CURA-2WS.
2021-09-21 09:33:30 +02:00
luz paz
d68f375e38 Fix various typos
Found via `codespell -q 3 -S *.po,*.pot -L childs,initialy,lod,ned,te,slicable,sur,tutoriels,wont`
2021-09-07 11:33:54 -04:00
Ghostkeeper
a4f6e94ae0
Update the sync-storage path every time you sync
Instead of updating the storage path every time you add or remove a removable drive, we now update the storage path every time you press the button to sync. That way this detail has no impact on performance of other parts of Cura if they don't use this button. It also makes the code a bit simpler.
The only downside is that this FileDialog then contains state, instead of automatically syncing with the MaterialManagement property for its folder property. I see that as a lesser of two evils.

Contributes to issue CURA-8055.
2021-07-23 15:16:38 +02:00
Ghostkeeper
82c7f19164
Merge branch 'master' into CURA-8055_export_all_materials_usb_redone 2021-07-23 15:11:07 +02:00
Konstantinos Karmas
7f6e6403d2 Set the "Not overridden" extruder color as transparetn
Otherwise a white extruder is drawn in the dark theme next to the "Not overridden" label.

CURA-8011
2021-07-02 12:13:28 +02:00
Konstantinos Karmas
fae5e2cffd Adjust the text of the material according to the size of the window
Now, when the size of the Cura window changes and the configurationSelector gets resized, instead of eliding the material text it will now change as follows:

* If it fits, display "Brand, Color, and Type" of material (e.g. Ultimaker Black PLA)
* If "Brand, Color, and Type" doesn't fit, change it to "Color and Type" of material (e.g. Black PLA)
* If "Color Type" doesn't fit either, display only the type (e.g. PLA)
* If "Type" doesn't fit, elide it

CURA-8013
2021-06-28 14:53:50 +02:00
Ghostkeeper
f82384d93c
Revert "Revert CURA-8055 in the 4.10 branch. This should not have been merged in there."
This reverts commit 4d29de45796dc42f76c774a216a0601bb57cf790.
Effectively this re-applies the changes for CURA-8055 / #9957.
2021-06-24 14:20:38 +02:00