ui: kompakte tal i behovs-/overbliksrækker, ingen dobbelt 'Overview'-titel (v1.11.2.0)

This commit is contained in:
2026-09-23 02:05:55 +02:00
parent 3f29c8cebe
commit 83e46f94ff
2 changed files with 22 additions and 5 deletions
+21 -4
View File
@@ -374,6 +374,14 @@ function SmartPickupFrame:fillNeedsRows(adEnv, run)
end
end
-- Overblik: "Cow 1 food: TMR 18.0k/27.8k · Silage 3.0k/…" (mest trængende først)
function SmartPickupFrame:describeTargetLevels(target)
if #target.levels == 0 then
return string.format("%s: %s", target.name, self.i18n:getText("spu_needs_none"))
end
return string.format("%s: %s", target.name, self:formatLevels(target.levels))
end
function SmartPickupFrame:describeTargetNeeds(target)
if #target.levels == 0 then
return string.format("%s: %s", target.name, self.i18n:getText("spu_needs_none"))
@@ -505,11 +513,21 @@ function SmartPickupFrame:syncOptionsFromModel(adEnv, run)
end
-- "Silage 0/33.750 l · Straw 21.375/21.375 l" — mest trængende først.
-- Kompakte tal, så 4–5 varer kan stå på én række: 18.0k/27.8k
function SmartPickupFrame.formatCompact(liters)
if liters >= 1000000 then
return string.format("%.1fM", liters / 1000000)
elseif liters >= 1000 then
return string.format("%.1fk", liters / 1000)
end
return string.format("%d", liters)
end
function SmartPickupFrame:formatLevels(levels)
local parts = {}
for _, need in ipairs(levels) do
local title = g_fillTypeManager.getFillTypeTitleByIndex ~= nil and g_fillTypeManager:getFillTypeTitleByIndex(need.fillType) or g_fillTypeManager:getFillTypeNameByIndex(need.fillType)
table.insert(parts, string.format("%s %s/%s l", tostring(title), g_i18n:formatNumber(need.level, 0), g_i18n:formatNumber(need.capacity, 0)))
table.insert(parts, string.format("%s %s/%s", tostring(title), SmartPickupFrame.formatCompact(need.level), SmartPickupFrame.formatCompact(need.capacity)))
end
return table.concat(parts, " · ")
end
@@ -542,7 +560,6 @@ function SmartPickupFrame:fillOverviewRows(adEnv)
table.insert(rows, title.parent)
return title
end
add(self.i18n:getText("spu_overview"))
self.overviewRows = {}
for _, run in ipairs(ADRunsController.store.runs) do
local status = ADRunsController.getRunStatus(adEnv, run)
@@ -557,7 +574,7 @@ function SmartPickupFrame:fillOverviewRows(adEnv)
end
end
for _, target in ipairs(ADRunsController.getTargetsLevels(adEnv, run)) do
table.insert(entry.targets, {wayPointId = target.wayPointId, title = add(" " .. self:describeTargetNeeds(target))})
table.insert(entry.targets, {wayPointId = target.wayPointId, title = add(" " .. self:describeTargetLevels(target))})
end
table.insert(self.overviewRows, entry)
end
@@ -590,7 +607,7 @@ function SmartPickupFrame:refreshOverview(adEnv)
end
for _, item in ipairs(entry.targets) do
if byId[item.wayPointId] ~= nil then
item.title:setText(" " .. self:describeTargetNeeds(byId[item.wayPointId]))
item.title:setText(" " .. self:describeTargetLevels(byId[item.wayPointId]))
end
end
end
+1 -1
View File
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<modDesc descVersion="107">
<author>masterdraco</author>
<version>1.11.1.0</version>
<version>1.11.2.0</version>
<title>
<en>AD Smart Pickup</en>
</title>