mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-12-05 16:51:12 -07:00
Merge branch '4.0' into unify_font_types
This commit is contained in:
commit
b54312fb9b
30 changed files with 266 additions and 114 deletions
|
|
@ -16,7 +16,7 @@ Button
|
|||
property alias iconSource: buttonIconLeft.source
|
||||
property alias textFont: buttonText.font
|
||||
property alias cornerRadius: backgroundRect.radius
|
||||
property alias tooltip: tooltip.text
|
||||
property alias tooltip: tooltip.tooltipText
|
||||
property alias cornerSide: backgroundRect.cornerSide
|
||||
|
||||
property color color: UM.Theme.getColor("primary")
|
||||
|
|
@ -31,6 +31,8 @@ Button
|
|||
property alias shadowColor: shadow.color
|
||||
property alias shadowEnabled: shadow.visible
|
||||
|
||||
property alias toolTipContentAlignment: tooltip.contentAlignment
|
||||
|
||||
// This property is used to indicate whether the button has a fixed width or the width would depend on the contents
|
||||
// Be careful when using fixedWidthMode, the translated texts can be too long that they won't fit. In any case,
|
||||
// we elide the text to the right so the text will be cut off with the three dots at the end.
|
||||
|
|
@ -110,11 +112,9 @@ Button
|
|||
z: backgroundRect.z - 1
|
||||
}
|
||||
|
||||
ToolTip
|
||||
Cura.ToolTip
|
||||
{
|
||||
id: tooltip
|
||||
text: ""
|
||||
delay: 500
|
||||
visible: text != "" && button.hovered
|
||||
visible: button.hovered
|
||||
}
|
||||
}
|
||||
|
|
@ -60,7 +60,6 @@ Item
|
|||
|
||||
leftPadding: UM.Theme.getSize("narrow_margin").width //Need more space than usual here for wide text.
|
||||
rightPadding: UM.Theme.getSize("narrow_margin").width
|
||||
tooltip: popup.opened ? "" : catalog.i18nc("@info:tooltip", "Select the active output device")
|
||||
iconSource: popup.opened ? UM.Theme.getIcon("arrow_top") : UM.Theme.getIcon("arrow_bottom")
|
||||
color: UM.Theme.getColor("action_panel_secondary")
|
||||
visible: (devicesModel.deviceCount > 1)
|
||||
|
|
|
|||
|
|
@ -123,6 +123,8 @@ Column
|
|||
tooltip: text
|
||||
fixedWidthMode: true
|
||||
|
||||
toolTipContentAlignment: Cura.ToolTip.ContentAlignment.AlignLeft
|
||||
|
||||
onClicked: UM.Controller.setActiveStage("PreviewStage")
|
||||
visible: UM.Controller.activeStage != null && UM.Controller.activeStage.stageId != "PreviewStage"
|
||||
|
||||
|
|
|
|||
|
|
@ -109,6 +109,7 @@ Column
|
|||
fixedWidthMode: true
|
||||
anchors.fill: parent
|
||||
text: catalog.i18nc("@button", "Slice")
|
||||
tooltip: catalog.i18nc("@label", "Start the slicing process")
|
||||
enabled: widget.backendState != UM.Backend.Error
|
||||
visible: widget.backendState == UM.Backend.NotStarted || widget.backendState == UM.Backend.Error
|
||||
onClicked: sliceOrStopSlicing()
|
||||
|
|
@ -134,10 +135,13 @@ Column
|
|||
onPreferenceChanged:
|
||||
{
|
||||
var autoSlice = UM.Preferences.getValue("general/auto_slice")
|
||||
prepareButtons.autoSlice = autoSlice
|
||||
if(autoSlice)
|
||||
if(prepareButtons.autoSlice != autoSlice)
|
||||
{
|
||||
CuraApplication.backend.forceSlice()
|
||||
prepareButtons.autoSlice = autoSlice
|
||||
if(autoSlice)
|
||||
{
|
||||
CuraApplication.backend.forceSlice()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,6 +29,9 @@ Item
|
|||
source: UM.Theme.getImage("logo")
|
||||
width: UM.Theme.getSize("logo").width
|
||||
height: UM.Theme.getSize("logo").height
|
||||
|
||||
sourceSize.width: width
|
||||
sourceSize.height: height
|
||||
}
|
||||
|
||||
Row
|
||||
|
|
|
|||
|
|
@ -7,16 +7,18 @@ import QtQuick.Controls 1.4
|
|||
import UM 1.2 as UM
|
||||
import Cura 1.0 as Cura
|
||||
|
||||
Instantiator {
|
||||
model: UM.ContainerStacksModel {
|
||||
filter: {"type": "machine", "um_network_key": null}
|
||||
}
|
||||
MenuItem {
|
||||
text: model.name;
|
||||
checkable: true;
|
||||
Instantiator
|
||||
{
|
||||
model: Cura.PrintersModel {}
|
||||
|
||||
MenuItem
|
||||
{
|
||||
text: model.name
|
||||
checkable: true
|
||||
checked: Cura.MachineManager.activeMachineId == model.id
|
||||
exclusiveGroup: group;
|
||||
onTriggered: Cura.MachineManager.setActiveMachine(model.id);
|
||||
exclusiveGroup: group
|
||||
visible: !model.hasRemoteConnection
|
||||
onTriggered: Cura.MachineManager.setActiveMachine(model.id)
|
||||
}
|
||||
onObjectAdded: menu.insertItem(index, object)
|
||||
onObjectRemoved: menu.removeItem(object)
|
||||
|
|
|
|||
|
|
@ -7,18 +7,17 @@ import QtQuick.Controls 1.4
|
|||
import UM 1.2 as UM
|
||||
import Cura 1.0 as Cura
|
||||
|
||||
Instantiator {
|
||||
model: UM.ContainerStacksModel {
|
||||
filter: {"type": "machine", "um_network_key": "*", "hidden": "False"}
|
||||
}
|
||||
MenuItem {
|
||||
// TODO: Use printer_group icon when it's a cluster. Not use it for now since it doesn't look as expected
|
||||
// iconSource: UM.Theme.getIcon("printer_single")
|
||||
Instantiator
|
||||
{
|
||||
model: Cura.PrintersModel {}
|
||||
MenuItem
|
||||
{
|
||||
text: model.metadata["connect_group_name"]
|
||||
checkable: true;
|
||||
checkable: true
|
||||
visible: model.hasRemoteConnection
|
||||
checked: Cura.MachineManager.activeMachineNetworkGroupName == model.metadata["connect_group_name"]
|
||||
exclusiveGroup: group;
|
||||
onTriggered: Cura.MachineManager.setActiveMachine(model.id);
|
||||
exclusiveGroup: group
|
||||
onTriggered: Cura.MachineManager.setActiveMachine(model.id)
|
||||
}
|
||||
onObjectAdded: menu.insertItem(index, object)
|
||||
onObjectRemoved: menu.removeItem(object)
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ import QtQuick.Dialogs 1.2
|
|||
import UM 1.2 as UM
|
||||
import Cura 1.0 as Cura
|
||||
|
||||
Rectangle
|
||||
Item
|
||||
{
|
||||
id: brand_section
|
||||
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ Rectangle
|
|||
id: materialSlot
|
||||
property var material: null
|
||||
property var hovered: false
|
||||
property var is_favorite: material != null ? material.is_favorite : false
|
||||
property var is_favorite: material != null && material.is_favorite
|
||||
|
||||
height: UM.Theme.getSize("favorites_row").height
|
||||
width: parent.width
|
||||
|
|
@ -73,11 +73,9 @@ Rectangle
|
|||
if (materialSlot.is_favorite)
|
||||
{
|
||||
base.materialManager.removeFavorite(material.root_material_id)
|
||||
materialSlot.is_favorite = false
|
||||
return
|
||||
}
|
||||
base.materialManager.addFavorite(material.root_material_id)
|
||||
materialSlot.is_favorite = true
|
||||
return
|
||||
}
|
||||
style: ButtonStyle
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ import QtQuick.Dialogs 1.2
|
|||
import UM 1.2 as UM
|
||||
import Cura 1.0 as Cura
|
||||
|
||||
Rectangle
|
||||
Item
|
||||
{
|
||||
id: material_type_section
|
||||
property var materialType
|
||||
|
|
|
|||
|
|
@ -2,9 +2,7 @@
|
|||
// Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.7
|
||||
import QtQuick.Controls 1.1
|
||||
import QtQuick.Controls.Styles 1.1
|
||||
import QtQuick.Layouts 1.1
|
||||
import QtQuick.Controls 2.3
|
||||
|
||||
import UM 1.0 as UM
|
||||
|
||||
|
|
@ -57,5 +55,6 @@ UM.PointingRectangle {
|
|||
textFormat: Text.RichText
|
||||
font: UM.Theme.getFont("default");
|
||||
color: UM.Theme.getColor("tooltip_text");
|
||||
renderType: Text.NativeRendering
|
||||
}
|
||||
}
|
||||
|
|
|
|||
63
resources/qml/ToolTip.qml
Normal file
63
resources/qml/ToolTip.qml
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
// Copyright (c) 2018 Ultimaker B.V.
|
||||
// Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.7
|
||||
import QtQuick.Controls 2.3
|
||||
|
||||
import UM 1.0 as UM
|
||||
import Cura 1.0 as Cura
|
||||
|
||||
ToolTip
|
||||
{
|
||||
enum ContentAlignment
|
||||
{
|
||||
AlignLeft,
|
||||
AlignRight
|
||||
}
|
||||
|
||||
// Defines the alignment of the content, by default to the left
|
||||
property int contentAlignment: Cura.ToolTip.ContentAlignment.AlignRight
|
||||
|
||||
property alias tooltipText: tooltip.text
|
||||
property var targetPoint: Qt.point(parent.x, y + Math.round(height/2))
|
||||
|
||||
id: tooltip
|
||||
text: ""
|
||||
delay: 500
|
||||
font: UM.Theme.getFont("default")
|
||||
|
||||
// If the text is not set, just set the height to 0 to prevent it from showing
|
||||
height: text != "" ? label.contentHeight + 2 * UM.Theme.getSize("thin_margin").width: 0
|
||||
|
||||
x:
|
||||
{
|
||||
if (contentAlignment == Cura.ToolTip.ContentAlignment.AlignLeft)
|
||||
{
|
||||
return (label.width + Math.round(UM.Theme.getSize("default_arrow").width * 1.2) + padding * 2) * -1
|
||||
}
|
||||
return parent.width + Math.round(UM.Theme.getSize("default_arrow").width * 1.2 + padding)
|
||||
}
|
||||
|
||||
y: Math.round(parent.height / 2 - label.height / 2 ) - padding
|
||||
|
||||
padding: UM.Theme.getSize("thin_margin").width
|
||||
|
||||
background: UM.PointingRectangle
|
||||
{
|
||||
id: backgroundRect
|
||||
color: UM.Theme.getColor("tooltip")
|
||||
target: Qt.point(targetPoint.x - tooltip.x, targetPoint.y - tooltip.y)
|
||||
arrowSize: UM.Theme.getSize("default_arrow").width
|
||||
}
|
||||
|
||||
contentItem: Label
|
||||
{
|
||||
id: label
|
||||
text: tooltip.text
|
||||
font: tooltip.font
|
||||
wrapMode: Text.Wrap
|
||||
textFormat: Text.RichText
|
||||
color: UM.Theme.getColor("tooltip_text")
|
||||
renderType: Text.NativeRendering
|
||||
}
|
||||
}
|
||||
|
|
@ -96,4 +96,11 @@ Button
|
|||
height: UM.Theme.getSize("button_icon").height
|
||||
}
|
||||
}
|
||||
|
||||
Cura.ToolTip
|
||||
{
|
||||
id: tooltip
|
||||
tooltipText: base.text
|
||||
visible: base.hovered
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,4 +14,5 @@ PrinterTypeLabel 1.0 PrinterTypeLabel.qml
|
|||
ViewsSelector 1.0 ViewsSelector.qml
|
||||
ToolbarButton 1.0 ToolbarButton.qml
|
||||
SettingView 1.0 SettingView.qml
|
||||
ProfileMenu 1.0 ProfileMenu.qml
|
||||
ProfileMenu 1.0 ProfileMenu.qml
|
||||
ToolTip 1.0 ToolTip.qml
|
||||
Loading…
Add table
Add a link
Reference in a new issue