add ctrl+s and ctrl+w
This commit is contained in:
@@ -5,8 +5,12 @@ import com.imyeyu.fx.ui.TimiFXUI;
|
||||
import com.imyeyu.hosts.ui.ctrl.Main;
|
||||
import com.imyeyu.inject.annotation.Inject;
|
||||
import com.imyeyu.inject.annotation.TimiInjectApplication;
|
||||
import javafx.application.Platform;
|
||||
import javafx.application.Application;
|
||||
import javafx.scene.Scene;
|
||||
import javafx.scene.input.KeyCode;
|
||||
import javafx.scene.input.KeyCodeCombination;
|
||||
import javafx.scene.input.KeyCombination;
|
||||
import javafx.stage.Stage;
|
||||
|
||||
/**
|
||||
@@ -27,6 +31,11 @@ public class FXApplication extends Application implements TimiFXUI {
|
||||
|
||||
Scene scene = new Scene(main, 900, 560);
|
||||
scene.getStylesheets().addAll(CSS_STYLE, CSS_FONT, "style.css");
|
||||
scene.getAccelerators().put(new KeyCodeCombination(KeyCode.S, KeyCombination.CONTROL_DOWN), main::saveHosts);
|
||||
scene.getAccelerators().put(new KeyCodeCombination(KeyCode.W, KeyCombination.CONTROL_DOWN), () -> {
|
||||
stage.close();
|
||||
Platform.exit();
|
||||
});
|
||||
stage.setTitle("TimiHosts");
|
||||
stage.setScene(scene);
|
||||
stage.show();
|
||||
|
||||
@@ -37,18 +37,7 @@ public class Main extends MainView {
|
||||
private void init() {
|
||||
add.setOnAction(e -> table.getItems().add(new Host()));
|
||||
// 绑定保存按钮事件
|
||||
save.setOnAction(e -> {
|
||||
try {
|
||||
int count = hostService.save();
|
||||
labelTips.info("已保存 %d 条映射".formatted(count));
|
||||
} catch (AccessDeniedException ex) {
|
||||
log.error("写入 hosts 失败: 权限不足", ex);
|
||||
labelTips.error("保存失败: 权限不足,请以管理员身份运行");
|
||||
} catch (IOException ex) {
|
||||
log.error("写入 hosts 失败", ex);
|
||||
labelTips.error("保存失败: %s".formatted(ex.getMessage()));
|
||||
}
|
||||
});
|
||||
save.setOnAction(e -> saveHosts());
|
||||
// 加载初始数据
|
||||
try {
|
||||
int count = hostService.refresh();
|
||||
@@ -65,6 +54,22 @@ public class Main extends MainView {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存当前 hosts 映射。
|
||||
*/
|
||||
public void saveHosts() {
|
||||
try {
|
||||
int count = hostService.save();
|
||||
labelTips.info("已保存 %d 条映射".formatted(count));
|
||||
} catch (AccessDeniedException ex) {
|
||||
log.error("写入 hosts 失败: 权限不足", ex);
|
||||
labelTips.error("保存失败: 权限不足,请以管理员身份运行");
|
||||
} catch (IOException ex) {
|
||||
log.error("写入 hosts 失败", ex);
|
||||
labelTips.error("保存失败: %s".formatted(ex.getMessage()));
|
||||
}
|
||||
}
|
||||
|
||||
@PostConstruct
|
||||
private void label() {
|
||||
Callback updateStatus = () -> {
|
||||
|
||||
Reference in New Issue
Block a user