152 Commits

Author SHA1 Message Date
Jaime van Kessel
41f2a0e222 Add a property to temporarily disable the material models from updating.
This allows the QMl to stop the updating when it's not even visible
2019-02-21 20:47:38 +01:00
Jaime van Kessel
7754b8a447 Only instantiate setting menus when it's visible
This saves a bit of time on booting and prevents unneeded updates (
because it doesn't matter if a setting changes if no-one is watching!)
2019-02-21 20:20:01 +01:00
Jaime van Kessel
fc11286c6c Also ensure that the QualtiyProfilesModel is on a changeTimer on create 2019-02-21 18:38:51 +01:00
Jaime van Kessel
b61bf3df4d Only emit signal if the properties actually changed 2019-02-19 17:46:29 +01:00
Jaime van Kessel
22b70e1a34 Ignore sceneChange signals if the camera triggered them in some places
These places weren't interested in all changes. They can probably be more
strict, but the camera is a really safe bet (and already greatly decreases
the number of updates, especially when just moving the camera)
2019-02-19 17:06:48 +01:00
Jaime van Kessel
5600d5407c Add default if group_name is not set.
Otherwise we get a crash.

CURA-6153
2019-02-01 12:02:59 +01:00
Remco Burema
954fdb20ad Rename 'connect_group_name' to 'group_name'. [CURA-6153] 2019-01-31 20:21:42 +01:00
Jaime van Kessel
f627560751 Add timer to QualityProfilesDropdownMenuModel to prevent unneeded updates
It's the same old trick we've pulled off quite often, so this should be pretty safe
2018-12-21 17:12:07 +01:00
Jaime van Kessel
dc473dc78d Add missing typing for setting visibility preset model 2018-12-20 11:09:02 +01:00
Ghostkeeper
66ed9ed201
Remove optimisation that broke updates of models upon metadata change
If the metadata changed, such as whether a material was favourite or not, then the materials models were not updating any more because the actual list of available materials was still the same.
I've removed this optimisation and tested performance locally. It seems to be slightly slower (though that might be placebo or measurement error). However most of the performance boost of cura-6016 was resulting from different changes there so the interface still seems to be quite a lot faster than what it used to be.

Contributes to issue CURA-6032.
2018-12-18 16:52:04 +01:00
Ghostkeeper
1b11164340
Remove unused import and add documentation 2018-12-18 16:09:19 +01:00
Lipu Fei
a02bccf74d Fix NozzleModel to work with new ListModel data update
CURA-6015

ListModels should not modify items directly. All ListModels should use
setItems() and the insertions/removals/modifications will be done in
setItems() itself.
2018-12-14 13:00:06 +01:00
Remco Burema
b413b4cdb6 Correct a typo in typing. [CURA-6016] 2018-12-11 17:21:14 +01:00
Jaime van Kessel
f67ac8d7c4 Update far less agressively for the material models
CURA-6016
2018-12-11 10:59:17 +01:00
Lipu Fei
2c8ed99281 Add is_experimental to Qt models and QMLs
CURA-5879
2018-11-27 15:50:03 +01:00
Jaime van Kessel
90726ecbff Fix situation where the setting visibility model could cause a crash.
Yay for crash logging
2018-11-01 15:28:08 +01:00
Lipu Fei
97e6354c13 Fix material update upon extruder-compatible diameter change
CURA-5834

Material models and the material container on an extruder need to be
updated when the extruder's compatible diameter gets changes.
2018-10-19 13:48:52 +02:00
Jaime van Kessel
d086e6fa86 Fix review comments
CURA-5734
2018-10-17 10:47:34 +02:00
Ghostkeeper
b37252f124
Minor code style fixes
Contributes to issue CURA-5734.
2018-10-10 14:18:37 +02:00
Jaime van Kessel
4def636fc9 Minor codecleanup (Typing & removing unused imports)
CURA-5734
2018-10-01 14:54:08 +02:00
Jaime van Kessel
edb5de9954 Added unit test for settingvisibility presets
CURA-5734
2018-10-01 14:50:53 +02:00
Jaime van Kessel
7e7afa7c06 Ensure that the SettingVisibilityPresetsModel doesn't have duplicated settings
CURA-5734
2018-10-01 11:51:07 +02:00
Jaime van Kessel
fc9f05fc8b Moved SettingVisibilityPreset loading to it's own class
Since there was so much debate regarding the unit testing of the visiblity presets, i had another look at it.
The old version was almost untestable because all functionalities were mushed together into a single class.

CURA-5734
2018-10-01 11:32:55 +02:00
Jaime van Kessel
7310a677ce Clean up more code
This fixes some typing and moves a property to protected, as it should be
2018-09-27 16:07:18 +02:00
Ghostkeeper
c6fa9474d6
Merge branch '3.5' 2018-09-17 14:41:45 +02:00
Diego Prado Gesto
7e1a833e9c Merge branch '3.5' into CURA-5682_material_manager_leftovers 2018-09-12 17:12:40 +02:00
Diego Prado Gesto
6d2492e5cb Remove spurious signal, it does the same as materialsUpdated.
Contributes to CURA-5682.
2018-09-12 12:59:13 +02:00
Jaime van Kessel
e7d9f0ce45 Added typing for various setting classes 2018-09-10 15:24:11 +02:00
Ian Paschal
9e56d6d29f Improved expansion behavior
Contributes to CURA-5682

- Active material is now expanded by default when opening the manager

- Expanded and collapsed sections are saved to preferences

- Sections are now highlighted when collapsed and having a selected material inside

- Bug with losing focus between fields is not yet fixed
2018-09-05 17:16:06 +02:00
Lipu Fei
ab572e9de2 SettingFunction evaluation needs a stack to provide values
Note that this is still not correct. When the value gets evaluated, we
need to evaluate it with that container in the stack(s), but this case,
the stack may have other containers, so the evaluation can give
incorrect values because its context is simply not correct. This change
only prevents it from breaking because it's missing a provider.
2018-09-03 14:03:46 +02:00
Ghostkeeper
6df029971d
Don't crash if layer height is a formula
We obtain the layer height here but that might be a formula so we should evaluate that formula here.

Fixes #4005.
2018-09-03 11:02:24 +02:00
Lipu Fei
40c4e9c5df Fix KeyError color_code in BaseMaterialsModel 2018-08-28 09:56:00 +02:00
Lipu Fei
33f495442a Remove unneeded code
CURA-5162
2018-08-27 10:44:41 +02:00
Ian Paschal
2304aeaceb Expanded states preserved when updating models
Did this so that models can be updated more often fixing bugs where when a material is set as "not favorite" in the favorites section, its updated accordingly in its "normal" section.

It's also the ground work for saving material section expansion to preferences.

Contributes to CURA-5378
2018-08-24 12:10:32 +02:00
Ian Paschal
6be9b5e27f Consolidate models some more
Contributes to CURA-5162, CURA-5378
2018-08-23 16:58:23 +02:00
Ian Paschal
56a5f59964 Cleaner code
I was hoping to completely nix the generic materials model (since it's basically just a brand "Generic", but then in the QML it has to be have the same in terms of sub-menus or fold-outs and that looked stupid (Generic -> ABS -> ABS)). So we keep that one for now. It is cleaner though.

Contributes to CURA-5162, CURA-5378
2018-08-23 16:39:40 +02:00
Ian Paschal
8da7773600 Remove unused code
Contributes to CURA-5162, CURA-5378
2018-08-23 16:04:51 +02:00
Ian Paschal
6225fff1f8 Re-added material detail view
Contributes to CURA-5378
2018-08-22 15:58:58 +02:00
Ian Paschal
cb713eea6a Improve models
Contributes to CURA-5162, CURA-5378
2018-08-22 12:33:29 +02:00
Ian Paschal
68bccd8bf7 Improve the Favorites, Base, and Brand materials models (WIP)
Contribuetes to CURA-5378
2018-08-20 17:16:54 +02:00
Ian Paschal
e8cda90021 Add favorites to materials menu
Contributes to CURA-5162
2018-08-16 13:04:58 +02:00
Ian Paschal
8493948ba1 Add a favorite materials model
Contributes to CURA-5162
2018-08-15 14:06:07 +02:00
Lipu Fei
a303f394c8 Move VariantType to VariantType.py
Less circular dependencies for imports.
2018-08-02 16:11:55 +02:00
Lipu Fei
76417b7fb2 Hide materials belong to a to-be-removed package 2018-07-11 10:57:57 +02:00
Diego Prado Gesto
762a1b1bfd Fix code-style 2018-07-03 12:06:06 +02:00
Diego Prado Gesto
6e364f0895 CURA-5330 Fix typing and code-style in the ContainerNode and all the
related children, and QualityGroup and its children.
Also fix the related calls in the managers.
2018-06-13 10:55:57 +02:00
Diego Prado Gesto
5cd464c5de CURA-5330 Fix some typing issues in QualityProfilesDropDownMenuModel and
SettingInheritanceManager.
2018-06-12 16:35:46 +02:00
Diego Prado Gesto
2dfedf3ae4 CURA-5330 Add typing in CuraContainerRegistry and
QualityProfilesDropDownMenuModel
2018-06-08 17:02:59 +02:00
Lipu Fei
bddd32a5b6 Fix branded materials model binding
CURA-5336

When the global stack gets changed, the model should update itself
so it refers to the correct extruder stack.
2018-06-07 15:50:08 +02:00
Lipu Fei
61a3668a4f Merge remote-tracking branch 'origin/3.4' 2018-06-01 13:51:00 +02:00