packs with missing dependencies test

This commit is contained in:
MihailRis
2024-05-03 23:44:17 +03:00
parent e26b87e7e5
commit de0b890459
8 changed files with 36 additions and 7 deletions
+16
View File
@@ -44,11 +44,15 @@ function place_pack(panel, packid, packinfo, callback)
packinfo.id_verbose = packid
packinfo.callback = callback
panel:add(gui.template("pack", packinfo))
if callback == "" then
document["pack_"..packinfo.id].enabled = false
end
end
function refresh()
packs_installed = pack.get_installed()
packs_available = pack.get_available()
packs_all = {unpack(packs_installed), unpack(packs_available)}
local packs_cur = document.packs_cur
local packs_add = document.packs_add
@@ -67,7 +71,19 @@ function refresh()
for i,id in ipairs(packs_available) do
local packinfo = pack.get_info(id)
packinfo.index = i
packinfo.missing = ""
callback = string.format('move_pack("%s")', id)
if packinfo.dependencies then
for j,dep in ipairs(packinfo.dependencies) do
local depid = dep:sub(2,-1)
if dep:sub(1,1) == '!' and not table.has(packs_all, depid) then
packinfo.missing = depid
packinfo.description = ""
callback = ''
end
end
end
place_pack(packs_add, id, packinfo, callback)
end
+1
View File
@@ -7,6 +7,7 @@
gravity='bottom-right'>
%{creator}
</label>
<label if='%{missing}' pos='80,28' color='#FF4040'>missing '%{missing}'</label>
<label pos='80,28' color='#FFFFFFB2'>
%{description}
</label>