diff --git a/resources/qml/Settings/SettingItem.qml b/resources/qml/Settings/SettingItem.qml
index 4c14ee4039..aa4ef5be85 100644
--- a/resources/qml/Settings/SettingItem.qml
+++ b/resources/qml/Settings/SettingItem.qml
@@ -22,6 +22,38 @@ Item {
signal showTooltip(string text);
signal hideTooltip();
+ property string tooltipText:
+ {
+ var affects = settingDefinitionsModel.getRequiredBy(definition.key, "value")
+ var affected_by = settingDefinitionsModel.getRequires(definition.key, "value")
+
+ var affected_by_list = ""
+ for(var i in affected_by)
+ {
+ affected_by_list += "
%1\n".arg(affected_by[i].label)
+ }
+
+ var affects_list = ""
+ for(var i in affects)
+ {
+ affects_list += "%1\n".arg(affects[i].label)
+ }
+
+ var tooltip = "%1\n%2
".arg(definition.label).arg(definition.description)
+
+ if(affects_list != "")
+ {
+ tooltip += "
%1\n".arg(catalog.i18nc("@label", "Affects")).arg(affects_list)
+ }
+
+ if(affected_by_list != "")
+ {
+ tooltip += "
%1\n".arg(catalog.i18nc("@label", "Affected By")).arg(affected_by_list)
+ }
+
+ return tooltip
+ }
+
MouseArea
{
id: mouse;
@@ -52,34 +84,7 @@ Item {
onTriggered:
{
- var affects = settingDefinitionsModel.getRequiredBy(definition.key, "value")
- var affected_by = settingDefinitionsModel.getRequires(definition.key, "value")
-
- var affected_by_list = ""
- for(var i in affected_by)
- {
- affected_by_list += "%1\n".arg(affected_by[i].label)
- }
-
- var affects_list = ""
- for(var i in affects)
- {
- affects_list += "%1\n".arg(affects[i].label)
- }
-
- var tooltip = "%1
\n%2
".arg(definition.label).arg(definition.description)
-
- if(affects_list != "")
- {
- tooltip += "
%1
\n".arg(catalog.i18nc("@label", "Affects")).arg(affects_list)
- }
-
- if(affected_by_list != "")
- {
- tooltip += "
%1
\n".arg(catalog.i18nc("@label", "Affected By")).arg(affected_by_list)
- }
-
- base.showTooltip(tooltip);
+ base.showTooltip(base.tooltipText);
}
}
@@ -137,7 +142,7 @@ Item {
}
onEntered: { hoverTimer.stop(); base.showTooltip(catalog.i18nc("@label", "This setting has a value that is different from the profile.\n\nClick to restore the value of the profile.")) }
- onExited: base.showTooltip(definition.description);
+ onExited: base.showTooltip(base.tooltipText);
}
UM.SimpleButton
@@ -164,7 +169,7 @@ Item {
iconSource: UM.Theme.getIcon("notice");
onEntered: { hoverTimer.stop(); base.showTooltip(catalog.i18nc("@label", "This setting is normally calculated, but it currently has an absolute value set.\n\nClick to restore the calculated value.")) }
- onExited: base.showTooltip(definition.description);
+ onExited: base.showTooltip(base.tooltipText);
}
}