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); } }