Welcome to mirror list, hosted at ThFree Co, Russian Federation.

SettingsMenu.qml « Menus « qml « resources - github.com/Ultimaker/Cura.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 25bee871f57edded1a10be01a61196fae7d9c450 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
//Copyright (c) 2020 Ultimaker B.V.
//Cura is released under the terms of the LGPLv3 or higher.

import QtQuick 2.2
import QtQuick.Controls 2.4

import UM 1.5 as UM
import Cura 1.0 as Cura

Cura.Menu
{
    id: base
    title: catalog.i18nc("@title:menu menubar:toplevel", "&Settings")

    PrinterMenu { }

    property var activeMachine: Cura.MachineManager.activeMachine
    Instantiator
    {
        id: extruderInstantiator
        model: activeMachine == null ? null : activeMachine.extruderList
        Cura.Menu
        {
            title: modelData.name
            property var extruder: (base.activeMachine === null) ? null : activeMachine.extruderList[model.index]
            NozzleMenu
            {
                title: Cura.MachineManager.activeDefinitionVariantsName
                shouldBeVisible: activeMachine.hasVariants
                extruderIndex: index
            }
            MaterialMenu
            {
                title: catalog.i18nc("@title:menu", "&Material")
                shouldBeVisible: activeMachine.hasMaterials
                extruderIndex: index
                updateModels: false
                onAboutToShow: updateModels = true
                onAboutToHide: updateModels = false
            }

            Cura.MenuSeparator
            {
                visible: Cura.MachineManager.activeMachine.hasVariants || Cura.MachineManager.activeMachine.hasMaterials
            }

            Cura.MenuItem
            {
                text: catalog.i18nc("@action:inmenu", "Set as Active Extruder")
                onTriggered: Cura.ExtruderManager.setActiveExtruderIndex(model.index)
            }

            Cura.MenuItem
            {
                text: catalog.i18nc("@action:inmenu", "Enable Extruder")
                onTriggered: Cura.MachineManager.setExtruderEnabled(model.index, true)
                visible: (extruder === null || extruder === undefined) ? false : !extruder.isEnabled
                height: visible ? implicitHeight: 0
            }

            Cura.MenuItem
            {
                text: catalog.i18nc("@action:inmenu", "Disable Extruder")
                onTriggered: Cura.MachineManager.setExtruderEnabled(index, false)
                visible: (extruder === null || extruder === undefined) ? false : extruder.isEnabled
                enabled: Cura.MachineManager.numberExtrudersEnabled > 1
                height: visible ? implicitHeight: 0
            }
        }
        onObjectAdded: base.insertMenu(index, object)
        onObjectRemoved: base.removeMenu(object)
    }

    Cura.MenuSeparator { }

    Cura.MenuItem { action: Cura.Actions.configureSettingVisibility }
}