412 Commits

Author SHA1 Message Date
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
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
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
Arjen Hiemstra
eb8b3e01e3 Properly catch exceptions when serializing containers and check for dirty state 2016-05-23 18:21:23 +02:00
Ghostkeeper
d235b36692 Fix computation of material length from volume
The setting value was obtained wrongly.

Contributes to issue CURA-1278.
2016-05-23 17:19:18 +02:00
Arjen Hiemstra
63b623a6ef Move global_only property declaration to before the super() call so containerregistry knows about it when loading
Also, properly set its type to function and default to False
2016-05-23 02:18:20 +02:00
Ghostkeeper
117973ee25 Add todo message for adding profile readers
This should be done when we have a working profile manager again.

Contributes to issue CURA-1278.
2016-05-20 16:22:10 +02:00
Ghostkeeper
5a28eca203 Add profile reader plug-in type
This type of plug-in will load a file as an instance container of the user profile type.

Contributes to issue CURA-1278.
2016-05-20 16:22:10 +02:00
Ghostkeeper
85ce8a719e Merge local with origin
Contributes to issue CURA-1278.
2016-05-20 16:22:10 +02:00
Jaime van Kessel
295cea338c Translate tool is now no longer stopped by ton of errors
CURA-1278
2016-05-20 14:09:58 +02:00
Jaime van Kessel
305cb27ac0 Global_only is now a string, as the filtering does not work with settingFunctions
CURA-1278
2016-05-20 13:35:38 +02:00
Jaime van Kessel
2fa24edc1f Fixed type for global_only property
CURA-1278
2016-05-20 11:29:48 +02:00
Jaime van Kessel
e20691c421 Fleshing out of SettingOverrideDecorator
CURA-1278
2016-05-19 11:41:10 +02:00
Jaime van Kessel
7ec3ca6e75 Merge branch 'settings_rework' of https://github.com/Ultimaker/Cura into settings_rework 2016-05-19 11:25:47 +02:00
Jaime van Kessel
0e792e7a22 Added SettingOverrideDecorator stub
CURA-1278
2016-05-19 11:25:25 +02:00
Ghostkeeper
6b0a33e166 Move dual extrusion settings into FDMPrinter
This involves making labels and descriptions for some dual-extrusion machine settings, and default values for everything, making sure inheritance is correct, etc.

Contributes to issue CURA-1278.
2016-05-18 17:53:43 +02:00