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:
parent
44bd6c0a65
commit
00df10350a
@ -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);
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user