Sort modlist alphabetically
parent
d52185c43e
commit
b94f18298d
|
@ -246,3 +246,36 @@ function sort_worlds_alphabetic(this)
|
||||||
return a.name:lower() < b.name:lower()
|
return a.name:lower() < b.name:lower()
|
||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
function sort_mod_list(this)
|
||||||
|
|
||||||
|
table.sort(this.m_processed_list, function(a, b)
|
||||||
|
-- Show game mods at bottom
|
||||||
|
if a.typ ~= b.typ then
|
||||||
|
return b.typ == "game_mod"
|
||||||
|
end
|
||||||
|
-- If in same or no modpack, sort by name
|
||||||
|
if a.modpack == b.modpack then
|
||||||
|
if a.name:lower() == b.name:lower() then
|
||||||
|
return a.name < b.name
|
||||||
|
end
|
||||||
|
return a.name:lower() < b.name:lower()
|
||||||
|
-- Else compare name to modpack name
|
||||||
|
else
|
||||||
|
-- Always show modpack pseudo-mod on top of modpack mod list
|
||||||
|
if a.name == b.modpack then
|
||||||
|
return true
|
||||||
|
elseif b.name == a.modpack then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
local name_a = a.modpack or a.name
|
||||||
|
local name_b = b.modpack or b.name
|
||||||
|
if name_a:lower() == name_b:lower() then
|
||||||
|
return name_a < name_b
|
||||||
|
end
|
||||||
|
return name_a:lower() < name_b:lower()
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
|
|
@ -972,6 +972,8 @@ function modmgr.init_worldconfig()
|
||||||
hide_game=modmgr.hide_gamemods,
|
hide_game=modmgr.hide_gamemods,
|
||||||
hide_modpackcontents= modmgr.hide_modpackcontents
|
hide_modpackcontents= modmgr.hide_modpackcontents
|
||||||
})
|
})
|
||||||
|
filterlist.add_sort_mechanism(modmgr.modlist, "alphabetic", sort_mod_list)
|
||||||
|
filterlist.set_sortmode(modmgr.modlist, "alphabetic")
|
||||||
|
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
|
@ -1068,6 +1070,8 @@ function modmgr.refresh_globals()
|
||||||
nil, --filter
|
nil, --filter
|
||||||
{}
|
{}
|
||||||
)
|
)
|
||||||
|
filterlist.add_sort_mechanism(modmgr.global_mods, "alphabetic", sort_mod_list)
|
||||||
|
filterlist.set_sortmode(modmgr.global_mods, "alphabetic")
|
||||||
end
|
end
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
Loading…
Reference in New Issue