Skip to content

Commit 14c4f84

Browse files
committed
outsourced some code from method "addProjectToProjectList" to variouse other methods
every thing works and the "addProjectToProjectList" has lower Cognitive Complexity than 16
1 parent 23d340a commit 14c4f84

File tree

1 file changed

+40
-24
lines changed

1 file changed

+40
-24
lines changed

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

Lines changed: 40 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -572,24 +572,8 @@ private Node addProjectToProjectList(final Project p) {
572572
grid.setPadding(new Insets(20, 150, 10, 10));
573573
int gridRow = 0;
574574
grid.add(new Label("Minutes to transfer"), 0, gridRow);
575-
final Slider slider = new Slider();
576-
slider.setMin(0);
577-
slider.maxProperty().bind(Bindings.createLongBinding(() -> {
578-
final long maxValue = activeWorkSecondsProperty.longValue() / 60;
579-
if (maxValue > 0) {
580-
slider.setDisable(false);
581-
return maxValue;
582-
}
583-
slider.setDisable(true);
584-
return 1l;
585-
}, activeWorkSecondsProperty));
586-
slider.setValue(0);
587-
slider.setShowTickLabels(true);
588-
slider.setShowTickMarks(true);
589-
slider.setMajorTickUnit(60);
590-
slider.setMinorTickCount(58);
591-
slider.setBlockIncrement(1);
592-
slider.setSnapToTicks(true);
575+
final Slider slider = setUpSliderChangeWithTimeMenuItem(activeWorkSecondsProperty);
576+
593577
grid.add(slider, 1, gridRow);
594578
final Label minutesToTransferLabel = new Label("999 minute(s)");
595579
grid.add(minutesToTransferLabel, 2, gridRow);
@@ -695,12 +679,7 @@ private Node addProjectToProjectList(final Project p) {
695679
return;
696680
}
697681
final ObservableList<Node> nodes = grid.getChildren();
698-
final TextField projectNameTextField = (TextField) nodes.get(1);
699-
final ColorPicker colorPicker = (ColorPicker) nodes.get(3);
700-
final CheckBox isWorkCheckBox = (CheckBox) nodes.get(5);
701-
final Spinner<Integer> indexSpinner = (Spinner<Integer>) nodes.get(7);
702-
controller.editProject(p, projectNameTextField.getText(), colorPicker.getValue(),
703-
isWorkCheckBox.isSelected(), indexSpinner.getValue());
682+
editProject(nodes, p);
704683

705684
projectNameLabel.setText(p.getName());
706685
projectNameLabel.setTextFill(new Color(p.getColor().getRed() * dimFactor,
@@ -718,6 +697,43 @@ private Node addProjectToProjectList(final Project p) {
718697
return projectElement;
719698
}
720699

700+
private Slider setUpSliderChangeWithTimeMenuItem(final LongProperty activeWorkSecondsProperty) {
701+
final Slider slider = new Slider();
702+
703+
slider.setMin(0);
704+
slider.maxProperty().bind(Bindings.createLongBinding(() -> {
705+
final long maxValue = activeWorkSecondsProperty.longValue() / 60;
706+
if (maxValue > 0) {
707+
slider.setDisable(false);
708+
return maxValue;
709+
}
710+
slider.setDisable(true);
711+
return 1l;
712+
}, activeWorkSecondsProperty));
713+
slider.setValue(0);
714+
slider.setShowTickLabels(true);
715+
slider.setShowTickMarks(true);
716+
slider.setMajorTickUnit(60);
717+
slider.setMinorTickCount(58);
718+
slider.setBlockIncrement(1);
719+
slider.setSnapToTicks(true);
720+
721+
return slider;
722+
}
723+
724+
private void editProject(final ObservableList<Node> nodes, final Project p) {
725+
final TextField projectNameTextField = (TextField) nodes.get(1);
726+
final ColorPicker colorPicker = (ColorPicker) nodes.get(3);
727+
final CheckBox isWorkCheckBox = (CheckBox) nodes.get(5);
728+
final Spinner<Integer> indexSpinner = (Spinner<Integer>) nodes.get(7);
729+
controller.editProject(p, projectNameTextField.getText(), colorPicker.getValue(), isWorkCheckBox.isSelected(),
730+
indexSpinner.getValue());
731+
}
732+
733+
private Label setUpProjectNameLabel(final Label projectNameLabel, final double dimFactor, final Project p) {
734+
return projectNameLabel;
735+
}
736+
721737
private Dialog<ButtonType> setUpEditProjectDialog(final Project p) {
722738
final Dialog<ButtonType> dialog = new Dialog<>();
723739
dialog.setTitle("Edit project");

0 commit comments

Comments
 (0)