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

github.com/Ultimaker/Cura.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaime van Kessel <nallath@gmail.com>2022-05-04 12:39:32 +0300
committerJaime van Kessel <nallath@gmail.com>2022-05-04 12:39:32 +0300
commit02a2facb86b2f48f941c489f906c678dc38aef6d (patch)
treeab08e43feb78176eccf88636dd9573c2390407dc /resources/qml
parent7265509054e7806e30fea74fa2b3911dd20e1df5 (diff)
parent76672528ee2c6c9afbf541878a56d03cd9e53711 (diff)
Merge branch '5.0' of github.com:Ultimaker/Cura
Diffstat (limited to 'resources/qml')
-rw-r--r--resources/qml/Menus/MaterialBrandMenu.qml29
1 files changed, 26 insertions, 3 deletions
diff --git a/resources/qml/Menus/MaterialBrandMenu.qml b/resources/qml/Menus/MaterialBrandMenu.qml
index 04d780b5c3..e256e75904 100644
--- a/resources/qml/Menus/MaterialBrandMenu.qml
+++ b/resources/qml/Menus/MaterialBrandMenu.qml
@@ -87,11 +87,25 @@ Cura.MenuItem
Popup
{
id: menuPopup
- x: parent.width - UM.Theme.getSize("default_lining").width
- y: -UM.Theme.getSize("default_lining").width
width: materialTypesList.width + padding * 2
height: materialTypesList.height + padding * 2
+ property var flipped: false
+
+ x: parent.width - UM.Theme.getSize("default_lining").width
+ y: {
+ // Checks if popup is more than halfway down the screen AND further than 400 down (this avoids popup going off the top of screen)
+ // If it is then the popup will push up instead of down
+ // This fixes the popups appearing bellow the bottom of the screen.
+
+ if (materialBrandMenu.parent.height / 2 < parent.y && parent.y > 400) {
+ flipped = true
+ return -UM.Theme.getSize("default_lining").width - height + UM.Theme.getSize("menu").height
+ }
+ flipped = false
+ return -UM.Theme.getSize("default_lining").width
+ }
+
padding: background.border.width
// Nasty hack to ensure that we can keep track if the popup contains the mouse.
// Since we also want a hover for the sub items (and these events are sent async)
@@ -128,11 +142,14 @@ Cura.MenuItem
//With a custom MouseArea, we can prevent the events from being accepted.
delegate: Rectangle
{
+ id: brandMaterialBase
height: UM.Theme.getSize("menu").height
width: UM.Theme.getSize("menu").width
color: materialTypeButton.containsMouse ? UM.Theme.getColor("background_2") : UM.Theme.getColor("background_1")
+ property var isFlipped: menuPopup.flipped
+
RowLayout
{
spacing: 0
@@ -225,7 +242,13 @@ Cura.MenuItem
width: materialColorsList.width + padding * 2
height: materialColorsList.height + padding * 2
x: parent.width
- y: -UM.Theme.getSize("default_lining").width
+ y: {
+ // If flipped the popup should push up rather than down from the parent
+ if (brandMaterialBase.isFlipped) {
+ return -height + UM.Theme.getSize("menu").height + UM.Theme.getSize("default_lining").width
+ }
+ return -UM.Theme.getSize("default_lining").width
+ }
property int itemHovered: 0
padding: background.border.width