7744 Commits

Author SHA1 Message Date
Ghostkeeper
06f7f90bb0
Make ExtruderManager into a singleton
This way we don't need to load it in CuraApplication but we can just load it whenever it is first needed. ExtruderManager should be robust against initialising it at any point in Cura's runtime.

Contributes to issues CURA-1278 and CURA-351.
2016-06-02 14:17:12 +02:00
Ghostkeeper
1f9805a73c
Remove unused imports
These are unused because the code was moved to Extruder.py

Contributes to issues CURA-1278 and CURA-351.
2016-06-02 14:17:12 +02:00
Ghostkeeper
95e633f16c
Load extruder manager on start-up
This will consequently also load all extruder stacks of the current machine whenever the current machine changes.

Contributes to issues CURA-1278 and CURA-351.
2016-06-02 11:17:52 +02:00
Ghostkeeper
73f12ffd99
Incorporate switching of global extruder stack
When the global extruder stack switches, we need to re-connect the reloading of extruders to the new containersChanged signal of the new global container stack. This now also bootstraps the listening for the first time, when the global container stack changes from None to the first stack.

Contributes to issues CURA-1278 and CURA-351.
2016-06-02 11:17:52 +02:00
Ghostkeeper
c369202957
Fix unknown variable
Was probably a copy-paste mistake here. Fixed it for him.

Contributes to issue CURA-1278.
2016-06-02 11:17:52 +02:00
Ghostkeeper
1603bb3075
Give access to nozzle, material and quality profiles
You can now swap them out in the extruder model.

Contributes to issues CURA-1278 and CURA-351.
2016-06-02 10:56:17 +02:00
Ghostkeeper
9772d95984
Add user profile to extruder stack
This profile is empty to start with. The user can fill it.

Contributes to issues CURA-351 and CURA-1278.
2016-06-02 10:56:17 +02:00
Ghostkeeper
7993775feb
Make profiles only load if the extruder says it has them
For instance, only load materials if has_materials is True.

Contributes to issues CURA-351 and CURA-1278.
2016-06-02 10:56:17 +02:00
Ghostkeeper
72bc68f38a
Use self._definition instead of local definition parameter
This is supposedly more defensive coding.

Contributes to issues CURA-1278 and CURA-351.
2016-06-02 10:56:17 +02:00
Arjen Hiemstra
123af4e3e4 Use metadata to determine what materials/qualities to use when adding a machine
Contributes to CURA-1612
2016-06-02 08:10:55 +02:00
Ghostkeeper
0e108f0c04
Document filtering nozzles by extruder better
Contributes to issues CURA-1278 and CURA-351.
2016-06-01 15:12:20 +02:00
Ghostkeeper
91fc90a423
Link extruder stack to global container stack
Each extruder stack is linked to the same global container stack.

Contributes to issues CURA-1278 and CURA-351.
2016-06-01 15:05:14 +02:00
Ghostkeeper
d1566ef637
Also reload extruders at init
Not a reload really, just a load.

Contributes to issues CURA-1278 and CURA-351.
2016-06-01 14:55:15 +02:00
Ghostkeeper
60a71fcc33
Only list extruders in extruder manager
Let the extruders themselves take care of which profiles are attached to each.

Contributes to issues CURA-1278 and CURA-351.
2016-06-01 14:54:30 +02:00
Ghostkeeper
377fed206c
Remove extruder creation logic from manager
This logic is now in cura/Extruder.py.

Contributes to issues CURA-1278 and CURA-351.
2016-06-01 13:52:57 +02:00
Ghostkeeper
48eb8de9a1
Add basic extruder implementation
This implementation can load an extruder from a definition container, but doesn't expose anything (yet). It is intended to function in much the same way as a definition model, so it must expose its relevant properties to QML.

Contributes to issues CURA-1278 and CURA-351.
2016-06-01 13:52:57 +02:00
Ghostkeeper
a08e71774d
Make ExtruderManagerModel no longer a PyQt model
It is still a model according to the MVC paradigm but not according to Qt. To be consistent with the rest, don't call it a model any more.

Contributes to issues CURA-1278 and CURA-351.
2016-06-01 12:03:01 +02:00
Arjen Hiemstra
f21e48adbb Register all QML files in Cura's QML directory as part of the Cura module
Jaime asked for it.
2016-05-31 18:07:33 +02:00
Arjen Hiemstra
4dffc414fb Make convex hull decorator respond properly to property change events
Fixes CURA-1460
2016-05-31 18:07:33 +02:00
fieldOfView
3638890138 Renaming a printer in the Manage Printers dialog is now reflected in the sidebar again
Contributes to CURA-1632
2016-05-31 15:26:38 +02:00
Ghostkeeper
d7eda39cb0 Basic extruder manager model implementation
This implementation is currently not used, and also still leaves its container stacks empty. But still...

Contributes to issues CURA-1278 and CURA-351.
2016-05-30 17:05:15 +02:00
Arjen Hiemstra
bdc8fdf508 Turn CuraApplication::_onExit into public api as saveSettings
Since we need it for the autosave plugin

Contributes to CURA-1615
2016-05-30 15:29:10 +02:00
Tim Kuipers
b8df3825f6 JSON fix: remove visible property (and add visibility defaults (CURA-1443)
for acceleration and jerk settings
2016-05-30 14:54:33 +02:00
Jaime van Kessel
c1b64274e8 Merge branch 'master' of github.com:Ultimaker/Cura 2016-05-27 15:29:15 +02:00
Jaime van Kessel
89c1136d7f Per object settings can now be added & changed
CURA-1278
2016-05-27 15:28:54 +02:00
Ghostkeeper
41425fd36e
Replace symbols in default visible settings before usage
These characters are just for visualisation in the code. They should never be used during the normal operation of the program, nor should they be saved to the file. So just replace them immediately.

Contributes to issue CURA-1278.
2016-05-27 14:39:53 +02:00
Ghostkeeper
8bd06ee8ec Merge branch 'master' of github.com:Ultimaker/Cura 2016-05-27 14:09:38 +02:00
Jaime van Kessel
d5dbd0f77b Merge branch 'master' of github.com:Ultimaker/Cura 2016-05-27 14:01:06 +02:00
Jaime van Kessel
990d05815b Added qml files to import path 2016-05-27 14:00:38 +02:00
fieldOfView
545678e18b Merge branch 'master' of https://github.com/Ultimaker/Cura 2016-05-27 11:54:24 +02:00
fieldOfView
6355631842 Activate another machine when we remove the currently active MachineManagerModel
CURA-1278
2016-05-27 11:53:53 +02:00
Jaime van Kessel
a9efa3e612 Merge branch 'master' of github.com:Ultimaker/Cura 2016-05-27 11:27:16 +02:00
Jaime van Kessel
c914446060 Initial changes for perobject stuff
CURA-1278
2016-05-27 11:26:41 +02:00
Ghostkeeper
3311fa8033
Add resource type for extruder definitions
The definition is derived with inheritance, just like the printers. Therefore I decided to call this 'ExtruderStack' in line with how the resource type for the printer is named.

Contributes to issue CURA-1278.
2016-05-27 10:23:28 +02:00
fieldOfView
b60e704aa6 Fix typo
CURA-1606
2016-05-26 22:29:21 +02:00
fieldOfView
53661b2739 Ensure a machine gets a unique names when adding or renaming a machine
CURA-1606
2016-05-26 22:18:34 +02:00
fieldOfView
6bc61a6352 Merge branch 'master' of https://github.com/Ultimaker/Cura 2016-05-26 18:07:00 +02:00
fieldOfView
c01e7144d1 Consistently change the spelling of bounding box
bounding box, bounding_box, boundingBox
2016-05-26 18:06:40 +02:00
Arjen Hiemstra
7ce4e23677 Add all categories to default visible list
Since otherwise none of the children will be visible

Contributes to CURA-1278
Fixes CURA-1614
2016-05-26 15:52:36 +02:00
Simon Edwards
5f638f6e69 Better handling of degenerate convex hull cases.
Contributes to CURA-1504
2016-05-26 14:39:22 +02:00
Simon Edwards
7e3dd3d443 Removed some debug.
Contributes to CURA-1504
2016-05-25 15:51:12 +02:00
Simon Edwards
5d533d642d PlatformPhysics doesn't need ConvexHullJob either.
Contributes to CURA-1504
2016-05-25 15:47:12 +02:00
Simon Edwards
6b71326df9 Deleted ConvexHullJob. We no longer need it.
Contributes to CURA-1504
2016-05-25 15:44:56 +02:00
Arjen Hiemstra
386aec32a8 Merge branch 'settings_rework'
Contributes to CURA-1278

* settings_rework: (224 commits)
  Improve slice trigger documentation
  Import Cura in materials preferences page so we can use the active definition id
  Add layer height to high quality profile so we have something that changes
  Update example XML material to use the right product names
  Filter available materials by the machine definition
  Show the add machine dialog when we do not have an active machine
  Create machine-specific material containers for machine specific overrides in XML material files
  When creating a new container stack, add empty containers for things where we cannot find containers
  Add preferred variant, material and quality to UM2+ definition
  Account for global container stack being None in the backend plugin
  Use the global stack instance variable and account for it potentially being None
  Store the global container stack as an instance property
  Added wildcard to filtering
  Per object settings filter now uses correct bool types (instead of strings)
  Removed stray = sign.
  Fix creating print job name
  Disable asynchronous loading of SettingItem when Qt Version < 5.5
  Document QTbug
  Properly serialise all settings to g-code file
  Document GCodeWriter class
  ...
2016-05-25 15:12:25 +02:00
Arjen Hiemstra
a1d48fd511 When creating a new container stack, add empty containers for things where we cannot find containers
Additionally, record this information in the metadata of the stack
2016-05-25 11:31:19 +02:00
Arjen Hiemstra
b1f887a70f Use the global stack instance variable and account for it potentially being None 2016-05-25 11:31:19 +02:00
Arjen Hiemstra
2e0205f174 Store the global container stack as an instance property
This reduces the amount of function calls and makes it simpler to check
for container existance
2016-05-25 11:31:19 +02:00
Simon Edwards
3915dec426 Only remove the old convex hull shadow when a tool is really being used.
Contributes to CURA-1504
2016-05-24 20:56:41 +02:00
Simon Edwards
a2b5128c05 Updated the cura code for removal of MeshBuilder.getMesh().
Contributes to CURA-1504
2016-05-24 20:51:49 +02:00
Simon Edwards
be145d02b3 Updated the cura code for removal of MeshBuilder.getMesh().
Contributes to CURA-1504
2016-05-24 20:42:21 +02:00