1
0
mirror of https://github.com/aNNiMON/HotaruFX.git synced 2024-09-19 14:14:21 +03:00

Show file name in window title

This commit is contained in:
Victor 2017-09-06 11:08:49 +03:00
parent 44bd6c0a65
commit 00df10350a
3 changed files with 19 additions and 1 deletions

View File

@ -1,10 +1,13 @@
package com.annimon.hotarufx.io;
import java.util.Optional;
import java.util.function.Consumer;
import javafx.stage.Stage;
public interface DocumentManager {
Optional<String> name();
void newDocument();
boolean open(Stage stage, Consumer<String> contentConsumer);

View File

@ -4,6 +4,7 @@ import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Optional;
import java.util.function.Consumer;
import javafx.stage.FileChooser;
import javafx.stage.Stage;
@ -23,6 +24,12 @@ public class FileManager implements DocumentManager {
);
}
@Override
public Optional<String> name() {
return Optional.ofNullable(currentFile)
.map(File::getName);
}
@Override
public void newDocument() {
currentFile = null;

View File

@ -46,8 +46,16 @@ public class EditorController implements Initializable, DocumentListener {
@FXML
private void handleMenuOpen(ActionEvent event) {
documentManager.open(primaryStage,
val isOpened = documentManager.open(primaryStage,
s -> editor.replaceText(0, 0, s));
if (isOpened) {
updateTitle();
}
}
private void updateTitle() {
primaryStage.setTitle(
documentManager.name().orElse("HotaruFX"));
}
@FXML