Browse Source

Reuse the Cura ToolTip while showing long object item

It will only show the tooltip when the text is longer than the elided text.

Contributes to CURA-6666.
Diego Prado Gesto 5 years ago
parent
commit
b9ed619c9a
1 changed files with 12 additions and 13 deletions
  1. 12 13
      resources/qml/ObjectItemButton.qml

+ 12 - 13
resources/qml/ObjectItemButton.qml

@@ -51,21 +51,20 @@ Button
         border.color: objectItemButton.checked ? UM.Theme.getColor("primary") : "transparent"
     }
 
-    ToolTip
+    TextMetrics
     {
-        visible: hovered
-        delay: 1000
+        id: buttonTextMetrics
+        text: buttonText.text
+        font: buttonText.font
+        elide: buttonText.elide
+        elideWidth: buttonText.width
+    }
 
-        contentItem: Text
-        {
-            text: objectItemButton.text
-            font: UM.Theme.getFont("default")
-            color: UM.Theme.getColor("tooltip_text")
-        }
-        background: Rectangle
-        {
-            color: UM.Theme.getColor("tooltip")
-        }
+    Cura.ToolTip
+    {
+        id: tooltip
+        tooltipText: objectItemButton.text
+        visible: objectItemButton.hovered && buttonTextMetrics.elidedText != buttonText.text
     }
 
     onClicked: Cura.SceneController.changeSelection(index)