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;
|
package com.annimon.hotarufx.io;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
import java.util.function.Consumer;
|
import java.util.function.Consumer;
|
||||||
import javafx.stage.Stage;
|
import javafx.stage.Stage;
|
||||||
|
|
||||||
public interface DocumentManager {
|
public interface DocumentManager {
|
||||||
|
|
||||||
|
Optional<String> name();
|
||||||
|
|
||||||
void newDocument();
|
void newDocument();
|
||||||
|
|
||||||
boolean open(Stage stage, Consumer<String> contentConsumer);
|
boolean open(Stage stage, Consumer<String> contentConsumer);
|
||||||
|
@ -4,6 +4,7 @@ import java.io.File;
|
|||||||
import java.io.FileInputStream;
|
import java.io.FileInputStream;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
|
import java.util.Optional;
|
||||||
import java.util.function.Consumer;
|
import java.util.function.Consumer;
|
||||||
import javafx.stage.FileChooser;
|
import javafx.stage.FileChooser;
|
||||||
import javafx.stage.Stage;
|
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
|
@Override
|
||||||
public void newDocument() {
|
public void newDocument() {
|
||||||
currentFile = null;
|
currentFile = null;
|
||||||
|
@ -46,8 +46,16 @@ public class EditorController implements Initializable, DocumentListener {
|
|||||||
|
|
||||||
@FXML
|
@FXML
|
||||||
private void handleMenuOpen(ActionEvent event) {
|
private void handleMenuOpen(ActionEvent event) {
|
||||||
documentManager.open(primaryStage,
|
val isOpened = documentManager.open(primaryStage,
|
||||||
s -> editor.replaceText(0, 0, s));
|
s -> editor.replaceText(0, 0, s));
|
||||||
|
if (isOpened) {
|
||||||
|
updateTitle();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void updateTitle() {
|
||||||
|
primaryStage.setTitle(
|
||||||
|
documentManager.name().orElse("HotaruFX"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@FXML
|
@FXML
|
||||||
|
Loading…
Reference in New Issue
Block a user