feat(gui): lange tekstrækker ombrydes over flere linjer i stedet for at blive afkortet; markdetaljen viser hele statusteksten (v1.29.4.0)
This commit is contained in:
@@ -147,3 +147,22 @@ function ADFlowView.joinCounted(names, separator, empty)
|
||||
end
|
||||
return table.concat(parts, separator)
|
||||
end
|
||||
|
||||
-- Lang tekst -> linjer på højst maxChars (ombrydes ved mellemrum; indrykning gentages på hver linje,
|
||||
-- så en indrykket forklaring forbliver indrykket). Ét ord længere end linjen deles ikke.
|
||||
function ADFlowView.wrapText(text, maxChars)
|
||||
text = tostring(text or "")
|
||||
if #text <= maxChars then return {text} end
|
||||
local indent = string.match(text, "^%s*") or ""
|
||||
local lines, line = {}, indent
|
||||
for word in string.gmatch(string.sub(text, #indent + 1), "%S+") do
|
||||
if line ~= indent and #line + 1 + #word > maxChars then
|
||||
table.insert(lines, line)
|
||||
line = indent .. word
|
||||
else
|
||||
line = line == indent and (indent .. word) or (line .. " " .. word)
|
||||
end
|
||||
end
|
||||
if line ~= indent then table.insert(lines, line) end
|
||||
return lines
|
||||
end
|
||||
|
||||
@@ -192,6 +192,8 @@ function SmartPickupFrame:fillFieldDetail(adEnv, info)
|
||||
local yesNo = {i18n:getText("ui_no"), i18n:getText("ui_yes")}
|
||||
local crop = ADFieldView.cropText(info, function(key) return i18n:getText(key) end)
|
||||
self:addTextRow(string.format(i18n:getText("spu_field_section"), info.id, crop))
|
||||
-- hele statusteksten (tabellens celle afkorter den)
|
||||
self:addTextRow(" " .. string.format(i18n:getText("spu_field_statusFull"), self:fieldStatusText(field, info)))
|
||||
local targetTexts, targetValues = self:sowFruitChoices("spu_field_target_none")
|
||||
self:addChoiceRow("fieldTarget", i18n:getText("spu_field_target"), targetTexts, targetValues, plan.targetFruit or "")
|
||||
local hasTarget = plan.targetFruit ~= nil and plan.targetFruit ~= ""
|
||||
|
||||
@@ -340,10 +340,18 @@ function SmartPickupFrame:addRow(prefab, data)
|
||||
end
|
||||
|
||||
-- Tekstrække uden valgmuligheder: sektionstitler, Wait-pulje-linjer og statuslinjen.
|
||||
-- Tegn pr. tekstrække før teksten ombrydes (rækken afkorter med "..." ved ca. 70 tegn).
|
||||
SmartPickupFrame.TEXT_ROW_CHARS = 66
|
||||
|
||||
-- Lange tekster fordeles på flere rækker i stedet for at blive afkortet. Returnerer første rækkes titel.
|
||||
function SmartPickupFrame:addTextRow(text)
|
||||
local title = self:addRow(self.textPrefab, {kind = "text"}):getDescendantByName("title")
|
||||
title:setText(text)
|
||||
return title
|
||||
local first = nil
|
||||
for _, line in ipairs(ADFlowView.wrapText(text, SmartPickupFrame.TEXT_ROW_CHARS)) do
|
||||
local title = self:addRow(self.textPrefab, {kind = "text"}):getDescendantByName("title")
|
||||
title:setText(line)
|
||||
first = first or title
|
||||
end
|
||||
return first
|
||||
end
|
||||
|
||||
-- AutoDrive farver hver række i onCreate; her sker det efter hver genopbygning,
|
||||
|
||||
@@ -73,6 +73,7 @@
|
||||
<text name="spu_col_plan" text="Plan"/>
|
||||
<text name="spu_col_mode" text="Kørsel"/>
|
||||
<text name="spu_field_section" text="— Mark F%d: %s —"/>
|
||||
<text name="spu_field_statusFull" text="Status: %s"/>
|
||||
<text name="spu_field_plan" text="Plan"/>
|
||||
<text name="spu_field_mode" text="Kørsel"/>
|
||||
<text name="spu_field_rake" text="Riv skårene sammen før opsamling (gør smalle læssevogne brugbare)"/>
|
||||
|
||||
@@ -73,6 +73,7 @@
|
||||
<text name="spu_col_plan" text="Plan"/>
|
||||
<text name="spu_col_mode" text="Mode"/>
|
||||
<text name="spu_field_section" text="— Field F%d: %s —"/>
|
||||
<text name="spu_field_statusFull" text="Status: %s"/>
|
||||
<text name="spu_field_plan" text="Plan"/>
|
||||
<text name="spu_field_mode" text="Mode"/>
|
||||
<text name="spu_field_rake" text="Rake the swaths before collecting (lets narrow loading wagons collect)"/>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||
<modDesc descVersion="107">
|
||||
<author>masterdraco</author>
|
||||
<version>1.29.3.0</version>
|
||||
<version>1.29.4.0</version>
|
||||
<title>
|
||||
<en>AD Smart Pickup</en>
|
||||
</title>
|
||||
|
||||
Reference in New Issue
Block a user