diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/DatapackListPageSkin.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/DatapackListPageSkin.java index 6acd2eb79..ce5f7808a 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/DatapackListPageSkin.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/DatapackListPageSkin.java @@ -32,6 +32,7 @@ import javafx.scene.control.SkinBase; import javafx.scene.layout.BorderPane; import javafx.scene.layout.HBox; import org.jackhuang.hmcl.mod.Datapack; +import org.jackhuang.hmcl.ui.Controllers; import org.jackhuang.hmcl.ui.SVG; import org.jackhuang.hmcl.ui.construct.JFXCheckBoxTreeTableCell; import org.jackhuang.hmcl.ui.construct.SpinnerPane; @@ -59,8 +60,11 @@ class DatapackListPageSkin extends SkinBase { toolbar.getChildren().add(createToolbarButton(i18n("button.refresh"), SVG::refresh, skinnable::refresh)); toolbar.getChildren().add(createToolbarButton(i18n("datapack.add"), SVG::plus, skinnable::add)); - toolbar.getChildren().add(createToolbarButton(i18n("mods.remove"), SVG::delete, () -> - skinnable.removeSelected(tableView.getSelectionModel().getSelectedItems()))); + toolbar.getChildren().add(createToolbarButton(i18n("button.remove"), SVG::delete, () -> { + Controllers.confirmDialog(i18n("button.remove.confirm"), i18n("button.remove"), () -> { + skinnable.removeSelected(tableView.getSelectionModel().getSelectedItems()); + }, null); + })); toolbar.getChildren().add(createToolbarButton(i18n("mods.enable"), SVG::check, () -> skinnable.enableSelected(tableView.getSelectionModel().getSelectedItems()))); toolbar.getChildren().add(createToolbarButton(i18n("mods.disable"), SVG::close, () -> diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/ModListPageSkin.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/ModListPageSkin.java index 6d59512c9..5514e7cb9 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/ModListPageSkin.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/ModListPageSkin.java @@ -34,6 +34,7 @@ import javafx.scene.layout.BorderPane; import javafx.scene.layout.HBox; import javafx.scene.layout.StackPane; import org.jackhuang.hmcl.mod.ModInfo; +import org.jackhuang.hmcl.ui.Controllers; import org.jackhuang.hmcl.ui.FXUtils; import org.jackhuang.hmcl.ui.SVG; import org.jackhuang.hmcl.ui.construct.JFXCheckBoxTreeTableCell; @@ -65,8 +66,11 @@ class ModListPageSkin extends SkinBase { toolbar.getChildren().add(createToolbarButton(i18n("button.refresh"), SVG::refresh, skinnable::refresh)); toolbar.getChildren().add(createToolbarButton(i18n("mods.add"), SVG::plus, skinnable::add)); - toolbar.getChildren().add(createToolbarButton(i18n("mods.remove"), SVG::delete, () -> - skinnable.removeSelected(tableView.getSelectionModel().getSelectedItems()))); + toolbar.getChildren().add(createToolbarButton(i18n("button.remove"), SVG::delete, () -> { + Controllers.confirmDialog(i18n("button.remove.confirm"), i18n("button.remove"), () -> { + skinnable.removeSelected(tableView.getSelectionModel().getSelectedItems()); + }, null); + })); toolbar.getChildren().add(createToolbarButton(i18n("mods.enable"), SVG::check, () -> skinnable.enableSelected(tableView.getSelectionModel().getSelectedItems()))); toolbar.getChildren().add(createToolbarButton(i18n("mods.disable"), SVG::close, () -> diff --git a/HMCL/src/main/resources/assets/lang/I18N.properties b/HMCL/src/main/resources/assets/lang/I18N.properties index 5e2db95c4..d8eaea5d4 100644 --- a/HMCL/src/main/resources/assets/lang/I18N.properties +++ b/HMCL/src/main/resources/assets/lang/I18N.properties @@ -82,6 +82,8 @@ button.export=Export button.no=No button.ok=OK button.refresh=Refresh +button.remove=Remove +button.remove.confirm=Are you sure you want to delete? You cannot roll back this operation! button.save=Save button.yes=Yes @@ -291,7 +293,6 @@ mods.choose_mod=Choose your mods mods.enable=Enable mods.disable=Disable mods.name=Name -mods.remove=Remove mods.not_modded=You should install a modloader first (Fabric, Forge or LiteLoader) datapack=Datapacks @@ -299,7 +300,6 @@ datapack.add=Install datapack datapack.choose_datapack=Choose the datapack zip to import datapack.extension=Datapack datapack.title=World %s - Datapacks -datapack.remove=Remove world=Worlds/Datapacks world.add=Add world(.zip) diff --git a/HMCL/src/main/resources/assets/lang/I18N_es.properties b/HMCL/src/main/resources/assets/lang/I18N_es.properties index a93774639..64db4d276 100644 --- a/HMCL/src/main/resources/assets/lang/I18N_es.properties +++ b/HMCL/src/main/resources/assets/lang/I18N_es.properties @@ -81,6 +81,7 @@ button.export=Exportar button.no=No button.ok=OK button.refresh=Refrescar +button.remove=Borrar button.save=Guardar button.yes=Sí @@ -277,7 +278,6 @@ mods.choose_mod=Escoja sus mods mods.enable=Habilitar mods.disable=Deshabilitar mods.name=Nombre -mods.remove=Borrar mods.not_modded=Debes instalar un modloader primero (Fabric, Forge, o LiteLoader) datapack=Data packs @@ -285,7 +285,6 @@ datapack.add=Añadir data pack datapack.choose_datapack=Escoja el datapack zip que será importado datapack.extension=Datapack datapack.title=Mundo %s - Datapacks -datapack.remove=Borrar world=Worlds/Datapacks world.add=Añadir mundo (.zip) diff --git a/HMCL/src/main/resources/assets/lang/I18N_ru.properties b/HMCL/src/main/resources/assets/lang/I18N_ru.properties index 9c1b3cc25..1d2fa6b19 100644 --- a/HMCL/src/main/resources/assets/lang/I18N_ru.properties +++ b/HMCL/src/main/resources/assets/lang/I18N_ru.properties @@ -81,6 +81,7 @@ button.export=Экспорт button.no=Нет button.ok=Ок button.refresh=Обновить +button.remove=Удалить button.save=Сохранить button.yes=Да @@ -277,7 +278,6 @@ mods.choose_mod=Выберите свои моды mods.enable=Включить mods.disable=Отключить mods.name=Название -mods.remove=Удалить mods.not_modded=Сначала необходимо установить загрузчик модов (Forge, LiteLoader) datapack=Пакеты данных @@ -285,7 +285,6 @@ datapack.add=Добавить пакет данных datapack.choose_datapack=Выберите zip-файл для импорта datapack.extension=Пакет данных datapack.title=Мир %s - Пакеты данных -datapack.remove=Удалить world=Сохранения world.add=Добавить мир (.zip) diff --git a/HMCL/src/main/resources/assets/lang/I18N_zh.properties b/HMCL/src/main/resources/assets/lang/I18N_zh.properties index 9332f4314..1d54d7786 100644 --- a/HMCL/src/main/resources/assets/lang/I18N_zh.properties +++ b/HMCL/src/main/resources/assets/lang/I18N_zh.properties @@ -81,6 +81,8 @@ button.export=匯出 button.no=否 button.ok=確定 button.refresh=重新整理 +button.remove=刪除 +button.remove.confirm=您確認要刪除嗎?該操作無法撤銷! button.save=儲存 button.yes=是 @@ -289,7 +291,6 @@ mods.choose_mod=選擇模組 mods.enable=啟用 mods.disable=停用 mods.name=名稱 -mods.remove=刪除 mods.not_modded=你需要先在自動安裝頁面安裝 Fabric、Forge 或 LiteLoader 才能進行模組管理。 datapack=資料包 @@ -297,7 +298,6 @@ datapack.add=加入資料包 datapack.choose_datapack=選擇要匯入的資料包壓縮檔 datapack.extension=資料包 datapack.title=世界 %s - 資料包 -datapack.remove=刪除 world=世界/資料包 world.add=加入世界 diff --git a/HMCL/src/main/resources/assets/lang/I18N_zh_CN.properties b/HMCL/src/main/resources/assets/lang/I18N_zh_CN.properties index 639e045cf..7eda9e62d 100644 --- a/HMCL/src/main/resources/assets/lang/I18N_zh_CN.properties +++ b/HMCL/src/main/resources/assets/lang/I18N_zh_CN.properties @@ -81,6 +81,8 @@ button.export=导出 button.no=否 button.ok=确定 button.refresh=刷新 +button.remove=删除 +button.remove.confirm=您确定要删除吗?该操作无法撤销! button.save=保存 button.yes=是 @@ -290,7 +292,6 @@ mods.choose_mod=选择模组 mods.enable=启用 mods.disable=禁用 mods.name=名称 -mods.remove=删除 mods.not_modded=你需要先在自动安装页面安装 Fabric、Forge 或 LiteLoader 才能进行模组管理。 datapack=数据包 @@ -298,7 +299,6 @@ datapack.add=添加数据包 datapack.choose_datapack=选择要导入的数据包压缩包 datapack.extension=数据包 datapack.title=世界 %s - 数据包 -datapack.remove=删除 world=世界/数据包 world.add=添加世界