@@ -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