36 Commits

Author SHA1 Message Date
Jaime van Kessel
e805c3db05
Ensure material is selected on first opening of material manager 2019-10-25 11:05:38 +02:00
Lipu Fei
38ee4bf208 Remove deprecated functions in MachineManager
CURA-6858
2019-10-22 14:11:40 +02:00
Jaime van Kessel
cadc145008
Prevent infinite recursion in material page if it could not be found 2019-10-08 16:49:54 +02:00
Ghostkeeper
21412986d3
Remove material manager from MaterialsPage
It is no longer used now that everything relevant has been moved to a separate class for this page specifically.

Contributes to issue CURA-6600.
2019-08-27 18:01:35 +02:00
Ghostkeeper
3952366798
Move createMaterial to MaterialManagementModel and simplify it a bit
We can reuse our duplicateMaterial function again but in a simpler way. Also finding the preferred material is simpler with our container tree.
However there seems to be a problem with finding the preferred material; it's not finding generic_pla for UM3 and AA0.4 anyway, and then falls back on a random material. This needs to be fixed in the variant node class.

Contributes to issue CURA-6600.
2019-08-27 17:21:22 +02:00
Ghostkeeper
1874a6453d
Move duplicateMaterial into MaterialManagementModel
To move away from the deprecated MaterialManager class.

Contributes to issue CURA-6600.
2019-08-27 17:21:21 +02:00
Ghostkeeper
8346e465f6
Turn MaterialManagementModel into a singleton
Just like MaterialManager used to be. There can be only one instance of the page then.
This prevents a crash when Qt deletes the QObject because it's no longer used in the page when you close the preferences screen. But when you open it again it doesn't construct a new one. Now there is always one instance so that's not a problem any more. Also it allows other pages to access this item.

Contributes to issue CURA-6600.
2019-08-27 15:47:41 +02:00
Ghostkeeper
3dc7c7b61c
Move removeMaterial to MaterialManagementModel
Moving away from the MaterialManager.

Contributes to issue CURA-6600.
2019-08-27 15:47:40 +02:00
Ghostkeeper
5b8ed91b04
Create new MaterialManagementModel and move canMaterialBeRemoved
Just like the QualityManagementModel, this class is intended to be used as proxy for the material management page in the preferences. I'm intending to move all relevant pyqtSlots from the material manager into this one. The advantage of this switch is that the material manager had no well-bounded scope and so tended to become a big mess of all sorts of functions. This one has a clear scope: serve as a proxy for the buttons you can press in the preferences screen for materials.

Contributes to issue CURA-6600.
2019-08-27 15:47:40 +02:00
Jaime van Kessel
8759aae73e Fix crash when materialManager could not be converted to QObject
No idea why this was causing issues, but this should also be a bit faster.

CURA-6600
2019-08-19 12:47:07 +02:00
Lipu Fei
2ce567ccfe Fix material current item reset
CURA-6679
2019-07-30 15:16:50 +02:00
Jaime van Kessel
914d2e98e9 Fix the disabling of the material setting fields.
This was caused by using 2 different modelsItems.
2019-07-30 11:29:49 +02:00
Ghostkeeper
18d1148c78
Don't reset selected material upon container changed
The onActiveMaterialChanged signal is triggered upon loading a material for the first time. This is hard to fix without breaking stuff, so we will revert this part.

This re-introduces a bug where if you change a material diameter such that the material disappears from the list, it is still selected and you can change its properties in the details panel.

Contributes to issue CURA-6679.
2019-07-24 17:01:37 +02:00
Ghostkeeper
be4e754984
Remove cache of material manager
It doesn't make the code much simpler because the cache is also not a local variable.

Contributes to issue CURA-6679.
2019-07-24 16:04:40 +02:00
Remco Burema
fea8262656 Listen to 'material-changed' since it doesn't update immediately.
part of CURA-6590
2019-07-03 16:14:08 +02:00
Jaime van Kessel
2cd6b73d12 Ensure that the material selection gets reset when diameter is changed
CURA-6590
2019-07-02 17:59:27 +02:00
Jaime van Kessel
99e6ec9509 Fix the last material qml warnings 2019-05-16 14:29:05 +02:00
Satish
3b4e253e98 Added ids to materials for squish tests
-Added a text property to MaterialsBrandSection
-Added ids to materials menu buttons
2019-05-07 12:37:42 +02:00
Jaime van Kessel
c3a373e2a2 Remove usages of deprecated activeMachineName 2019-05-03 13:38:06 +02:00
Jaime van Kessel
d42f446d70 Remove usages of deprecated function 2019-05-03 13:17:10 +02:00
Ghostkeeper
c79ffab9fb
Merge branch '4.0' 2019-03-18 11:24:23 +01:00
Jaime van Kessel
8b3290fb1e Prevent the deletion of materials that are still active 2019-03-14 10:50:53 +01:00
Diego Prado Gesto
fa39ba9132 Fix typo. Remove parenthesis. 2018-11-19 16:37:12 +01:00
Diego Prado Gesto
df38e7db85 Do not allow the user to activate a material if the printer is not
defined to have materials.

Contributes to #4550.
2018-11-19 16:31:15 +01:00
Diego Prado Gesto
6c9c68e004 Active the focus when the selected item changes.
In this case, if the user was updating some information in one material
and then select other material, the new data is stored.

Contributes to CURA-5682.
2018-09-17 14:41:45 +02:00
Diego Prado Gesto
bafc2b98c9 Reuse MaterialBrandSection component for Favorites, Generic and branded
materials.

This component will show different children depending on the
hasMaterialTypes flag.

Adjust some small UI issues.

Contributes to CURA-5682.
2018-09-17 12:08:41 +02:00
Diego Prado Gesto
6dc53cc60a Select the next selected material when it is activated or removed.
Contributes to CURA-5682.
2018-09-12 18:39:19 +02:00
Diego Prado Gesto
921b11974c Improve the way the categories are highlighted.
When a material is selected, but the brand or the type is collapsed,
those components are also highlighted to indicate the path to the
material.

Reuse the MaterialBrandSection also for the generic materials, that
allow us to only mantain one component.

Contributes to CURA-5682.
2018-09-12 15:42:02 +02:00
Diego Prado Gesto
f298d37134 WIP: Moving current selected material to the material list instead of
the page.

Change all the previous references to the currentItem in the page.
Automatically and correctly select the element that is selected in the
extruder.

Contributes to CURA-5682.
2018-09-11 22:12:54 +02:00
Diego Prado Gesto
fe256b3562 Fix some issues in the material preference page.
Now the generic section collapses and expands correctly. Some qml error
was also fixed.

Contributes to CURA-5682.
2018-09-10 15:57:19 +02:00
Ghostkeeper
c1ef9abf1d
Fix code style
These changed in the same pull request so I'll remove them here.

Contributes to issue CURA-5682.
2018-09-06 17:23:16 +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
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
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
6225fff1f8 Re-added material detail view
Contributes to CURA-5378
2018-08-22 15:58:58 +02:00
Ian Paschal
00eb8e6788 Organize material preferences
Contributes to CURA-5378
2018-08-22 12:34:38 +02:00