Skip to content

Commit 733b2c9

Browse files
authored
Fix #4538: 删除实例失败时弹出对话框 (#4540)
1 parent 81b6152 commit 733b2c9

4 files changed

Lines changed: 11 additions & 1 deletion

File tree

HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/Versions.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,14 @@ public static void deleteVersion(Profile profile, String version) {
112112

113113
JFXButton deleteButton = new JFXButton(i18n("button.delete"));
114114
deleteButton.getStyleClass().add("dialog-error");
115-
deleteButton.setOnAction(e -> profile.getRepository().removeVersionFromDisk(version));
115+
deleteButton.setOnAction(e -> {
116+
Task.supplyAsync(Schedulers.io(), () -> profile.getRepository().removeVersionFromDisk(version))
117+
.whenComplete(Schedulers.javafx(), (result, exception) -> {
118+
if (exception != null || !Boolean.TRUE.equals(result)) {
119+
Controllers.dialog(i18n("version.manage.remove.failed"), i18n("message.error"), MessageDialogPane.MessageType.ERROR);
120+
}
121+
}).start();
122+
});
116123

117124
Controllers.confirmAction(message, i18n("message.warning"), MessageDialogPane.MessageType.WARNING, deleteButton);
118125
}

HMCL/src/main/resources/assets/lang/I18N.properties

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1569,6 +1569,7 @@ version.manage.redownload_assets_index=Update Game Assets
15691569
version.manage.remove=Delete Instance
15701570
version.manage.remove.confirm.trash=Are you sure you want to remove the instance "%1$s"? You can still find its files in your recycle bin by the name of "%2$s".
15711571
version.manage.remove.confirm.independent=Since this instance is stored in an isolated directory, deleting it will also delete its saves and other data. Do you still want to delete the instance "%s"?
1572+
version.manage.remove.failed=Failed to delete the instance. Some files might be in use.
15721573
version.manage.remove_assets=Delete All Assets
15731574
version.manage.remove_libraries=Delete All Libraries
15741575
version.manage.rename=Rename Instance

HMCL/src/main/resources/assets/lang/I18N_zh.properties

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1353,6 +1353,7 @@ version.manage.redownload_assets_index=更新遊戲資源檔案
13531353
version.manage.remove=刪除該實例
13541354
version.manage.remove.confirm.trash=真的要刪除實例「%s」嗎? 你可以在系統的資源回收筒 (或垃圾桶) 中還原目錄「%s」來找回該實例。
13551355
version.manage.remove.confirm.independent=由於該實例啟用了「(全域/實例特定) 遊戲設定 → 執行路徑 → 各實例獨立」設定,刪除該實例將導致該遊戲的存檔等資料一同被刪除!真的要刪除實例「%s」嗎?
1356+
version.manage.remove.failed=刪除實例失敗。可能檔案被占用。
13561357
version.manage.remove_assets=刪除所有遊戲資源檔案
13571358
version.manage.remove_libraries=刪除所有支援庫檔案
13581359
version.manage.rename=重新命名該實例

HMCL/src/main/resources/assets/lang/I18N_zh_CN.properties

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1363,6 +1363,7 @@ version.manage.redownload_assets_index=更新游戏资源文件
13631363
version.manage.remove=删除该实例
13641364
version.manage.remove.confirm.trash=真的要删除实例“%s”吗?你可以在系统的回收站中还原“%s”文件夹来找回该实例。
13651365
version.manage.remove.confirm.independent=由于该游戏启用了“(全局/实例特定) 游戏设置 → 版本隔离 → 各实例独立”选项,删除该实例将导致该游戏的存档等数据一同被删除!真的要删除实例“%s”吗?
1366+
version.manage.remove.failed=删除实例失败。可能文件被占用。
13661367
version.manage.remove_assets=删除所有游戏资源文件
13671368
version.manage.remove_libraries=删除所有库文件
13681369
version.manage.rename=重命名该实例

0 commit comments

Comments
 (0)