Commit graph

1023 commits

Author SHA1 Message Date
Diego Prado Gesto
26371c9c3a CURA-4815 When creating the unique name for a machine, don't look at the
definition instance container for the id, just look at the container
stack ids.
2018-01-17 10:57:11 +01:00
Jack Ha
54698ada7f CURA-4807 fix not choosing 'not supported' if there are valid options after changing variant; partly undoing 4abbd4b988 2018-01-16 15:36:57 +01:00
Lipu Fei
8a570c4b01 Show user profiles based on Not Supported
CURA-4807
2018-01-16 11:57:20 +01:00
Jack Ha
a0738c2977 CURA-4808 fix extruder setting change trigger slice. re-introduce extrudersAdded signal, probably needed because of timing issues (extruder added after loading global container). it's the inversion of 225b03e98e 2018-01-16 11:49:45 +01:00
Lipu Fei
9a5b215814 Do not show not supported when there are supported profiles
CURA-4796
2018-01-15 15:16:43 +01:00
Lipu Fei
a3c2635648 Fix profile manager to support not supported custom profiles
CURA-4796

Profile manager should be able to show custom profiles that are based on
the not supported profile correctly.
2018-01-15 14:29:52 +01:00
Lipu Fei
1d104f367d Do not show not supported in profile manager
CURA-4796
2018-01-15 14:29:51 +01:00
Lipu Fei
4abbd4b988 Show custom qualities based on not supported
CURA-4796
2018-01-15 14:29:51 +01:00
Lipu Fei
225b03e98e No need for the extra extrudersAdded signal
CURA-4784
2018-01-12 09:58:07 +01:00
Aleksei S
3f4a2c565c Fix: after extruders switch do not trigger slicing, provided a new signal
which is triggered after adding extruder and it subscribers for property changes
2018-01-11 13:32:05 +01:00
Diego Prado Gesto
78b42afbcb CURA-4776 Add unique id to the profiles so user can import the same
profile several times with different names.It also fixes the issue for
importing profiles from GCode.
2018-01-10 16:40:58 +01:00
Aleksei S
92e48795c9 Merge branch 'master' of github.com:Ultimaker/cura 2018-01-10 11:20:31 +01:00
Aleksei S
95361bbeb2 Refactoring: profile from Gcode
CURA-4776
2018-01-10 11:19:19 +01:00
Lipu Fei
91cccedf75 Fix upgrading quality changes for single extrusion machines 2018-01-10 08:54:46 +01:00
ChrisTerBeke
3de4940d69 Simplify creating, duplicating materials in preferences, extract logic to python, code-style fixes 2018-01-09 16:19:29 +01:00
Aleksei S
3852b0d1c3 Merge branch 'master' of github.com:Ultimaker/cura 2018-01-09 13:39:32 +01:00
Aleksei S
d633a4c112 Fix: cura does not profile form G-code
CURA-4776
2018-01-09 13:38:41 +01:00
Lipu Fei
78b9a14007 Fix all possible quality changes containers for single extrusion
In the current fix, the quality changes that are applicable to the
machine may not have been fixed yet because they are not active at that
moment. This commit makes sure that for a single extrusion machine which
has just been updated to have an ExtruderStack, all the quality changes
containers that are applicable to this machine will be updated as well.
2018-01-09 13:30:01 +01:00
Lipu Fei
c91eb30de9 Skip loaded instance containers
When trying to apply the fix for single extrusion machines by creating a
new ExtruderStack, skip the quality changes container that has already
been loaded.
2018-01-09 13:30:01 +01:00
Lipu Fei
8e5167be76 Use the same machine def for extruder quality changes containers 2018-01-09 13:30:00 +01:00
Lipu Fei
59d7cc663a Fix creating ExtruderStack for single-extrusion machine at runtime
Move per-extruder settings from the machine's quality changes container
to the extruder's quality changes container.
2018-01-09 13:30:00 +01:00
Ghostkeeper
b20c6c6ac7
Use isinstance instead of type checking for SceneNode
isinstance also checks for subclasses. In our case, SceneNode was just extended to CuraSceneNode so this test was failing.

Contributes to issue CURA-4766.
2018-01-05 13:02:30 +01:00
Lipu Fei
70d5d4415f
Merge branch 'master' into CURA-4708_fix_definition_changes_extruder_stacks 2018-01-02 10:41:44 +01:00
Ghostkeeper
2e197f0f34
Move all per-extruder settings
Also move things that we didn't think of previously, such as extruder offsets. You can't enter them as a user in the interface if it was single-extrusion, but you could've edited the files.

Contributes to issue CURA-4708.
2018-01-02 08:36:46 +01:00
Ghostkeeper
a87465186e
Fix off-by-one bug when importing profiles with extruder stacks
Since machine_extruders contains only the extruder stacks (not the global stack) but profile_index counts through all stacks including the global stack, we need to increase the length of machine_extruders by 1 when comparing.
I also swapped the comparison around since I think it's more logical this way around.

Contributes to issue CURA-4738.
2018-01-02 08:19:31 +01:00
Lipu Fei
0c28c61e05 Create new SettingInstances when moving user changes settings
CURA-4708
2017-12-22 14:09:13 +01:00
Lipu Fei
0cd392fbd2 Create new SettingInstance when moving extruder DC settings
CURA-4708
2017-12-22 14:08:22 +01:00
Lipu Fei
a7d51326c0 Move extruder-specific DC settings
CURA-4708

Read code comments.
2017-12-22 14:06:11 +01:00
Lipu Fei
3fb3b5826f Make sure user containers have unique IDs
CURA-4708
2017-12-22 12:26:30 +01:00
Lipu Fei
3f9f00673a Fix addExtruderStackForSingleExtrusionMachine()
CURA-4708

- Create definition_changes container for the newly created
  ExtruderStacks.
- Move extruder-specific definition_changes settings from the machine's
  container to the extruder's container
2017-12-22 12:26:29 +01:00
Lipu Fei
0a0db39f02 deepcopy value from the stack
CURA-4705
2017-12-21 09:27:53 +01:00
Lipu Fei
588335c6db Make sure only single-extrusion machines will be fixed
CURA-4713
2017-12-20 13:42:58 +01:00
Lipu Fei
1a6a6f74d5 Fix SettingOverrideDecorator for non printing meshes
CURA-4705

- Do not set a "secret" property in the SceneNode to indicate whether a
  node is a non-printing-mesh because SceneNode will not copy that
  property during a deepcopy. Store it in the SettingOverrideDecorator
  and make it accessible through a decorator call
- Try to trigger an auto-slice AFTER the non-printing-meshes flag is
  updated, not before.
2017-12-20 12:26:50 +01:00
Ghostkeeper
a860154831
Merge branch 'master' of github.com:Ultimaker/Cura 2017-12-20 10:20:30 +01:00
Diego Prado Gesto
8af52fb61b CURA-4726 Creating unique name for the per object stack. Keep the prefix so it is easy to trace when debugging instead of just a number 2017-12-19 19:44:04 +01:00
Diego Prado Gesto
fc78402146 CURA-4726 Using a string for the per object stack id instead of the id
of the instance (that is an integer) because the new ContainerRegistry
searches by string
2017-12-19 17:26:30 +01:00
Ghostkeeper
05e232b498
Move LegacyProfileReader-specific logic into the plug-in itself
This had the documentation that it should edit the profiles returned by LegacyProfileReader. Instead, just return correct profiles from the reader...

Contributes to issue CURA-4715.
2017-12-19 17:16:32 +01:00
Ghostkeeper
c6a2b1b9c9
Ignore any additional stacks in imported profile
When you import a multi-extrusion file into a single-extrusion printer, don't crash but simply ignore the additional stacks.

Contributes to issue CURA-4715.
2017-12-19 17:08:51 +01:00
Ghostkeeper
c5e33e45a4
Fix setting definition if importing profile without printer-specific profiles
Fixes a crash.
2017-12-19 13:24:20 +01:00
Jack Ha
d6c6aa1c71 CURA-4715 fix updating custom profile 2017-12-18 17:03:18 +01:00
Lipu Fei
248fe37ed9 setDefinition() takes the ID instead of the container
CURA-4713
2017-12-15 14:54:26 +01:00
Lipu Fei
f26872ec1f Apply fix for single extrusion machines when a new global stack is added
CURA-4713

Now the machines are not all loaded in the beginning, so the old way of
adding extruder stacks for old single-extrusion machines don't work.
With this fix, it now happens whenever a global stack is added to the
registry.
2017-12-15 14:51:48 +01:00
Aleksei S
2c18127cc1 Tests: Removed python circular import dependency and added empty containers
CURA-4687
2017-12-15 09:43:02 +01:00
Jack Ha
bae2193bfb Merge branch 'master' of github.com:Ultimaker/Cura 2017-12-13 13:39:22 +01:00
Jack Ha
19b56404c6 Fix empty quality slider on start.
It seemed that:
- MachineManager was not connected to all the correct signals
- After connecting to the correct signal, ProfilesModel was not yet updated when looping over it in SidebarSimple

Because ProfilesModel's constructor already requests the MachineManager, we cannot do connect itemsChanged the way around as well.

CURA-4707
2017-12-13 13:33:05 +01:00
Lipu Fei
6e6dc493f1 Fix material loading for unknown names 2017-12-13 12:27:55 +01:00
Ghostkeeper
097cc72d89
Document why we're only returning full profiles
It's a limitation of the quality manager that would require major refactoring there to fix.

Contributes to issue CURA-4243.
2017-12-11 09:44:56 +01:00
Ghostkeeper
430f3dad27
Use GlobalContainerStack.definition instead of .getBottom
If we know it's a CuraContainerStack we can use .definition safely.

Contributes to issue CURA-4243.
2017-12-08 16:57:48 +01:00
Ghostkeeper
1029d4509c
Merge branch 'master' into feature_local_container_server 2017-12-08 16:03:05 +01:00
Diego Prado Gesto
9561827bda CURA-4680 Checking if there is global stack in the ExtruderManager.
Intead of checking for it in all the methods in MachineManager, now the
check is done in ExtruderManager when there is no printer in the list.
2017-12-06 14:12:51 +01:00