ui: kompakte tal i behovs-/overbliksrækker, ingen dobbelt 'Overview'-titel (v1.11.2.0)
This commit is contained in:
@@ -374,6 +374,14 @@ function SmartPickupFrame:fillNeedsRows(adEnv, run)
|
|||||||
end
|
end
|
||||||
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)
|
function SmartPickupFrame:describeTargetNeeds(target)
|
||||||
if #target.levels == 0 then
|
if #target.levels == 0 then
|
||||||
return string.format("%s: %s", target.name, self.i18n:getText("spu_needs_none"))
|
return string.format("%s: %s", target.name, self.i18n:getText("spu_needs_none"))
|
||||||
@@ -505,11 +513,21 @@ function SmartPickupFrame:syncOptionsFromModel(adEnv, run)
|
|||||||
end
|
end
|
||||||
|
|
||||||
-- "Silage 0/33.750 l · Straw 21.375/21.375 l" — mest trængende først.
|
-- "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)
|
function SmartPickupFrame:formatLevels(levels)
|
||||||
local parts = {}
|
local parts = {}
|
||||||
for _, need in ipairs(levels) do
|
for _, need in ipairs(levels) do
|
||||||
local title = g_fillTypeManager.getFillTypeTitleByIndex ~= nil and g_fillTypeManager:getFillTypeTitleByIndex(need.fillType) or g_fillTypeManager:getFillTypeNameByIndex(need.fillType)
|
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
|
end
|
||||||
return table.concat(parts, " · ")
|
return table.concat(parts, " · ")
|
||||||
end
|
end
|
||||||
@@ -542,7 +560,6 @@ function SmartPickupFrame:fillOverviewRows(adEnv)
|
|||||||
table.insert(rows, title.parent)
|
table.insert(rows, title.parent)
|
||||||
return title
|
return title
|
||||||
end
|
end
|
||||||
add(self.i18n:getText("spu_overview"))
|
|
||||||
self.overviewRows = {}
|
self.overviewRows = {}
|
||||||
for _, run in ipairs(ADRunsController.store.runs) do
|
for _, run in ipairs(ADRunsController.store.runs) do
|
||||||
local status = ADRunsController.getRunStatus(adEnv, run)
|
local status = ADRunsController.getRunStatus(adEnv, run)
|
||||||
@@ -557,7 +574,7 @@ function SmartPickupFrame:fillOverviewRows(adEnv)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
for _, target in ipairs(ADRunsController.getTargetsLevels(adEnv, run)) do
|
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
|
end
|
||||||
table.insert(self.overviewRows, entry)
|
table.insert(self.overviewRows, entry)
|
||||||
end
|
end
|
||||||
@@ -590,7 +607,7 @@ function SmartPickupFrame:refreshOverview(adEnv)
|
|||||||
end
|
end
|
||||||
for _, item in ipairs(entry.targets) do
|
for _, item in ipairs(entry.targets) do
|
||||||
if byId[item.wayPointId] ~= nil then
|
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
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||||
<modDesc descVersion="107">
|
<modDesc descVersion="107">
|
||||||
<author>masterdraco</author>
|
<author>masterdraco</author>
|
||||||
<version>1.11.1.0</version>
|
<version>1.11.2.0</version>
|
||||||
<title>
|
<title>
|
||||||
<en>AD Smart Pickup</en>
|
<en>AD Smart Pickup</en>
|
||||||
</title>
|
</title>
|
||||||
|
|||||||
Reference in New Issue
Block a user