From 0d09115c0c66dfa96ac0ea82ca89968634ec3641 Mon Sep 17 00:00:00 2001 From: vincent Bourgmayer Date: Thu, 9 Sep 2021 16:27:50 +0200 Subject: [PATCH] Add an option 'I'm not interested' for eAccount --- .../subcontrollers/EAccountController.java | 68 ++++++++++++------- src/main/resources/fxml/6-2-eAccount.fxml | 19 +++++- .../resources/lang/translation.properties | 3 +- 3 files changed, 63 insertions(+), 27 deletions(-) diff --git a/src/main/java/ecorp/easy/installer/controllers/subcontrollers/EAccountController.java b/src/main/java/ecorp/easy/installer/controllers/subcontrollers/EAccountController.java index 8b5e9da7..e0ecee99 100644 --- a/src/main/java/ecorp/easy/installer/controllers/subcontrollers/EAccountController.java +++ b/src/main/java/ecorp/easy/installer/controllers/subcontrollers/EAccountController.java @@ -24,6 +24,7 @@ import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.ThreadFactory; import java.util.regex.Pattern; +import javafx.event.EventHandler; import javafx.fxml.FXML; import javafx.scene.control.Button; import javafx.scene.control.Label; @@ -49,11 +50,13 @@ public class EAccountController extends AbstractSubController{ @FXML VBox eAccountRoot; @FXML HBox alreadyAccountBox; @FXML HBox askAccountBox; + @FXML HBox skipAccountBox; @FXML Button checkMailBtn; @FXML TextField mailInput; @FXML Label addAccountInstruction; - @FXML RadioButton radioButton; - @FXML RadioButton radioButton2; + @FXML RadioButton addAccountRadioBtn; + @FXML RadioButton alreadyHaveRadioBtn; + @FXML RadioButton skipRadioBtn; @Override @@ -65,43 +68,60 @@ public class EAccountController extends AbstractSubController{ public void setParentController(MainWindowController parentController){ super.setParentController(parentController); parentController.disableNextButton(true); - radioButton.setOnMouseClicked( (eh) -> { - mailInput.requestFocus(); - radioButton.setSelected(true); - parentController.disableNextButton(true); - parentController.setNextButtonVisible(true); - }); - askAccountBox.setOnMouseClicked((eh) -> { - radioButton.fireEvent(new MouseEvent(MouseEvent.MOUSE_CLICKED, - radioButton.getLayoutX(), radioButton.getLayoutY(), radioButton.getLayoutX(), radioButton.getLayoutY(), MouseButton.PRIMARY, 1, - true, true, true, true, true, true, true, true, true, true, null)); + addAccountRadioBtn.setOnMouseClicked((eh) -> { + mailInput.requestFocus(); + onRadioBtnClicked(addAccountRadioBtn, true); }); mailInput.setOnMouseClicked((eh) -> { - radioButton.setSelected(true); - parentController.disableNextButton(true); - parentController.setNextButtonVisible(true); + onRadioBtnClicked(addAccountRadioBtn, true); }); - radioButton2.setOnMouseClicked( (eh) -> { + alreadyHaveRadioBtn.setOnMouseClicked((eh) -> { if(mailInput.isFocused()) alreadyAccountBox.requestFocus(); - radioButton2.setSelected(true); - parentController.disableNextButton(false); - parentController.setNextButtonVisible(true); + onRadioBtnClicked(alreadyHaveRadioBtn, false); }); - alreadyAccountBox.setOnMouseClicked( (eh) -> { - radioButton2.fireEvent(new MouseEvent(MouseEvent.MOUSE_CLICKED, - radioButton2.getLayoutX(), radioButton2.getLayoutY(), radioButton2.getLayoutX(), radioButton2.getLayoutY(), MouseButton.PRIMARY, 1, - true, true, true, true, true, true, true, true, true, true, null)); + skipRadioBtn.setOnMouseClicked((eh) -> { + if(mailInput.isFocused()) skipRadioBtn.requestFocus(); + onRadioBtnClicked(skipRadioBtn, false); }); + + setBoxOnMouseClicked(askAccountBox, addAccountRadioBtn); + setBoxOnMouseClicked(alreadyAccountBox, alreadyHaveRadioBtn); + setBoxOnMouseClicked(skipAccountBox, skipRadioBtn); } + private void onRadioBtnClicked(RadioButton radioBtn, boolean disableNextBtn){ + radioBtn.setSelected(true); + parentController.disableNextButton(disableNextBtn); + parentController.setNextButtonVisible(true); + } + + /** + * When the Text of the radio button is clicked + * it fires the clicked event of the radio button + * @param box HBox containing text of the radio button + * @param radioBtn the radio button + */ + private void setBoxOnMouseClicked(HBox box, RadioButton radioBtn){ + box.setOnMouseClicked((eh) -> { + double layoutX = radioBtn.getLayoutX(); + double layoutY = radioBtn.getLayoutY(); + + radioBtn.fireEvent(new MouseEvent(MouseEvent.MOUSE_CLICKED, layoutX, + layoutY, layoutX, layoutY, MouseButton.PRIMARY, 1, + true, true, true, true, true, true, true, true, true, true, null)); + }); + } + + + public void onCheckMailBtnClick(){ logger.info("onCheckMailBtnClick"); final String userInput = mailInput.getText(); parentController.disableNextButton(true); - if(!radioButton.isSelected()) radioButton.setSelected(true); + if(!addAccountRadioBtn.isSelected()) addAccountRadioBtn.setSelected(true); switch (checkMailFormat(userInput)) { case -1: diff --git a/src/main/resources/fxml/6-2-eAccount.fxml b/src/main/resources/fxml/6-2-eAccount.fxml index 87f355c4..94996cca 100644 --- a/src/main/resources/fxml/6-2-eAccount.fxml +++ b/src/main/resources/fxml/6-2-eAccount.fxml @@ -44,7 +44,7 @@ - + @@ -65,7 +65,7 @@ - + @@ -78,6 +78,21 @@ + + + + + + + + + + + + + diff --git a/src/main/resources/lang/translation.properties b/src/main/resources/lang/translation.properties index 205dde3b..6df8a8ba 100644 --- a/src/main/resources/lang/translation.properties +++ b/src/main/resources/lang/translation.properties @@ -245,7 +245,8 @@ eAccount_lbl_onlineFailure=Online checking of your e-mail failed. Please try aga eAccount_lbl_tryLater=There was an issue. Please try later eAccount_lbl_contactSupport=hm..There was an issue, please contact support! eAccount_lbl_processing=Processing... - +eAccount_title_skipAccount= I'm not interested +eAccount_lbl_skipAccount=Click on continue #result result_title_installOver=Installation over result_lbl_msg1=Installation is over. While your phone is booting, your should see the logo below. -- GitLab