12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- // Copyright (c) 2018 Ultimaker B.V.
- // Cura is released under the terms of the LGPLv3 or higher.
- import QtQuick 2.7
- import QtQuick.Layouts 1.1
- import QtQuick.Controls 2.3
- import UM 1.3 as UM
- import Cura 1.1 as Cura
- Item
- {
- id: previewMenu
- property real itemHeight: height - 2 * UM.Theme.getSize("default_lining").width
- UM.I18nCatalog
- {
- id: catalog
- name: "cura"
- }
- anchors
- {
- left: parent.left
- right: parent.right
- leftMargin: UM.Theme.getSize("wide_margin").width * 2
- rightMargin: UM.Theme.getSize("wide_margin").width * 2
- }
- Row
- {
- id: stageMenuRow
- anchors.fill: parent
- // This is a trick to make sure that the borders of the two adjacent buttons' borders overlap. Otherwise
- // there will be double border (one from each button)
- spacing: -UM.Theme.getSize("default_lining").width
- Cura.ViewsSelector
- {
- id: viewsSelector
- height: parent.height
- width: Math.max(Math.round((parent.width - printSetupSelectorItem.width) / 3), UM.Theme.getSize("views_selector").width)
- headerCornerSide: Cura.RoundedRectangle.Direction.Left
- }
- // This component will grow freely up to complete the width of the row.
- Loader
- {
- id: viewPanel
- height: parent.height
- width: source != "" ? (parent.width - viewsSelector.width - printSetupSelectorItem.width) : 0
- source: UM.Controller.activeView != null && UM.Controller.activeView.stageMenuComponent != null ? UM.Controller.activeView.stageMenuComponent : ""
- }
- Item
- {
- id: printSetupSelectorItem
- // This is a work around to prevent the printSetupSelector from having to be re-loaded every time
- // a stage switch is done.
- children: [printSetupSelector]
- height: childrenRect.height
- width: childrenRect.width
- }
- }
- }
|