1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-06-27 16:36:03 +00:00

Hide uninstall package button on unmodifiable paths (#8255)

This commit is contained in:
rubenwardy 2019-03-05 07:12:58 +00:00 committed by Loïc Blot
parent b5defcffba
commit 5d2624ab82
3 changed files with 21 additions and 3 deletions

View file

@ -867,6 +867,16 @@ bool ModApiMainMenu::mayModifyPath(const std::string &path)
return false;
}
/******************************************************************************/
int ModApiMainMenu::l_may_modify_path(lua_State *L)
{
const char *target = luaL_checkstring(L, 1);
std::string absolute_destination = fs::RemoveRelativePathComponents(target);
lua_pushboolean(L, ModApiMainMenu::mayModifyPath(absolute_destination));
return 1;
}
/******************************************************************************/
int ModApiMainMenu::l_show_path_select_dialog(lua_State *L)
{
@ -1057,6 +1067,7 @@ void ModApiMainMenu::Initialize(lua_State *L, int top)
API_FCT(delete_dir);
API_FCT(copy_dir);
API_FCT(extract_zip);
API_FCT(may_modify_path);
API_FCT(get_mainmenu_path);
API_FCT(show_path_select_dialog);
API_FCT(download_file);
@ -1086,6 +1097,7 @@ void ModApiMainMenu::InitializeAsync(lua_State *L, int top)
API_FCT(delete_dir);
API_FCT(copy_dir);
//API_FCT(extract_zip); //TODO remove dependency to GuiEngine
API_FCT(may_modify_path);
API_FCT(download_file);
//API_FCT(gettext); (gettext lib isn't threadsafe)
}