mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-05-01 00:04:27 +08:00
Move contents of ProfileTab to ProfileOverview file
This way it is re-useable, and no longer connected to the concept of a tab view. We can then display it in the profile manager. Contributes to issue CURA-8686.
This commit is contained in:
parent
50960ce5cf
commit
cfafdf878a
@ -1,118 +0,0 @@
|
|||||||
// Copyright (c) 2018 Ultimaker B.V.
|
|
||||||
// Cura is released under the terms of the LGPLv3 or higher.
|
|
||||||
|
|
||||||
import QtQuick 2.7
|
|
||||||
import QtQuick.Controls 1.4
|
|
||||||
|
|
||||||
import UM 1.2 as UM
|
|
||||||
import Cura 1.0 as Cura
|
|
||||||
|
|
||||||
Tab
|
|
||||||
{
|
|
||||||
id: base
|
|
||||||
|
|
||||||
property int extruderPosition: -1 //Denotes the global stack.
|
|
||||||
property var qualityItem: null
|
|
||||||
|
|
||||||
property bool isQualityItemCurrentlyActivated:
|
|
||||||
{
|
|
||||||
if (qualityItem == null)
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return qualityItem.name == Cura.MachineManager.activeQualityOrQualityChangesName;
|
|
||||||
}
|
|
||||||
|
|
||||||
TableView
|
|
||||||
{
|
|
||||||
anchors.fill: parent
|
|
||||||
anchors.margins: UM.Theme.getSize("default_margin").width
|
|
||||||
id: profileSettingsView
|
|
||||||
|
|
||||||
Component
|
|
||||||
{
|
|
||||||
id: itemDelegate
|
|
||||||
|
|
||||||
UM.TooltipArea
|
|
||||||
{
|
|
||||||
property var setting: qualitySettings.getItem(styleData.row)
|
|
||||||
height: childrenRect.height
|
|
||||||
width: (parent != null) ? parent.width : 0
|
|
||||||
text:
|
|
||||||
{
|
|
||||||
if (styleData.value === undefined)
|
|
||||||
{
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
return (styleData.value.substr(0,1) == "=") ? styleData.value : ""
|
|
||||||
}
|
|
||||||
|
|
||||||
Label
|
|
||||||
{
|
|
||||||
anchors.left: parent.left
|
|
||||||
anchors.leftMargin: UM.Theme.getSize("default_margin").width
|
|
||||||
anchors.right: parent.right
|
|
||||||
text:
|
|
||||||
{
|
|
||||||
if (styleData.value === undefined)
|
|
||||||
{
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
return (styleData.value.substr(0,1) == "=") ? catalog.i18nc("@info:status", "Calculated") : styleData.value
|
|
||||||
}
|
|
||||||
font.strikeout: styleData.column == 1 && setting.user_value != "" && base.isQualityItemCurrentlyActivated
|
|
||||||
font.italic: setting.profile_value_source == "quality_changes" || (setting.user_value != "" && base.isQualityItemCurrentlyActivated)
|
|
||||||
opacity: font.strikeout ? 0.5 : 1
|
|
||||||
color: styleData.textColor
|
|
||||||
elide: Text.ElideRight
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
TableViewColumn
|
|
||||||
{
|
|
||||||
role: "label"
|
|
||||||
title: catalog.i18nc("@title:column", "Setting")
|
|
||||||
width: (parent.width * 0.4) | 0
|
|
||||||
delegate: itemDelegate
|
|
||||||
}
|
|
||||||
TableViewColumn
|
|
||||||
{
|
|
||||||
role: "profile_value"
|
|
||||||
title: catalog.i18nc("@title:column", "Profile")
|
|
||||||
width: (parent.width * 0.18) | 0
|
|
||||||
delegate: itemDelegate
|
|
||||||
}
|
|
||||||
TableViewColumn
|
|
||||||
{
|
|
||||||
role: "user_value"
|
|
||||||
title: catalog.i18nc("@title:column", "Current");
|
|
||||||
visible: base.isQualityItemCurrentlyActivated
|
|
||||||
width: (parent.width * 0.18) | 0
|
|
||||||
delegate: itemDelegate
|
|
||||||
}
|
|
||||||
TableViewColumn
|
|
||||||
{
|
|
||||||
role: "unit"
|
|
||||||
title: catalog.i18nc("@title:column", "Unit")
|
|
||||||
width: (parent.width * 0.14) | 0
|
|
||||||
delegate: itemDelegate
|
|
||||||
}
|
|
||||||
|
|
||||||
section.property: "category"
|
|
||||||
section.delegate: Label
|
|
||||||
{
|
|
||||||
text: section
|
|
||||||
font.bold: true
|
|
||||||
}
|
|
||||||
|
|
||||||
model: Cura.QualitySettingsModel
|
|
||||||
{
|
|
||||||
id: qualitySettings
|
|
||||||
selectedPosition: base.extruderPosition
|
|
||||||
selectedQualityItem: base.qualityItem == null ? {} : base.qualityItem
|
|
||||||
}
|
|
||||||
|
|
||||||
SystemPalette { id: palette }
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,5 +1,5 @@
|
|||||||
// Copyright (c) 2022 Ultimaker B.V.
|
//Copyright (c) 2022 Ultimaker B.V.
|
||||||
// Uranium is released under the terms of the LGPLv3 or higher.
|
//Cura is released under the terms of the LGPLv3 or higher.
|
||||||
|
|
||||||
import QtQuick 2.7
|
import QtQuick 2.7
|
||||||
import QtQuick.Controls 2.15
|
import QtQuick.Controls 2.15
|
||||||
@ -521,7 +521,13 @@ Item
|
|||||||
|
|
||||||
Column
|
Column
|
||||||
{
|
{
|
||||||
anchors.fill: parent
|
id: detailsPanelHeaderColumn
|
||||||
|
anchors
|
||||||
|
{
|
||||||
|
left: parent.left
|
||||||
|
right: parent.right
|
||||||
|
top: parent.top
|
||||||
|
}
|
||||||
|
|
||||||
spacing: UM.Theme.getSize("default_margin").height
|
spacing: UM.Theme.getSize("default_margin").height
|
||||||
visible: base.currentItem != null
|
visible: base.currentItem != null
|
||||||
@ -585,6 +591,7 @@ Item
|
|||||||
|
|
||||||
UM.TabRow
|
UM.TabRow
|
||||||
{
|
{
|
||||||
|
id: profileExtruderTabs
|
||||||
UM.TabRowButton //One extra tab for the global settings.
|
UM.TabRowButton //One extra tab for the global settings.
|
||||||
{
|
{
|
||||||
text: catalog.i18nc("@title:tab", "Global Settings")
|
text: catalog.i18nc("@title:tab", "Global Settings")
|
||||||
@ -601,6 +608,21 @@ Item
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Cura.ProfileOverview
|
||||||
|
{
|
||||||
|
anchors
|
||||||
|
{
|
||||||
|
top: detailsPanelHeaderColumn.bottom
|
||||||
|
left: parent.left
|
||||||
|
right: parent.right
|
||||||
|
bottom: parent.bottom
|
||||||
|
}
|
||||||
|
|
||||||
|
visible: detailsPanelHeaderColumn.visible
|
||||||
|
qualityItem: base.currentItem
|
||||||
|
extruderPosition: profileExtruderTabs.currentIndex - 1
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
110
resources/qml/ProfileOverview.qml
Normal file
110
resources/qml/ProfileOverview.qml
Normal file
@ -0,0 +1,110 @@
|
|||||||
|
//Copyright (c) 2022 Ultimaker B.V.
|
||||||
|
//Cura is released under the terms of the LGPLv3 or higher.
|
||||||
|
|
||||||
|
import QtQuick 2.7
|
||||||
|
import QtQuick.Controls 1.4 as OldControls
|
||||||
|
import QtQuick.Controls 2.15
|
||||||
|
|
||||||
|
import UM 1.5 as UM
|
||||||
|
import Cura 1.6 as Cura
|
||||||
|
|
||||||
|
OldControls.TableView
|
||||||
|
{
|
||||||
|
id: profileOverview
|
||||||
|
|
||||||
|
property var qualityItem //The quality profile to display here.
|
||||||
|
property int extruderPosition: -1 //The extruder to display. -1 denotes the global stack.
|
||||||
|
|
||||||
|
property bool isQualityItemCurrentlyActivated:
|
||||||
|
{
|
||||||
|
if (qualityItem == null)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return qualityItem.name == Cura.MachineManager.activeQualityOrQualityChangesName;
|
||||||
|
}
|
||||||
|
|
||||||
|
Component
|
||||||
|
{
|
||||||
|
id: itemDelegate
|
||||||
|
|
||||||
|
UM.TooltipArea
|
||||||
|
{
|
||||||
|
property var setting: qualitySettings.getItem(styleData.row)
|
||||||
|
height: childrenRect.height
|
||||||
|
width: (parent != null) ? parent.width : 0
|
||||||
|
text:
|
||||||
|
{
|
||||||
|
if (styleData.value === undefined)
|
||||||
|
{
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
return (styleData.value.substr(0,1) == "=") ? styleData.value : ""
|
||||||
|
}
|
||||||
|
|
||||||
|
Label
|
||||||
|
{
|
||||||
|
anchors.left: parent.left
|
||||||
|
anchors.leftMargin: UM.Theme.getSize("default_margin").width
|
||||||
|
anchors.right: parent.right
|
||||||
|
text:
|
||||||
|
{
|
||||||
|
if (styleData.value === undefined)
|
||||||
|
{
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
return (styleData.value.substr(0,1) == "=") ? catalog.i18nc("@info:status", "Calculated") : styleData.value
|
||||||
|
}
|
||||||
|
font.strikeout: styleData.column == 1 && setting.user_value != "" && profileOverview.isQualityItemCurrentlyActivated
|
||||||
|
font.italic: setting.profile_value_source == "quality_changes" || (setting.user_value != "" && profileOverview.isQualityItemCurrentlyActivated)
|
||||||
|
opacity: font.strikeout ? 0.5 : 1
|
||||||
|
color: styleData.textColor
|
||||||
|
elide: Text.ElideRight
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
OldControls.TableViewColumn
|
||||||
|
{
|
||||||
|
role: "label"
|
||||||
|
title: catalog.i18nc("@title:column", "Setting")
|
||||||
|
width: (parent.width * 0.4) | 0
|
||||||
|
delegate: itemDelegate
|
||||||
|
}
|
||||||
|
OldControls.TableViewColumn
|
||||||
|
{
|
||||||
|
role: "profile_value"
|
||||||
|
title: catalog.i18nc("@title:column", "Profile")
|
||||||
|
width: (parent.width * 0.18) | 0
|
||||||
|
delegate: itemDelegate
|
||||||
|
}
|
||||||
|
OldControls.TableViewColumn
|
||||||
|
{
|
||||||
|
role: "user_value"
|
||||||
|
title: catalog.i18nc("@title:column", "Current");
|
||||||
|
visible: profileOverview.isQualityItemCurrentlyActivated
|
||||||
|
width: (parent.width * 0.18) | 0
|
||||||
|
delegate: itemDelegate
|
||||||
|
}
|
||||||
|
OldControls.TableViewColumn
|
||||||
|
{
|
||||||
|
role: "unit"
|
||||||
|
title: catalog.i18nc("@title:column", "Unit")
|
||||||
|
width: (parent.width * 0.14) | 0
|
||||||
|
delegate: itemDelegate
|
||||||
|
}
|
||||||
|
|
||||||
|
section.property: "category"
|
||||||
|
section.delegate: Label
|
||||||
|
{
|
||||||
|
text: section
|
||||||
|
font.bold: true
|
||||||
|
}
|
||||||
|
|
||||||
|
model: Cura.QualitySettingsModel
|
||||||
|
{
|
||||||
|
id: qualitySettings
|
||||||
|
selectedPosition: profileOverview.extruderPosition
|
||||||
|
selectedQualityItem: profileOverview.qualityItem == null ? {} : profileOverview.qualityItem
|
||||||
|
}
|
||||||
|
}
|
@ -4,6 +4,7 @@ MachineSelector 1.0 MachineSelector.qml
|
|||||||
MachineSelectorButton 1.0 MachineSelectorButton.qml
|
MachineSelectorButton 1.0 MachineSelectorButton.qml
|
||||||
CustomConfigurationSelector 1.0 CustomConfigurationSelector.qml
|
CustomConfigurationSelector 1.0 CustomConfigurationSelector.qml
|
||||||
PrintSetupSelector 1.0 PrintSetupSelector.qml
|
PrintSetupSelector 1.0 PrintSetupSelector.qml
|
||||||
|
ProfileOverview 1.6 ProfileOverview.qml
|
||||||
ActionButton 1.0 ActionButton.qml
|
ActionButton 1.0 ActionButton.qml
|
||||||
MaterialMenu 1.0 MaterialMenu.qml
|
MaterialMenu 1.0 MaterialMenu.qml
|
||||||
NozzleMenu 1.0 NozzleMenu.qml
|
NozzleMenu 1.0 NozzleMenu.qml
|
||||||
|
Loading…
x
Reference in New Issue
Block a user