Merge branch 'feature_intent_container_tree' of github.com:Ultimaker/Cura into feature_intent_interface

This commit is contained in:
Jaime van Kessel 2019-08-29 16:28:26 +02:00
commit b00b8c8c58
27 changed files with 603 additions and 239 deletions

View file

@ -7,7 +7,7 @@ import QtQuick.Layouts 1.3
import QtQuick.Dialogs 1.2
import UM 1.2 as UM
import Cura 1.0 as Cura
import Cura 1.5 as Cura
Item
{
@ -17,7 +17,7 @@ Item
property var resetEnabled: false
property var currentItem: null
property var materialManager: CuraApplication.getMaterialManager()
property var materialManagementModel: CuraApplication.getMaterialManagementModel()
property var hasCurrentItem: base.currentItem != null
property var isCurrentItemActivated:
@ -121,7 +121,7 @@ Item
onClicked:
{
forceActiveFocus();
base.newRootMaterialIdToSwitchTo = base.materialManager.createMaterial();
base.newRootMaterialIdToSwitchTo = base.materialManagementModel.createMaterial();
base.toActivateNewMaterial = true;
}
}
@ -136,7 +136,7 @@ Item
onClicked:
{
forceActiveFocus();
base.newRootMaterialIdToSwitchTo = base.materialManager.duplicateMaterial(base.currentItem.container_node);
base.newRootMaterialIdToSwitchTo = base.materialManagementModel.duplicateMaterial(base.currentItem.container_node);
base.toActivateNewMaterial = true;
}
}
@ -147,7 +147,7 @@ Item
id: removeMenuButton
text: catalog.i18nc("@action:button", "Remove")
iconName: "list-remove"
enabled: base.hasCurrentItem && !base.currentItem.is_read_only && !base.isCurrentItemActivated && base.materialManager.canMaterialBeRemoved(base.currentItem.container_node)
enabled: base.hasCurrentItem && !base.currentItem.is_read_only && !base.isCurrentItemActivated && base.materialManagementModel.canMaterialBeRemoved(base.currentItem.container_node)
onClicked:
{
@ -297,7 +297,7 @@ Item
{
// Set the active material as the fallback. It will be selected when the current material is deleted
base.newRootMaterialIdToSwitchTo = base.active_root_material_id
base.materialManager.removeMaterial(base.currentItem.container_node);
base.materialManagementModel.removeMaterial(base.currentItem.container_node);
}
}

View file

@ -23,6 +23,7 @@ TabView
property real secondColumnWidth: (width * 0.40) | 0
property string containerId: ""
property var materialPreferenceValues: UM.Preferences.getValue("cura/material_settings") ? JSON.parse(UM.Preferences.getValue("cura/material_settings")) : {}
property var materialManagementModel: CuraApplication.getMaterialManagementModel()
property double spoolLength: calculateSpoolLength()
property real costPerMeter: calculateCostPerMeter()
@ -565,7 +566,7 @@ TabView
}
// update the values
CuraApplication.getMaterialManager().setMaterialName(base.currentMaterialNode, new_name)
base.materialManagementModel.setMaterialName(base.currentMaterialNode, new_name)
properties.name = new_name
}

View file

@ -17,13 +17,10 @@ Item
property QtObject qualityManager: CuraApplication.getQualityManager()
property var resetEnabled: false // Keep PreferencesDialog happy
property var extrudersModel: CuraApplication.getExtrudersModel()
property var qualityManagementModel: CuraApplication.getQualityManagementModel()
UM.I18nCatalog { id: catalog; name: "cura"; }
Cura.QualityManagementModel {
id: qualitiesModel
}
Label {
id: titleLabel
anchors {
@ -40,7 +37,7 @@ Item
property var currentItem: {
var current_index = qualityListView.currentIndex;
return (current_index == -1) ? null : qualitiesModel.getItem(current_index);
return (current_index == -1) ? null : base.qualityManagementModel.getItem(current_index);
}
property var currentItemName: hasCurrentItem ? base.currentItem.name : ""
@ -195,7 +192,7 @@ Item
// This connection makes sure that we will switch to the correct quality after the model gets updated
Connections
{
target: qualitiesModel
target: base.qualityManagementModel
onItemsChanged:
{
var toSelectItemName = base.currentItem == null ? "" : base.currentItem.name;
@ -208,9 +205,9 @@ Item
if (toSelectItemName != "")
{
// Select the required quality name if given
for (var idx = 0; idx < qualitiesModel.count; ++idx)
for (var idx = 0; idx < base.qualityManagementModel.count; ++idx)
{
var item = qualitiesModel.getItem(idx);
var item = base.qualityManagementModel.getItem(idx);
if (item.name == toSelectItemName)
{
// Switch to the newly created profile if needed
@ -257,7 +254,7 @@ Item
onYes:
{
base.qualityManager.removeQualityChangesGroup(base.currentItem.quality_changes_group);
base.qualityManagementModel.removeQualityChangesGroup(base.currentItem.quality_changes_group);
// reset current item to the first if available
qualityListView.currentIndex = -1; // Reset selection.
}
@ -282,7 +279,7 @@ Item
id: importDialog
title: catalog.i18nc("@title:window", "Import Profile")
selectExisting: true
nameFilters: qualitiesModel.getFileNameFilters("profile_reader")
nameFilters: base.qualityManagementModel.getFileNameFilters("profile_reader")
folder: CuraApplication.getDefaultPath("dialog_profile_path")
onAccepted:
{
@ -308,7 +305,7 @@ Item
id: exportDialog
title: catalog.i18nc("@title:window", "Export Profile")
selectExisting: false
nameFilters: qualitiesModel.getFileNameFilters("profile_writer")
nameFilters: base.qualityManagementModel.getFileNameFilters("profile_writer")
folder: CuraApplication.getDefaultPath("dialog_profile_path")
onAccepted:
{
@ -390,16 +387,16 @@ Item
{
id: qualityListView
model: qualitiesModel
model: base.qualityManagementModel
Component.onCompleted:
{
var selectedItemName = Cura.MachineManager.activeQualityOrQualityChangesName;
// Select the required quality name if given
for (var idx = 0; idx < qualitiesModel.count; idx++)
for (var idx = 0; idx < base.qualityManagementModel.count; idx++)
{
var item = qualitiesModel.getItem(idx);
var item = base.qualityManagementModel.getItem(idx);
if (item.name == selectedItemName)
{
currentIndex = idx;