@@ -355,16 +355,94 @@ private void runUpdateMainBackgroundColor() {
355355 pane .setStyle (style );
356356 }
357357
358- private void setUpTime () {
359- bigTimeLabel .setText (TIME_ZERO );
360- allTimeLabel .setText (TIME_ZERO );
361- todayAllSeconds .setText (TIME_ZERO );
358+ private void setUpTextArea () {
359+ textArea .setWrapText (true );
360+ textArea .setEditable (false );
361+ textArea .editableProperty ().bind (mouseHoveringProperty );
362+
363+ textArea .textProperty ().addListener ((a , b , c ) -> controller .setComment (textArea .getText ()));
364+ }
365+
366+ private void setProjectListVisible (final boolean showProjectList ) {
367+ projectsVBox .setManaged (showProjectList );
368+ final double beforeWidth = mainStage .getWidth ();
369+ mainStage .sizeToScene ();
370+ final double afterWidth = mainStage .getWidth ();
371+ projectsVBox .setVisible (showProjectList );
372+ final double offset = afterWidth - beforeWidth ;
373+ if (!model .displayProjectsRight .get ()) {
374+ // we only need to move the stage if the node on the left is hidden
375+ // not sure how we can prevent the jumping
376+ mainStage .setX (mainStage .getX () - offset );
377+ }
378+ }
379+
380+ private void loadSubStages () {
381+ try {
382+ // Report stage
383+ final FXMLLoader fxmlLoader = createFXMLLoader (RESOURCE .FXML_REPORT );
384+ final Parent root = fxmlLoader .load ();
385+ root .setFocusTraversable (true );
386+ root .requestFocus ();
387+ reportController = fxmlLoader .getController ();
388+ reportController .setModel (model );
389+ reportController .setController (controller );
390+ reportStage = new Stage ();
391+ reportStage .initModality (Modality .APPLICATION_MODAL );
392+
393+ final Scene reportScene = new Scene (root );
394+ reportScene .setOnKeyPressed (ke -> {
395+ if (ke .getCode () == KeyCode .ESCAPE ) {
396+ LOG .info ("pressed ESCAPE" );
397+ reportStage .close ();
398+ }
399+ });
400+
401+ reportStage .setScene (reportScene );
402+ reportStage .setTitle ("Report" );
403+ reportStage .setResizable (false );
404+ reportStage .setOnHiding (windowEvent -> {
405+ reportStage .setAlwaysOnTop (false );
406+ this .mainStage .setAlwaysOnTop (true );
407+ });
408+
409+ // Settings stage
410+ final FXMLLoader fxmlLoader2 = createFXMLLoader (RESOURCE .FXML_SETTINGS );
411+ final Parent settingsRoot = fxmlLoader2 .load ();
412+ settingsController = fxmlLoader2 .getController ();
413+ settingsController .setControllerAndModel (controller , model );
414+ settingsStage = new Stage ();
415+ settingsController .setStage (settingsStage );
416+ settingsStage .initModality (Modality .APPLICATION_MODAL );
417+ settingsStage .setTitle ("Settings" );
418+ settingsStage .setResizable (false );
419+
420+ final Scene settingsScene = new Scene (settingsRoot );
421+ settingsScene .setOnKeyPressed (ke -> {
422+ if (ke .getCode () == KeyCode .ESCAPE ) {
423+ LOG .info ("pressed ESCAPE" );
424+ settingsStage .close ();
425+ }
426+ });
427+
428+ settingsStage .setScene (settingsScene );
429+ settingsStage .setOnHiding (e -> this .mainStage .setAlwaysOnTop (true ));
430+ } catch (final IOException e ) {
431+ LOG .error ("Error while loading sub stage" );
432+ throw new FXMLLoaderException (e );
433+ }
362434 }
363435
364436 private FXMLLoader createFXMLLoader (final RESOURCE fxmlLayout ) {
365437 return new FXMLLoader (Resources .getResource (fxmlLayout ));
366438 }
367439
440+ private void setUpTime () {
441+ bigTimeLabel .setText (TIME_ZERO );
442+ allTimeLabel .setText (TIME_ZERO );
443+ todayAllSeconds .setText (TIME_ZERO );
444+ }
445+
368446 private Dialog <Project > setUpDialogProject (final String title , final String headerText ) {
369447 final Dialog <Project > dialog = new Dialog <>();
370448 dialog .setTitle (title );
@@ -489,82 +567,4 @@ public void secondInitialize() {
489567 this .projectsListViewController = new ProjectsListViewController (model , controller , mainStage ,
490568 availableProjectsListView , searchTextField , false );
491569 }
492-
493- private void setUpTextArea () {
494- textArea .setWrapText (true );
495- textArea .setEditable (false );
496- textArea .editableProperty ().bind (mouseHoveringProperty );
497-
498- textArea .textProperty ().addListener ((a , b , c ) -> controller .setComment (textArea .getText ()));
499- }
500-
501- private void setProjectListVisible (final boolean showProjectList ) {
502- projectsVBox .setManaged (showProjectList );
503- final double beforeWidth = mainStage .getWidth ();
504- mainStage .sizeToScene ();
505- final double afterWidth = mainStage .getWidth ();
506- projectsVBox .setVisible (showProjectList );
507- final double offset = afterWidth - beforeWidth ;
508- if (!model .displayProjectsRight .get ()) {
509- // we only need to move the stage if the node on the left is hidden
510- // not sure how we can prevent the jumping
511- mainStage .setX (mainStage .getX () - offset );
512- }
513- }
514-
515- private void loadSubStages () {
516- try {
517- // Report stage
518- final FXMLLoader fxmlLoader = createFXMLLoader (RESOURCE .FXML_REPORT );
519- final Parent root = fxmlLoader .load ();
520- root .setFocusTraversable (true );
521- root .requestFocus ();
522- reportController = fxmlLoader .getController ();
523- reportController .setModel (model );
524- reportController .setController (controller );
525- reportStage = new Stage ();
526- reportStage .initModality (Modality .APPLICATION_MODAL );
527-
528- final Scene reportScene = new Scene (root );
529- reportScene .setOnKeyPressed (ke -> {
530- if (ke .getCode () == KeyCode .ESCAPE ) {
531- LOG .info ("pressed ESCAPE" );
532- reportStage .close ();
533- }
534- });
535-
536- reportStage .setScene (reportScene );
537- reportStage .setTitle ("Report" );
538- reportStage .setResizable (false );
539- reportStage .setOnHiding (windowEvent -> {
540- reportStage .setAlwaysOnTop (false );
541- this .mainStage .setAlwaysOnTop (true );
542- });
543-
544- // Settings stage
545- final FXMLLoader fxmlLoader2 = createFXMLLoader (RESOURCE .FXML_SETTINGS );
546- final Parent settingsRoot = fxmlLoader2 .load ();
547- settingsController = fxmlLoader2 .getController ();
548- settingsController .setControllerAndModel (controller , model );
549- settingsStage = new Stage ();
550- settingsController .setStage (settingsStage );
551- settingsStage .initModality (Modality .APPLICATION_MODAL );
552- settingsStage .setTitle ("Settings" );
553- settingsStage .setResizable (false );
554-
555- final Scene settingsScene = new Scene (settingsRoot );
556- settingsScene .setOnKeyPressed (ke -> {
557- if (ke .getCode () == KeyCode .ESCAPE ) {
558- LOG .info ("pressed ESCAPE" );
559- settingsStage .close ();
560- }
561- });
562-
563- settingsStage .setScene (settingsScene );
564- settingsStage .setOnHiding (e -> this .mainStage .setAlwaysOnTop (true ));
565- } catch (final IOException e ) {
566- LOG .error ("Error while loading sub stage" );
567- throw new FXMLLoaderException (e );
568- }
569- }
570570}
0 commit comments