mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-05-03 01:04:35 +08:00
88 lines
2.6 KiB
QML
88 lines
2.6 KiB
QML
// Copyright (c) 2022 Ultimaker B.V.
|
|
// Cura is released under the terms of the LGPLv3 or higher.
|
|
|
|
import QtQuick 2.10
|
|
import QtQuick.Controls 2.3
|
|
import QtQuick.Layouts 2.10
|
|
|
|
import UM 1.7 as UM
|
|
import Cura 1.7 as Cura
|
|
|
|
Item
|
|
{
|
|
property alias title: sectionTitle.text
|
|
property alias icon: sectionTitle.source
|
|
|
|
property alias enableSectionSwitchVisible: enableSectionSwitch.visible
|
|
property alias enableSectionSwitchChecked: enableSectionSwitch.checked
|
|
property alias enableSectionSwitchEnabled: enableSectionSwitch.enabled
|
|
property var enableSectionClicked: { return }
|
|
property int leftColumnWidth: Math.floor(width * 0.35)
|
|
property var toolTipText: ""
|
|
|
|
property alias contents: settingColumn.children
|
|
|
|
function onEnableSectionChanged(state) {}
|
|
|
|
height: childrenRect.height
|
|
|
|
Item
|
|
{
|
|
id: sectionHeader
|
|
anchors.top: parent.top
|
|
anchors.right: parent.right
|
|
anchors.left: parent.left
|
|
height: UM.Theme.getSize("section_header").height
|
|
|
|
Cura.IconWithText
|
|
{
|
|
id: sectionTitle
|
|
width: leftColumnWidth
|
|
anchors.left: parent.left
|
|
anchors.verticalCenter: parent.verticalCenter
|
|
source: UM.Theme.getIcon("PrintQuality")
|
|
spacing: UM.Theme.getSize("default_margin").width
|
|
iconSize: UM.Theme.getSize("medium_button_icon").width
|
|
iconColor: UM.Theme.getColor("text")
|
|
font: UM.Theme.getFont("medium_bold")
|
|
}
|
|
|
|
MouseArea
|
|
{
|
|
id: tooltipMouseArea
|
|
anchors.fill: sectionTitle
|
|
propagateComposedEvents: true
|
|
hoverEnabled: true
|
|
|
|
onEntered: { print("showTooltip") }
|
|
onExited: { print("hideTooltip" ) }
|
|
}
|
|
|
|
}
|
|
|
|
UM.Switch
|
|
{
|
|
id: enableSectionSwitch
|
|
anchors.left: parent.left
|
|
// These numbers come from the IconWithText in RecommendedSettingSection.
|
|
anchors.leftMargin: leftColumnWidth + UM.Theme.getSize("medium_button_icon").width + UM.Theme.getSize("default_margin").width
|
|
anchors.verticalCenter: sectionHeader.verticalCenter
|
|
visible: false
|
|
|
|
onClicked: onEnableSectionChanged(enableSectionSwitch.checked)
|
|
}
|
|
|
|
ColumnLayout
|
|
{
|
|
id: settingColumn
|
|
width: parent.width
|
|
spacing: UM.Theme.getSize("thin_margin").height
|
|
anchors.left: parent.left
|
|
anchors.right: parent.right
|
|
anchors.top: sectionHeader.bottom
|
|
anchors.topMargin: UM.Theme.getSize("narrow_margin").height
|
|
|
|
Layout.preferredHeight: UM.Theme.getSize("recommended_section_setting_item").height
|
|
|
|
}
|
|
} |