Add button to reveal world directory in explorer

This commit is contained in:
huanghongxun 2018-12-21 00:40:50 +08:00
parent 778f26d55f
commit bbaed35160
5 changed files with 14 additions and 1 deletions

View File

@ -27,6 +27,7 @@ import javafx.scene.image.Image;
import javafx.stage.FileChooser;
import org.jackhuang.hmcl.game.World;
import org.jackhuang.hmcl.ui.Controllers;
import org.jackhuang.hmcl.ui.FXUtils;
import org.jackhuang.hmcl.ui.wizard.SinglePageWizardProvider;
import org.jackhuang.hmcl.util.versioning.VersionNumber;
@ -81,6 +82,14 @@ public class WorldListItem extends Control {
Controllers.getDecorator().startWizard(new SinglePageWizardProvider(controller -> new WorldExportPage(world, file.toPath(), controller::onFinish)));
}
public void reveal() {
try {
FXUtils.openFolder(world.getFile().toFile());
} catch (UnsupportedOperationException e) {
e.printStackTrace();
}
}
public void manageDatapacks() {
if (world.getGameVersion() == null || // old game will not write game version to level.dat
(VersionNumber.isIntVersionNumber(world.getGameVersion()) // we don't parse snapshot version

View File

@ -65,7 +65,8 @@ public class WorldListItemSkin extends SkinBase<WorldListItem> {
menu.getContent().setAll(
new IconedMenuItem(FXUtils.limitingSize(SVG.gear(Theme.blackFillBinding(), 14, 14), 14, 14), i18n("world.datapack"), FXUtils.withJFXPopupClosing(skinnable::manageDatapacks, popup)),
new IconedMenuItem(FXUtils.limitingSize(SVG.export(Theme.blackFillBinding(), 14, 14), 14, 14), i18n("world.export"), FXUtils.withJFXPopupClosing(skinnable::export, popup)));
new IconedMenuItem(FXUtils.limitingSize(SVG.export(Theme.blackFillBinding(), 14, 14), 14, 14), i18n("world.export"), FXUtils.withJFXPopupClosing(skinnable::export, popup)),
new IconedMenuItem(FXUtils.limitingSize(SVG.folderOpen(Theme.blackFillBinding(), 14, 14), 14, 14), i18n("world.reveal"), FXUtils.withJFXPopupClosing(skinnable::reveal, popup)));
HBox right = new HBox();
right.setAlignment(Pos.CENTER_RIGHT);

View File

@ -275,6 +275,7 @@ world.import.failed=Unable to import this world: %s
world.import.invalid=Not a valid world zip
world.name=World Name
world.name.enter=Enter the world name
world.reveal=Reveal in Explorer
world.time=EEE, MMM d, yyyy HH:mm:ss
profile=Game Directories

View File

@ -274,6 +274,7 @@ world.import.invalid=無法識別的存檔壓縮包
world.game_version=遊戲版本
world.name=世界名稱
world.name.enter=輸入世界名稱
world.reveal=打開資料夾
world.time=yyyy 年 MM 月 dd 日 HH:mm:ss
profile=遊戲目錄

View File

@ -274,6 +274,7 @@ world.import.failed=无法导入此世界:%s
world.import.invalid=无法识别的存档压缩包
world.name=世界名称
world.name.enter=输入世界名称
world.reveal=打开文件夹
world.time=yyyy 年 MM 月 dd 日 HH:mm:ss
profile=游戏目录