315 Commits

Author SHA1 Message Date
Ghostkeeper
8970f46154
Better path to packages.json in the 3MF file
Let's put it in the Cura directory with the rest of such files, as to not muddy the 3MF file with all sorts of directories that are not known to other consumers.

Contributes to issue CURA-9413.
2022-06-20 11:04:14 +02:00
j.delarago
f9ea517e05 If package.json metadata file is missing from 3mf file output warning instead of error.
CURA-8610
2022-06-08 11:51:54 +02:00
j.delarago
ce0623664a Include all missing package metadata instead of just ids so we have something to display before searching the package on the marketplace. This is also important so we can show something if we can't find the package on the marketplace.
CURA-6990
2022-05-31 15:21:11 +02:00
j.delarago
4572d53e11 Read package.json required package information. Put package_ids for packages we don't have installed inside the WorkspaceDialog
CURA-6990
2022-05-31 15:12:52 +02:00
Remco Burema
abe7c1bf7f
Search/replace Qt5->Qt6.
part of upgrading Qt to v6.2: CURA-8591
2021-12-28 14:46:02 +01:00
Ghostkeeper
9140b71b19
Merge branch 'libArachne_rebased'
Conflicts:
	plugins/SimulationView/SimulationPass.py -> Reverted layer view optimisation in Master while some whitespace changed in Arachne.
	resources/definitions -> Bunch of conflicts with profile updates.
	resources/quality -> Bunch of conflicts with profile updates.
	resources/texts/change_log.txt -> Removed the Arachne change log (as they are internal versions). It'll have to be re-added when we release this version as stable.
2021-12-14 11:48:58 +01:00
Remco Burema
f5604dfb1e
Add 'capabilities' to ignored metadata.
part of CURA-8671
2021-12-02 12:23:57 +01:00
Jaime van Kessel
988de58c4e Fix version upgrader for arachne
CURA-8468
2021-08-09 17:13:40 +02:00
Jaime van Kessel
900db57f0f
Update messages to use the message_types
CURA-8418
2021-07-27 11:54:43 +02:00
Ghostkeeper
3dc1dbbbdb
Load profile from ContainerRegistry if the stack refers to it
We encountered a case where the version upgrade changed the quality profile to a new one which was specific to the printer rather than a global profile. As the upgraded stack was being read from the project file, it would go look for the new quality profile in the workspace. That ID wouldn't be present in there, and so it would crash and pretend the project file is plain 3MF.
This change makes it fallback to the built-in profiles, for precisely such cases as when a version upgrade changes the stack.

Contributes to issue CURA-8212.
2021-06-03 17:13:22 +02:00
Kostas Karmas
00ade8be3a Fix crashing if the quality_type_to_apply is None
Fixes sentry issue CURA-24D
2021-04-16 16:35:44 +02:00
Ghostkeeper
eeecd545db
Catch errors for corrupted zip files when reading project files
Fixes Sentry issue CURA-1DG.
2020-11-18 01:57:49 +01:00
Ghostkeeper
b740fda491
Catch environment errors when reading 3MF archive metadata
The file could get deleted in the meanwhile.

Fixes Sentry issue CURA-1CK.
2020-11-04 14:25:39 +01:00
Ghostkeeper
9ea418c0a1
Revert "Revert "Merge branch '4.7' of github.com:Ultimaker/Cura into 4.7""
This reverts commit 28f4d8513db7efce17bfd8b80fa7c8b237fd1c18.
The original revert was to revert an accidental merge from master to 4.7. This now reverts the revert on Master, so that we still have those changes on Master.
2020-08-20 16:35:52 +02:00
Ghostkeeper
28f4d8513d
Revert "Merge branch '4.7' of github.com:Ultimaker/Cura into 4.7"
This reverts commit 7f47f12bf0a9cf305542b6c21600ce9b804c1dfd, reversing
changes made to dd42c87da762d2030ee2220bc6f0a3e44cf85c28.
2020-08-20 16:01:46 +02:00
Jaime van Kessel
7f47f12bf0
Merge branch '4.7' of github.com:Ultimaker/Cura into 4.7 2020-08-14 10:01:26 +02:00
Kostas Karmas
01d5e846aa Document possible theoretical issue when loading a project file
The issue will happen only if the machine_extruder_count is a formula.
In this case, the project loading will not work properly if "Create new" printer is selected,
as the settings of all extruders but the first one will not be applied.
Workaround in this case will be to load the project again and select to update the existing
printer, in which case all settings will load properly.

CURA-7646
2020-08-11 12:37:34 +02:00
Kostas Karmas
0feeccff85 Appease mypy complaints for AttributeErrors
CURA-7646
2020-08-10 15:30:55 +02:00
Kostas Karmas
f8a15ea29e Display only the relevant materials when opening a project
Ignore the materials of the extruders that are not visible when opening a project file with a CFFF.

CURA-7646
2020-08-10 15:00:08 +02:00
Kostas Karmas
61cc8c9a95 Remove reference to JIRA ticket in comments
CURA-7646
2020-08-10 14:58:59 +02:00
Kostas Karmas
b9d5f0dc15 Take the machine_extruder_count into consideration when opening project
CURA-7646
2020-08-10 14:56:37 +02:00
Ghostkeeper
1f09ea58cc
Merge branch '4.7' 2020-08-10 11:26:25 +02:00
Ghostkeeper
fc6ea28352
Don't crash if CuraStackBuilder failed to create a stack
If it failed to create a global stack, the extruder_stack_dict variable would not be defined, and Cura crashes. It may fail to create a stack because of an indexerror in a malformed project file.

Fixes Sentry issue CURA-137.
2020-08-10 11:25:55 +02:00
Jaime van Kessel
3cdf5a82a4
Use correct property to search container stack
CURA-7609
2020-08-06 15:26:32 +02:00
Jaime van Kessel
ebdab94b98
Merge branch 'CURA-7609_Pick_any_printer_when_opening_a_project_file_single_dropdown' of github.com:Ultimaker/Cura 2020-08-06 15:26:16 +02:00
Jaime van Kessel
c8771124ad
Change function name to better reflect what it does
CURA-7609
2020-08-05 14:56:39 +02:00
Kostas Karmas
4e20c7dddc Rework the open project dialog to contain only 1 dropdown
With the caveat that the qtQuickControls had to be updated to 2.3, due to a qt bug in 1.x that did
not update the dropdown popup list according to the ListModel.
This leads to a different look in the dropdowns and in the buttons of the open project dialog,
compaired to the rest of the application.

CURA-7609
2020-08-04 16:33:11 +02:00
Kostas Karmas
60cfb6a8be Change name of updatable_machines to updatable_machine_names
Since it is a list of name strings and not a list of machines.

Response to feedback comment https://github.com/Ultimaker/Cura/pull/8142#discussion_r464307564

CURA-7609
2020-08-03 17:28:44 +02:00
Kostas Karmas
949837f041 Fix crashing when opening project files without materials 2020-08-03 16:20:44 +02:00
Kostas Karmas
a6d779e722 Sort materials based on extruder position in the open project dialog
From eCCB
2020-08-03 16:20:29 +02:00
Kostas Karmas
9793c2cfde Fix crashing when opening project files without materials 2020-08-03 14:54:44 +02:00
Kostas Karmas
9f6b4f0255 Sort materials based on extruder position in the open project dialog
From eCCB
2020-08-03 14:34:45 +02:00
Kostas Karmas
37febc9f60 Remove comment
CURA-7609
2020-08-03 09:24:40 +02:00
Kostas Karmas
52ea3e8fcc Change variable names (available -> updatable)
CURA-7609
2020-07-29 17:19:24 +02:00
Kostas Karmas
98cc87d1cf Allow picking any printer of the same type when opening project file
A ComboBox was added under the "Update existing" combobox which will display all the available
printers that are of the same type with the printer in the project file. With this feature, the
user will be able to select any same-type preexisting printer in Cura to be updated, instead of
always create a new one when the project file's printer is not in Cura.

CURA-7609
2020-07-29 13:02:34 +02:00
Kostas Karmas
daa66a89f3 Ignore machine network metadata when reading a project file
CURA-7608
2020-07-28 11:18:04 +02:00
Kostas Karmas
4f97089e47 Fix losing global quality changes when reading a 3MF with a CFFF
By using "pass" when the IndexError occured while reading the quality changes, empty quality
changes containers were added to the registry. These empty quality changes were then used as
"global" quality_changes, since the container registry was simply picking the first quality
changes instance container that had an empty extruder stack. Therefore, the correct global
quality changes (that actually had the global settings that were changed, like the support)
was just ignored in the whole process.

CURA-7549
2020-07-07 10:43:02 +02:00
Kostas Karmas
572ded8c95 Fix crash while reading 3mf if extruder list is empty
CURA-7527
2020-06-25 14:52:07 +02:00
Ghostkeeper
85bfb02228
Show an error if trying to open a project file with unknown machine
Previously it would crash.

Fixes Sentry issue CURA-Y1.
2020-06-18 14:31:47 +02:00
Jaime van Kessel
5a77595807
Fix workspace reader not taking upgrade into account
CURA-7517
2020-06-17 11:15:55 +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
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
Nino van Hooff
89f0970a88 Remove trailing whitespace from Python files 2020-05-29 14:30:33 +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
Ghostkeeper
715e5a890e
Don't crash when the file is deleted while in pre-read phase
The pre-read takes a while since it shows a dialogue. The user has all the time to delete the file or rename it in the meanwhile.

Fixes Sentry issue CURA-SG.
2020-05-25 17:20:39 +02:00
Ghostkeeper
696d2ffa1d
Use extruderList rather than deprecated extruders
I looked into changing that position into an integer and perhaps the dictionary into a list, but this dictionary is passed around throughout all of the functions so that would be quite a refactor.

Done during Turbo Testing and Tooling to reduce the number of warnings in our log.
2020-05-15 16:11:27 +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
8f3827d5ae Convert doxygen to rst for 3MFReader/Writer and AMFReader 2020-05-08 15:14:39 +02:00
Kostas Karmas
61e2cc1193 Fix missing type for result 2020-04-29 15:33:28 +02:00
Ghostkeeper
abffb6c26c
Don't crash when reading corrupt 3MF files
Otherwise it would crash with a BadZipFile error. We should be robust against that. This will trigger a generic message that we couldn't read that file to the user, and put more information in the log.

Fixes Sentry issue CURA-NH.
2020-04-29 14:07:04 +02:00