Skip to content

Commit 3a4fe40

Browse files
author
Martin Plieske
committed
refactored ViewController, so manageProjectController field is not needed
1 parent 661aa78 commit 3a4fe40

File tree

1 file changed

+12
-11
lines changed

1 file changed

+12
-11
lines changed

src/main/java/de/doubleslash/keeptime/view/ViewController.java

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -83,8 +83,6 @@ public class ViewController {
8383
private static final Logger LOG = LoggerFactory.getLogger(ViewController.class);
8484
private static final String TIME_ZERO = "00:00:00";
8585

86-
private ManageProjectController manageProjectController;
87-
8886
@FXML
8987
private Pane pane;
9088
@FXML
@@ -304,7 +302,8 @@ private void initialize() {
304302
mainColorTimeLine = new ColorTimeLine(canvas);
305303
}
306304

307-
private Dialog<Project> dialogResultConverter(final Dialog<Project> dialog) {
305+
private Dialog<Project> dialogResultConverter(final Dialog<Project> dialog,
306+
final ManageProjectController manageProjectController) {
308307
dialog.setResultConverter(dialogButton -> {
309308
if (dialogButton == ButtonType.OK) {
310309
final String projectName = manageProjectController.getProjectName();
@@ -447,21 +446,29 @@ private Dialog<Project> setUpDialogProject(final String title, final String head
447446
dialog.setTitle(title);
448447
dialog.setHeaderText(headerText);
449448
dialog.getDialogPane().getButtonTypes().addAll(ButtonType.OK, ButtonType.CANCEL);
449+
setUpAddNewProjectGridPane(dialog);
450+
451+
// TODO disable OK button if no name is set
450452
return dialog;
451453
}
452454

453-
private GridPane setUpAddNewProjectGridPane() {
455+
private GridPane setUpAddNewProjectGridPane(final Dialog<Project> dialog) {
454456
GridPane grid;
455457
final FXMLLoader loader = new FXMLLoader(Resources.getResource(RESOURCE.FXML_MANAGE_PROJECT));
456458
try {
457459
grid = loader.load();
458460
} catch (final IOException e) {
459461
throw new FXMLLoaderException(String.format("Error while loading '%s'.", RESOURCE.FXML_MANAGE_PROJECT), e);
460462
}
461-
manageProjectController = loader.getController();
463+
464+
dialog.getDialogPane().setContent(grid);
465+
466+
final ManageProjectController manageProjectController = loader.getController();
462467
manageProjectController.setModel(model);
463468
manageProjectController.secondInitialize();
464469

470+
dialogResultConverter(dialog, manageProjectController);
471+
465472
return grid;
466473
}
467474

@@ -513,12 +520,6 @@ public void addNewProject(final ActionEvent ae) {
513520
// TODO somewhat duplicate dialog of create and edit
514521
final Dialog<Project> dialog = setUpDialogProject("Create new project", "Create a new project");
515522

516-
final GridPane grid = setUpAddNewProjectGridPane();
517-
518-
// TODO disable OK button if no name is set
519-
dialog.getDialogPane().setContent(grid);
520-
521-
dialogResultConverter(dialog);
522523
mainStage.setAlwaysOnTop(false);
523524
final Optional<Project> result = dialog.showAndWait();
524525
mainStage.setAlwaysOnTop(true);

0 commit comments

Comments
 (0)