Skip to content
Snippets Groups Projects
Commit 18a0014e authored by Robert Goldmann's avatar Robert Goldmann
Browse files

Fixed #195 - wrong login alert on enter --> infinite loop

parent 17af04c4
No related branches found
No related tags found
1 merge request!213merge v1_6_0 into master
...@@ -8,6 +8,7 @@ import de.deadlocker8.budgetmaster.logic.utils.FileHelper; ...@@ -8,6 +8,7 @@ import de.deadlocker8.budgetmaster.logic.utils.FileHelper;
import de.deadlocker8.budgetmaster.logic.utils.Helpers; import de.deadlocker8.budgetmaster.logic.utils.Helpers;
import de.deadlocker8.budgetmaster.logic.utils.Strings; import de.deadlocker8.budgetmaster.logic.utils.Strings;
import de.deadlocker8.budgetmaster.ui.Styleable; import de.deadlocker8.budgetmaster.ui.Styleable;
import de.deadlocker8.budgetmaster.ui.customAlert.CustomAlertController;
import fontAwesome.FontIconType; import fontAwesome.FontIconType;
import javafx.application.Platform; import javafx.application.Platform;
import javafx.fxml.FXML; import javafx.fxml.FXML;
...@@ -72,6 +73,7 @@ public class SplashScreenController extends BaseController implements Styleable ...@@ -72,6 +73,7 @@ public class SplashScreenController extends BaseController implements Styleable
textFieldPassword.setOnKeyReleased((event)->{ textFieldPassword.setOnKeyReleased((event)->{
if(event.getCode() == KeyCode.ENTER) if(event.getCode() == KeyCode.ENTER)
{ {
event.consume();
login(); login();
} }
}); });
...@@ -177,14 +179,7 @@ public class SplashScreenController extends BaseController implements Styleable ...@@ -177,14 +179,7 @@ public class SplashScreenController extends BaseController implements Styleable
//check password //check password
if(!HashUtils.hash(password, Helpers.SALT).equals(settings.getClientSecret())) if(!HashUtils.hash(password, Helpers.SALT).equals(settings.getClientSecret()))
{ {
AlertGenerator.showAlert(AlertType.WARNING, new CustomAlertController(getStage(), this, AlertType.WARNING, Localization.getString(Strings.TITLE_WARNING), Localization.getString(Strings.WARNING_WRONG_PASSWORD));
Localization.getString(Strings.TITLE_WARNING),
"",
Localization.getString(Strings.WARNING_WRONG_PASSWORD),
icon,
getStage(),
null,
false);
return; return;
} }
...@@ -198,6 +193,11 @@ public class SplashScreenController extends BaseController implements Styleable ...@@ -198,6 +193,11 @@ public class SplashScreenController extends BaseController implements Styleable
new Controller(settings); new Controller(settings);
} }
public Image getIcon()
{
return icon;
}
@Override @Override
public void applyStyle() public void applyStyle()
{ {
......
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.image.ImageView?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.VBox?>
<AnchorPane fx:id="anchorPaneMain" prefHeight="90.0" prefWidth="400.0" xmlns="http://javafx.com/javafx/8.0.111" xmlns:fx="http://javafx.com/fxml/1">
<children>
<VBox layoutX="14.0" layoutY="14.0" AnchorPane.bottomAnchor="14.0" AnchorPane.leftAnchor="14.0" AnchorPane.rightAnchor="14.0" AnchorPane.topAnchor="14.0">
<children>
<HBox spacing="14.0" VBox.vgrow="ALWAYS">
<children>
<ImageView fx:id="imageView" fitHeight="45.0" fitWidth="45.0" pickOnBounds="true" preserveRatio="true" />
<Label fx:id="labelMessage" maxWidth="1.7976931348623157E308" HBox.hgrow="ALWAYS">
<HBox.margin>
<Insets top="3.0" />
</HBox.margin></Label>
</children>
</HBox>
<HBox alignment="CENTER_RIGHT">
<children>
<Button minWidth="75.0" mnemonicParsing="false" onAction="#confirm" prefWidth="75.0" text="%ok" />
</children>
</HBox>
</children>
</VBox>
</children>
</AnchorPane>
package de.deadlocker8.budgetmaster.ui.customAlert;
import de.deadlocker8.budgetmaster.ui.controller.BaseController;
import de.deadlocker8.budgetmaster.ui.controller.SplashScreenController;
import javafx.fxml.FXML;
import javafx.scene.control.Alert.AlertType;
import javafx.scene.control.Label;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.input.KeyCode;
import javafx.scene.layout.AnchorPane;
import javafx.stage.Modality;
import javafx.stage.Stage;
import tools.Localization;
public class CustomAlertController extends BaseController
{
@FXML private AnchorPane anchorPaneMain;
@FXML private ImageView imageView;
@FXML private Label labelMessage;
private Stage parentStage;
private SplashScreenController controller;
private AlertType alertType;
private String title;
private String message;
public CustomAlertController(Stage parentStage, SplashScreenController controller, AlertType alertType, String title, String message)
{
this.parentStage = parentStage;
this.controller = controller;
this.alertType = alertType;
this.title = title;
this.message = message;
load("/de/deadlocker8/budgetmaster/ui/customAlert/CustomAlert.fxml", Localization.getBundle());
getStage().showAndWait();
}
@Override
public void initStage(Stage stage)
{
stage.initOwner(parentStage);
stage.initModality(Modality.APPLICATION_MODAL);
stage.setTitle(title);
stage.getIcons().add(controller.getIcon());
stage.setResizable(false);
}
@Override
public void init()
{
labelMessage.setText(message);
getStage().getScene().setOnKeyReleased((event)->{
event.consume();
if(event.getCode().equals(KeyCode.ENTER))
{
confirm();
}
});
switch(alertType)
{
case CONFIRMATION:
imageView.setImage(new Image("/com/sun/javafx/scene/control/skin/modena/dialog-confirmation.png"));
break;
case ERROR:
imageView.setImage(new Image("/com/sun/javafx/scene/control/skin/modena/dialog-error.png"));
break;
case INFORMATION:
imageView.setImage(new Image("/com/sun/javafx/scene/control/skin/modena/dialog-information.png"));
break;
case WARNING:
imageView.setImage(new Image("/com/sun/javafx/scene/control/skin/modena/dialog-warning.png"));
break;
default:
imageView.setImage(new Image("/com/sun/javafx/scene/control/skin/modena/dialog-information.png"));
break;
}
}
@FXML
public void confirm()
{
getStage().close();
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment