Commit graph

3791 commits

Author SHA1 Message Date
Ghostkeeper
1769a69792
Don't crash Cura when material file is wrongly formatted
That was the whole point of this change. Instead degrade gracefully. It won't load the material file but give an error message saying that the material is corrupt. Then it won't be able to load the stack as well because the material doesn't exist, and give an error about the stack as well.

Contributes to issue CURA-5045.
2018-04-12 16:56:05 +02:00
Ghostkeeper
e96c50a582
Fall back to FDMPrinter if definition can't be loaded
Some of the settings will be different. But at least it won't crash.

Contributes to issue CURA-5045.
2018-04-12 16:54:21 +02:00
Ghostkeeper
942afe2c3f
Merge branch '3.3' into feature_show_config_errors 2018-04-12 16:20:42 +02:00
Ghostkeeper
7d806e7ae9
Fix rendering before the extruder number decoration is set
If a render is triggered before this decorator is set it would crash. The rest of the code is robust against this being None, but here it would give a TypeError.
2018-04-11 11:59:54 +02:00
Lipu Fei
95c6258d0f Handle plugin not found due to mixed plugin metadata
CURA-5202

Plugin metadata that comes from the plugin server is also saved into
PluginRegistry's metadata collection, so it's all mixed. Plugins that
are just installed cannot be loaded immediately, and this causes an
error in checkCanUpgrade().
2018-04-09 15:10:25 +02:00
Lipu Fei
4615c756a7 More clear error handling for container deserialization
CURA-5045

 - If a container cannot be deserialized in project loading, it should fail
   right on the spot because even if it continues, it still won't work.
 - In other places, at least log deserialization errors if any of them show
   up.
2018-04-09 14:51:05 +02:00
Ghostkeeper
572721e20d
Catch ContainerFormatError when deserialising containers
Only the deserialize() functions themselves may pass the ContainerFormatError on, because their callers will have to handle those errors anyway.

Contributes to issue CURA-5045.
2018-04-06 13:26:16 +02:00
Lipu Fei
19937d1be0 Fix version comparison in plugin browser
CURA-5202

It was comparing with itself so there's never a version upgrade.
2018-04-06 10:34:55 +02:00
Diego Prado Gesto
79a66b43ab CURA-5175 Add the get_version function to the version upgrade. 2018-04-04 14:43:20 +02:00
Diego Prado Gesto
f1e33f0cba CURA-5175 Remove version upgrade of the quality instance containers
since they never get updated.
2018-03-29 17:08:59 +02:00
Diego Prado Gesto
a5e38bb486 CURA-5175 Add variants to the version upgrade.
Upgrade the version number in the variants and add the hardware_type
metadata.
2018-03-29 16:54:30 +02:00
Ghostkeeper
b3d652839d
Rename quality type from 'low' to 'fast'
Not only the profile name was changed, but also the quality type.

See commit 1538486e85.

Contributes to issue CURA-5177.
2018-03-29 12:00:59 +02:00
Ghostkeeper
50b4bac672
Upgrade quality profile names
These files have been renamed.

Contributes to issue CURA-5177.
2018-03-29 12:00:59 +02:00
Jack Ha
c9dc429b2b CURA-5045 solve merge conflicts 2018-03-29 09:22:19 +02:00
Ghostkeeper
b30df14073
Merge branch '3.3' 2018-03-29 08:55:06 +02:00
Ruben D
c65e3656bd
Fix persistence of setting names with uppercase characters
The problem was that Python's ConfigParser doesn't preserve case. Everything becomes lowercase. Some post-processing scripts have uppercase characters in their setting keys and these weren't preserved.
This fix configures the ConfigParser to pass the setting keys untransformed. The transformation function becomes the str() function which just passes the input through untransformed.
2018-03-29 00:39:57 +02:00
Diego Prado Gesto
37520b26b8 CURA-5170 When the connection status of a printer output device changes, only add it to the list if the device belongs to the current printer. 2018-03-28 14:28:07 +02:00
Diego Prado Gesto
79daf3706b CURA-5158 Create a custom signal that is emitted when global container
changes and output devices change.
2018-03-28 11:07:48 +02:00
Diego Prado Gesto
bf7ab6d4ea Change target version of the dictionary of doom to be compliant with the
new instance container's version number.
2018-03-27 15:18:25 +02:00
Ghostkeeper
e174a015ce
Remove unused function
It's not used anywhere so please let us not maintain this code.

Contributes to issue CURA-5045.
2018-03-27 14:53:19 +02:00
Ghostkeeper
8b75a0e92b
Better error handling if there is no global stack
It reports that the workspace failed to load instead of crashing the entire application then.

Contributes to issue CURA-5045.
2018-03-27 14:51:34 +02:00
Ghostkeeper
d9e8d64e3f
Add typing for _determineGlobalAndExtruderStackFiles
Contributes to issue CURA-5045.
2018-03-27 14:46:21 +02:00
Lipu Fei
c6579b571a Merge remote-tracking branch 'origin/3.3' 2018-03-27 14:33:41 +02:00
Diego Prado Gesto
3fb14691a9 CURA-5160 Skip empty quality when load project file 2018-03-27 14:09:17 +02:00
Diego Prado Gesto
8c5673dd3c Change target version of the dictionary of doom to be compliant with the
new instance container's version number.
2018-03-27 11:44:24 +02:00
Ian Paschal
5e1f29ec1c CURA-5141 added persistent scripts 2018-03-27 10:40:27 +02:00
Ian Paschal
57991a44d5 CURA-5141 Suggestions from Terri 2018-03-26 16:59:24 +02:00
Ghostkeeper
6d3fed8f52
Allow getContainer() to return None
And in the rest of the locations we must then check if it's None and handle that gracefully.
Here we assume that the getContainer message shows a message to the user if necessary. For now we'll just log it.

Contributes to issue CURA-5045.
2018-03-26 15:48:03 +02:00
Ian Paschal
5b371ac375 CURA-5141 Update changelog to 3.3 2018-03-26 14:36:24 +02:00
Diego Prado Gesto
689f208615 Merge branch 'master' of github.com:Ultimaker/Cura 2018-03-26 14:15:10 +02:00
Diego Prado Gesto
2486303011 CURA-5134 Use the built-in windowClosed method instead of quit when
finishing installing or uninstalling plugins, otherwise the temporary
data is not stored in the config file.
This caused some problems with the lazy uninstall plugins since the list
was never stored.
2018-03-26 14:12:27 +02:00
jack
96842ea7e6
Merge pull request #3229 from Ultimaker/feature_persistent_postprocessing
Persistent Post-Processing Scripts
2018-03-26 14:01:07 +02:00
Ghostkeeper
e2724f53ad
Only check for loaded plug-ins at initial call to loadAllScripts
Not for every call to loadScripts.
2018-03-26 13:55:15 +02:00
Ghostkeeper
14936fdf21
Move looping over script directories to separate function
Removes some code repetition.
2018-03-26 13:50:29 +02:00
Diego Prado Gesto
92661eb35c Merge branch 'master' of github.com:Ultimaker/Cura 2018-03-26 11:53:46 +02:00
Diego Prado Gesto
04c21f3f30 CURA-4557 Minor changes in the message. 2018-03-26 11:52:39 +02:00
Ian Paschal
8871ac9955 Merge branch 'master' of https://github.com/Ultimaker/Cura 2018-03-26 11:30:59 +02:00
Ian Paschal
66fa1c0a31 CURA-5140 Fixed typo 2018-03-26 11:30:57 +02:00
jack
ff7e0bf5f9
Merge pull request #3559 from Ultimaker/feature_gz_reader
Feature gz reader update
2018-03-26 09:38:11 +02:00
Diego Prado Gesto
6dc416e180 CURA-5128 Change method name to be more clear.
Remove a line introduced by mistake in previous commit.
2018-03-23 17:21:09 +01:00
Diego Prado Gesto
bc5881fe1d Merge branch 'master' into feature_gz_reader 2018-03-23 17:15:55 +01:00
Diego Prado Gesto
dd0d0d20e9 CURA-5128 Modify the GCode parser to use a stream instead of a file so
we can reuse methods for the GCodeGZReader.
2018-03-23 17:14:53 +01:00
fieldOfView
251e24fedc Merge branch 'master' into feature_xmlmaterials_cura_settings 2018-03-23 14:57:31 +01:00
Ghostkeeper
4196624373
Merge branch 'CURA-5135_easy_fix' 2018-03-23 14:23:34 +01:00
Ghostkeeper
8a36f1e074
Make opacity depend on enabled
Simplifies the code a bit.

Contributes to issue CURA-5128.
2018-03-23 14:23:10 +01:00
Aleksei S
d859f71d6e Fix: The Print simulation view was broken because of constant refresheing scene
CURA-5142
2018-03-23 11:41:34 +01:00
Ian Paschal
e8491b4a83 CURA-5135 Easy version
This is the easy fix. When a plugin is downloading, the other plugins' download buttons are not possible to be clicked. This avoids having to write any new logic. It does detract a bit from the user experience though.

The complicated version requires re-writing a big part of the plugin browser code to enable the queueing of downloads and stuff. That's sort of how it "should" be but is a lot more work.
2018-03-23 11:10:21 +01:00
Ghostkeeper
9d63258703
Merge branch 'master' into feature_persistent_postprocessing 2018-03-22 19:19:05 +01:00
Ian Paschal
30b75c7988 CURA-5140 Show confirmation rather than switching to monitor tab 2018-03-22 17:05:07 +01:00
fieldOfView
e7ca4f327e Fix reading and writing yes/no as boolean values 2018-03-22 16:55:12 +01:00