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

This commit is contained in:
Jack Ha 2018-02-26 09:30:33 +01:00
commit 11be94c735
10 changed files with 77 additions and 110 deletions

View file

@ -171,36 +171,46 @@ Item
object: "<new name>"
onAccepted:
{
base.newQualityChangesNameToSwitchTo = newName; // We want to switch to the new profile once it's created
base.newQualityNameToSelect = newName; // We want to switch to the new profile once it's created
base.toActivateNewQuality = true;
Cura.ContainerManager.createQualityChanges(newName);
}
}
property string newQualityChangesNameToSwitchTo: ""
property string newQualityNameToSelect: ""
property bool toActivateNewQuality: false
// This connection makes sure that we will switch to the new
// This connection makes sure that we will switch to the correct quality after the model gets updated
Connections
{
target: qualitiesModel
onItemsChanged: {
var currentItemName = base.currentItem == null ? "" : base.currentItem.name;
var toSelectItemName = base.currentItem == null ? "" : base.currentItem.name;
if (newQualityNameToSelect != "") {
toSelectItemName = newQualityNameToSelect;
}
for (var idx = 0; idx < qualitiesModel.rowCount(); ++idx) {
var item = qualitiesModel.getItem(idx);
if (base.newQualityChangesNameToSwitchTo != "") {
if (item.name == base.newQualityChangesNameToSwitchTo) {
var newIdx = -1; // Default to nothing if nothing can be found
if (toSelectItemName != "") {
// Select the required quality name if given
for (var idx = 0; idx < qualitiesModel.rowCount(); ++idx) {
var item = qualitiesModel.getItem(idx);
if (item.name == toSelectItemName) {
// Switch to the newly created profile if needed
qualityListView.currentIndex = idx;
if (item.is_read_only) {
Cura.MachineManager.setQualityGroup(item.quality_group);
} else {
newIdx = idx;
if (base.toActivateNewQuality) {
// Activate this custom quality if required
Cura.MachineManager.setQualityChangesGroup(item.quality_changes_group);
}
base.newQualityChangesNameToSwitchTo = "";
break;
}
break;
}
}
qualityListView.currentIndex = newIdx;
// Reset states
base.newQualityNameToSelect = "";
base.toActivateNewQuality = false;
}
}
@ -213,7 +223,6 @@ Item
onAccepted:
{
Cura.ContainerManager.duplicateQualityChanges(newName, base.currentItem);
qualityListView.currentIndex = -1; // TODO: Reset selection.
}
}
@ -244,8 +253,8 @@ Item
object: "<new name>"
onAccepted:
{
Cura.ContainerManager.renameQualityChangesGroup(base.currentItem.quality_changes_group, newName);
qualityListView.currentIndex = -1; // TODO: Reset selection.
var actualNewName = Cura.ContainerManager.renameQualityChangesGroup(base.currentItem.quality_changes_group, newName);
base.newQualityNameToSelect = actualNewName; // Select the new name after the model gets updated
}
}