mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-06 14:37:29 -06:00

Introduced a new property 'show_in_menu' to control the visibility of individual settings in 3MFWriter plugin. Modified 'SettingExport' class constructor to store this visibility status. Also, updated the 'SettingsExportGroup' model to filter the settings based on visibility before presenting them in the GUI. CURA-11723
86 lines
2.4 KiB
QML
86 lines
2.4 KiB
QML
// Copyright (c) 2024 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 1.3
|
|
import QtQuick.Window 2.2
|
|
|
|
import UM 1.5 as UM
|
|
import Cura 1.1 as Cura
|
|
import ThreeMFWriter 1.0 as ThreeMFWriter
|
|
|
|
ColumnLayout
|
|
{
|
|
id: settingsGroup
|
|
spacing: UM.Theme.getSize("narrow_margin").width
|
|
|
|
RowLayout
|
|
{
|
|
id: settingsGroupTitleRow
|
|
spacing: UM.Theme.getSize("default_margin").width
|
|
|
|
Item
|
|
{
|
|
id: icon
|
|
height: UM.Theme.getSize("medium_button_icon").height
|
|
width: height
|
|
|
|
UM.ColorImage
|
|
{
|
|
id: settingsMainImage
|
|
anchors.fill: parent
|
|
source:
|
|
{
|
|
switch(modelData.category)
|
|
{
|
|
case ThreeMFWriter.SettingsExportGroup.Global:
|
|
return UM.Theme.getIcon("Sliders")
|
|
case ThreeMFWriter.SettingsExportGroup.Model:
|
|
return UM.Theme.getIcon("View3D")
|
|
default:
|
|
return ""
|
|
}
|
|
}
|
|
|
|
color: UM.Theme.getColor("text")
|
|
}
|
|
|
|
Cura.ExtruderIcon
|
|
{
|
|
id: settingsExtruderIcon
|
|
anchors.fill: parent
|
|
visible: modelData.category === ThreeMFWriter.SettingsExportGroup.Extruder
|
|
text: (modelData.extruder_index + 1).toString()
|
|
font: UM.Theme.getFont("tiny_emphasis")
|
|
materialColor: modelData.extruder_color
|
|
}
|
|
}
|
|
|
|
UM.Label
|
|
{
|
|
id: settingsTitle
|
|
text: modelData.name + (modelData.category_details ? ' (%1)'.arg(modelData.category_details) : '')
|
|
font: UM.Theme.getFont("default_bold")
|
|
}
|
|
}
|
|
|
|
ListView
|
|
{
|
|
id: settingsExportList
|
|
Layout.fillWidth: true
|
|
Layout.preferredHeight: contentHeight
|
|
spacing: 0
|
|
model: modelData.visibleSettings
|
|
visible: modelData.visibleSettings.length > 0
|
|
|
|
delegate: SettingSelection { }
|
|
}
|
|
|
|
UM.Label
|
|
{
|
|
UM.I18nCatalog { id: catalog; name: "cura" }
|
|
text: catalog.i18nc("@label", "No specific value has been set")
|
|
visible: modelData.visibleSettings.length === 0
|
|
}
|
|
}
|