From 84002a70d0462ff44d98b90fd9144b98a2e7e8f1 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Mon, 30 Oct 2017 11:50:57 +0100 Subject: [PATCH] Remove binding loop by cleaning up tooltipText creation --- resources/qml/Sidebar.qml | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/resources/qml/Sidebar.qml b/resources/qml/Sidebar.qml index 582fb346c5..14179d388d 100644 --- a/resources/qml/Sidebar.qml +++ b/resources/qml/Sidebar.qml @@ -382,7 +382,7 @@ Rectangle color: UM.Theme.getColor("text_subtext") elide: Text.ElideMiddle width: parent.width - property string tooltipText: "test" + property string tooltipText text: { var lengths = []; @@ -419,15 +419,32 @@ Rectangle costs = ["0.00"]; } - tooltipText = catalog.i18nc("@tooltip", "Cost specification
"); + var tooltip_html = "%1
".arg(catalog.i18nc("@label", "Cost specification")); for(var index = 0; index < lengths.length; index++) { - tooltipText += catalog.i18nc("@label Print estimates: m for meters, g for grams, %4 is currency and %3 is print cost", "").arg(index + 1).arg(lengths[index]) - .arg(weights[index]).arg(costs[index]).arg(UM.Preferences.getValue("cura/currency")); + var item_strings = [ + catalog.i18nc("@label", "Extruder %1:").arg(index + 1), + catalog.i18nc("@label m for meter", "%1m").arg(lengths[index]), + catalog.i18nc("@label g for grams", "%1g").arg(weights[index]), + "%1 %2".arg(UM.Preferences.getValue("cura/currency")).arg(costs[index]), + ]; + tooltip_html += ""; + for(var item = 0; item < item_strings.length; item++) { + tooltip_html += "".arg(item_strings[item]); + } } - tooltipText += catalog.i18nc("@label Print totals: m for meters, g for grams, %4 is currency and %3 is print cost", "").arg(total_length.toFixed(2)) - .arg(Math.round(total_weight)).arg(total_cost.toFixed(2)).arg(UM.Preferences.getValue("cura/currency")); - tooltipText += "
Extruder %0:  %1m  %2g  %4 %3
%1  
Total:  %1m  %2g  %4 %3
"; + var item_strings = [ + catalog.i18nc("@label", "Total:"), + catalog.i18nc("@label m for meter", "%1m").arg(total_length.toFixed(2)), + catalog.i18nc("@label g for grams", "%1g").arg(Math.round(total_weight)), + "%1 %2".arg(UM.Preferences.getValue("cura/currency")).arg(total_cost.toFixed(2)), + ]; + tooltip_html += ""; + for(var item = 0; item < item_strings.length; item++) { + tooltip_html += "%1  ".arg(item_strings[item]); + } + tooltip_html += ""; + tooltipText = tooltip_html; if(some_costs_known) {