Commit graph

2845 commits

Author SHA1 Message Date
Jaime van Kessel
6e55bf2d8f If output device has a contorl item, that one is used.
If a printerOutput device does not define anything, the fallback is used.

CURA-4057
2017-07-20 13:30:57 +02:00
Arjen Hiemstra
b839cb74f4 Do not only check if activeMaterialId is None, also check for empty
Fixes CURA-4065
2017-07-20 12:01:21 +02:00
Jaime van Kessel
216b1a7a14 Added control item to printOutputDevice
CURA-4057
2017-07-20 11:39:12 +02:00
Ghostkeeper
3c545ba7c9
Clarify context of print info bounding box size translation
Lots of translators did this wrong.

Contributes to issue CURA-3998.
2017-07-18 13:10:16 +02:00
Arjen Hiemstra
573d25982e Minor cleanup of SettingOverrideDecorator
We never use the _instance variable except in deepcopy, so no need to
store that.

Contributes to CURA-3719
2017-07-18 11:23:43 +02:00
Lipu Fei
18fddf50c7 Add type hinting for container_id in ExtruderStack
CURA-4049
2017-07-18 09:22:45 +02:00
Lipu Fei
e6ce98b36d Make machine_nozzle_offset is not None before using it
CURA-4053
2017-07-17 13:01:15 +02:00
Youness Alaoui
7e7e15a12b Fix MachineManager connection to OutputDeviceManager signals late.
If a PrinterOutputDevice is able to connect quickly to a machine, then
by the time the MachineManager is created and connects to the signal,
it will be too late, and it might miss that there is already connected
devices.

# Conflicts:
#	plugins/USBPrinting/USBPrinterOutputDeviceManager.py
2017-07-12 14:06:08 +02:00
Arjen Hiemstra
95b825a4c5 Emit propertiesChanged on the global stack from the extruder stack
But only when the setting that changed has a relation that is not
settable per extruder.

Fixes CURA-3521
2017-07-11 12:03:23 +02:00
Ghostkeeper
fc93617698
Don't invert Y direction of offset for disallowed areas 2017-07-11 11:59:55 +02:00
14bitVoid
0f9125633b Multiply skirt/brim widths with initial layer line width 2017-07-11 02:51:24 +02:00
Ghostkeeper
012d299d98
Prevent circular import
When this is imported during the __init__, it'll long have been imported elsewhere and won't need to import it again but still guarantees that it is actually imported if no other module does it first.

Contributes to issue CURA-4024.
2017-07-10 16:42:38 +02:00
Ghostkeeper
8822307e02
Cache preferences instance during start-up
Perhaps a bit faster and less code duplication.

Contributes to issue CURA-4024.
2017-07-10 11:54:27 +02:00
Ghostkeeper
9bfe18393f
Make sure the preferences file doesn't always get upgraded
When the setting is equal to the default the setting_version won't get written to the preferences file. In that case the version upgrade system assumes that the setting_version was 0 or 1 and upgrades it.

This makes sure that the setting is never equal to the default so that it always gets written.

Found while working on CURA-4024.
2017-07-10 11:45:03 +02:00
Ghostkeeper
f0d327c0d0
Set setting_version properly on new stacks so you don't need to upgrade
I don't think stacks had a setting_version property previously.

Contributes to issue CURA-4024.
2017-07-10 11:22:35 +02:00
Ghostkeeper
81e07b1530
Use stack properties instead of .findContainer(type = ...)
Recently we changed the empty containers such that there is only one empty container instance and it doesn't have the proper type any more. Instead we have properties on the stack that allows us to find the container with the proper type. It's faster and easier to use.
We've had a few bugs about this so I decided to update all of them to remove those for the future, except the ones in plugins/MachineSettingsAction/MachineSettingsAction.py because we have a pending pull request that fixes those. Fixing them would give merge conflicts for fieldOfView.

It doesn't really belong to CURA-4024 but I'm sticking it under that nomer anyway to get it reviewed.
2017-07-10 10:35:03 +02:00
Lipu Fei
b95426bee3 Add setting_version for Preferences
CURA-3975
2017-07-06 14:33:01 +02:00
Lipu Fei
5bf080950f Fix upgrade from 2.5 to 2.6 to 2.7
CURA-3975

- Set Preferences setting_version in CuraApplication so Preferences can
  get upgraded correctly
- Fix upgrade script for 2.5 to 2.6
- Fix upgrade script for 2.6 to 2.7 which relies on the upgrade of 2.5
  to 2.6
2017-07-06 14:19:26 +02:00
Lipu Fei
ead94a8456 Cura should register actual stack MIME types instead of the generic Uranium stack type
CURA-3975

When the ContainerRegister loads all container files, it decides which
actual class to use based on the registered MIME type of that file.
Because Cura registers the GlobalStack and ExtruderStack files as the
generic Uranium MIME type, the register loads them as Uranium
ContainerStacks. This commit solves this problem.
2017-07-06 11:30:05 +02:00
Lipu Fei
3d48024a47 Override getConfigurationTypeFromSerialized for GlobalStack
CURA-3975

GlobalStack has metadata type "machine", which is different from what is
registered in the VersionUpgradeManager "machine_stack". This commit
makes sure that Cura can find the correct upgrade route for the
GlobalStack files.
2017-07-06 10:26:02 +02:00
Lipu Fei
16a078b9a6 Update SettingVersion to 2 for renaming the quality profiles
CURA-3975

Update SettingVersion to 2 so we can create an upgrade to rename the
quality profiles.
2017-07-06 10:25:51 +02:00
Lipu Fei
afb923401e Set versions correctly for container stacks and preferences
CURA-3975

The upgrade for machine and extruder stacks and the preferences files
don't work because the current version registering doesn't take into
account the 1000000 multiplier and the settings_version.
2017-07-06 10:25:50 +02:00
Jaime van Kessel
5fa2ba6052 Undo for material diameter also changes the property.
It used to only set the metadata. CURA-2822
2017-07-04 11:55:24 +02:00
Jaime van Kessel
5895f27792 Revert "Also invert nozzle offset when offsetting machine-specified disallowed areas"
This reverts commit 319559740d.

This was already fixed (line 734 inveted it). This code breaks it when there is no extruder
2017-07-03 17:10:59 +02:00
Ghostkeeper
319559740d
Also invert nozzle offset when offsetting machine-specified disallowed areas
We inverted it properly with the borders, but not here yet.
2017-07-03 10:53:50 +02:00
Ghostkeeper
bb79e33ad5
Don't forget to update approximate diameter after resetting actual diameter
The approximate diameter needs to be in a static field because the list model filters on that field. The filter function is not clever enough to be able to filter on values being in some kind of range or rounded, so instead the decision was made that the rounded value needs to be set in a separate field so that the static filter can filter on it.

Contributes to issue CURA-2822.
2017-06-29 16:55:47 +02:00
Ghostkeeper
034686e9fa
Don't modify list you're iterating over
It doesn't give a problem right now since we're only iterating over lists of length 1 here, but in the future this could cause weird bugs.

Contributes to issue CURA-2822.
2017-06-29 15:09:50 +02:00
Ghostkeeper
8ae49c317c
Emit metaDataChanged when changing properties
Properties is a dictionary inside the metadata dictionary. If you change one of the properties, it'll check afterwards if the dictionary is different from what it was before, but since the dictionary is passed by reference all the time, it'll think that the dictionary didn't change: The reference is still the same, so the thing it checks against is updated along.
This solution is a bit ugly but it does notice when the metadata changed inside the properties and then emits a change signal.

Contributes to issue CURA-2822.
2017-06-29 15:03:49 +02:00
Ghostkeeper
53e35daf02
Merge branch 'master' of github.com:Ultimaker/Cura 2017-06-29 13:45:02 +02:00
Jaime van Kessel
13f3477288 Fixed crash when adding a single extrusion printer
CURA-3980
2017-06-29 10:15:29 +02:00
Ghostkeeper
ab384ba8ec
Rename and invert moving disallowed areas metadata property
It's more easy semantically to invert this, to prevent the double negatives.

Contributes to issue CURA-3663.
2017-06-28 17:16:27 +02:00
Jaime van Kessel
4a5b1d0760 Merge branch 'feature_xy_offset_layer_0' of https://github.com/fieldOfView/Cura 2017-06-28 15:16:18 +02:00
Jaime van Kessel
f791017091 Revert "Added the no-nozzle offset for all polygons"
This reverts commit 45eb301f9b.
2017-06-28 14:20:12 +02:00
Jaime van Kessel
45eb301f9b Added the no-nozzle offset for all polygons
CURA-3663
2017-06-28 13:55:45 +02:00
fieldOfView
39cb68bd30 Update convex hull to account for first layer horizontal expansion 2017-06-28 11:41:51 +02:00
Ghostkeeper
fb1d7bc223
Fix direction of Y-offset in disallowed areas
The front end has inverted Y with respect to the g-code. The prime position was correctly inverted but the nozzle offset wasn't.
2017-06-28 09:23:14 +02:00
Ghostkeeper
21624d7761
Merge branch '2.6' 2017-06-27 16:25:55 +02:00
Ghostkeeper
b2b9b1bede
Fix checking if container stack exists
It was checking a container stack ID against the definition containers, which doesn't match.

Contributes to issue CURA-3973.
2017-06-27 15:14:26 +02:00
Ghostkeeper
df2ec7bd73
Don't try to activate a machine that we don't have a definition for
Contributes to issue CURA-3973.
2017-06-27 14:02:35 +02:00
Jaime van Kessel
7813bfc543 No longer crash when trying to get non existing extruder stacks
CURA-3953
2017-06-26 13:16:14 +02:00
Jaime van Kessel
7f98646b42 Merge branch 'feature_CURA-3663_optional_offsetting_for_disallowed_areas' of github.com:Ultimaker/Cura 2017-06-26 10:58:16 +02:00
Ghostkeeper
13c9519a7c
Fix deprecated decorator
Contributes to issue CURA-2822.
2017-06-23 09:42:08 +02:00
Lipu Fei
b958e30fe6 Add machine_disallowed_areas and turn off nozzle offsetting for disallowed areas calculation
CURA-3663

We don't need to calculate the disallowed areas for certain machines
because they have taken into account the nozzle offsets. This commit
does the following:
- Add machine_disallowed_areas
- Add a flag in definition so that disallowed areas calculation with
  nozzle offsets becomes optional in Cura.

Update documentation for no offsetting for nozzles

Contributes to issue CURA-3663.
2017-06-23 08:33:03 +02:00
Ghostkeeper
bc219a06fe
Add MaterialsModel to make material list update upon metadata change
This new model inherits from InstanceContainersModel. The only change is that it updates when the metadata of a material container changes. This is needed to make the list of materials update when the material diameter changes.

Contributes to issue CURA-2822.
2017-06-22 18:17:16 +02:00
Ghostkeeper
0e23930bfe
Fix checking whether the old material diameter was the same
Getting the old material diameter wasn't working properly.

Contributes to issue CURA-2822.
2017-06-22 18:17:16 +02:00
Ghostkeeper
7ea1d4cc5a
Add getContainerProperty function
The opposite of setContainerProperty.

Contributes to issue CURA-2822.
2017-06-22 18:17:15 +02:00
Ghostkeeper
f041473465
Fix applying material diameter undo
Somehow it seems to get the wrong value there though. Debugging that next...

Contributes to issue CURA-2822.
2017-06-22 18:17:15 +02:00
Ghostkeeper
c192d37daa
Fix connecting undo action to undo button
Also hiding the message afterwards. Apparently that's not done automatically.

Contributes to issue CURA-2822.
2017-06-22 18:17:15 +02:00
Ghostkeeper
b37fa6f718
Implement warning message when you change material diameter
The undo functionality currently gives an error though. Investigating...

Contributes to issue CURA-2822.
2017-06-22 18:17:15 +02:00
Ghostkeeper
121bf5897d
Deprecate _updateMaterialContainer
There are better alternatives nowadays.

Discovered during CURA-2822.
2017-06-22 18:17:15 +02:00