diff --git a/.classpath b/.classpath index 99bcecd..4063eef 100644 --- a/.classpath +++ b/.classpath @@ -22,5 +22,6 @@ + diff --git a/bin/application/Main.class b/bin/application/Main.class index 8cc1209..34e215e 100644 Binary files a/bin/application/Main.class and b/bin/application/Main.class differ diff --git a/bin/application/MainWindowController$1.class b/bin/application/MainWindowController$1.class index ee14299..9d3af06 100644 Binary files a/bin/application/MainWindowController$1.class and b/bin/application/MainWindowController$1.class differ diff --git a/bin/application/MainWindowController$2.class b/bin/application/MainWindowController$2.class index b108d39..7fcb272 100644 Binary files a/bin/application/MainWindowController$2.class and b/bin/application/MainWindowController$2.class differ diff --git a/bin/application/MainWindowController$3.class b/bin/application/MainWindowController$3.class index 27fee5a..e35052b 100644 Binary files a/bin/application/MainWindowController$3.class and b/bin/application/MainWindowController$3.class differ diff --git a/bin/application/MainWindowController$4.class b/bin/application/MainWindowController$4.class index 0fcbd8b..a569dc0 100644 Binary files a/bin/application/MainWindowController$4.class and b/bin/application/MainWindowController$4.class differ diff --git a/bin/application/MainWindowController$5.class b/bin/application/MainWindowController$5.class index e351c10..c8976b0 100644 Binary files a/bin/application/MainWindowController$5.class and b/bin/application/MainWindowController$5.class differ diff --git a/bin/application/MainWindowController$6.class b/bin/application/MainWindowController$6.class index e563d19..a27a451 100644 Binary files a/bin/application/MainWindowController$6.class and b/bin/application/MainWindowController$6.class differ diff --git a/bin/application/MainWindowController$7.class b/bin/application/MainWindowController$7.class index b760c15..814c074 100644 Binary files a/bin/application/MainWindowController$7.class and b/bin/application/MainWindowController$7.class differ diff --git a/bin/application/MainWindowController.class b/bin/application/MainWindowController.class index 960b086..c3e361e 100644 Binary files a/bin/application/MainWindowController.class and b/bin/application/MainWindowController.class differ diff --git a/src/application/Main.java b/src/application/Main.java index 546de6a..84873a9 100644 --- a/src/application/Main.java +++ b/src/application/Main.java @@ -37,6 +37,8 @@ public class Main extends Application { Stage primaryStage; public MainWindowController mainWindowController; //TODO find a better way CloudController cloudController; + AnchorPane pane; + private Scene scene; private String dirWin = System.getProperty("user.home") + "/Documents/cemu_UI"; //Windows: C:/Users/"User"/Documents/HomeFlix private String dirLinux = System.getProperty("user.home") + "/cemu_UI"; //Linux: /home/"User"/HomeFlix private String gamesDBdownloadURL = "https://github.com/Seil0/cemu_UI/raw/master/downloadContent/games.db"; @@ -58,7 +60,7 @@ public class Main extends Application { private void mainWindow(){ try { FXMLLoader loader = new FXMLLoader(Main.class.getResource("MainWindow.fxml")); - AnchorPane pane = loader.load(); + pane = loader.load(); primaryStage.setResizable(false); primaryStage.setTitle("cemu_UI"); // primaryStage.getIcons().add(new Image(Main.class.getResourceAsStream("/resources/Homeflix_Icon_64x64.png"))); //adds application icon @@ -129,7 +131,7 @@ public class Main extends Application { mainWindowController.initActions(); mainWindowController.initUI(); - Scene scene = new Scene(pane); //create new scene, append pane to scene + scene = new Scene(pane); //create new scene, append pane to scene scene.getStylesheets().add(Main.class.getResource("MainWindows.css").toExternalForm()); primaryStage.setScene(scene); //append scene to stage primaryStage.show(); //show stage diff --git a/src/application/MainWindowController.java b/src/application/MainWindowController.java index 429d987..e206102 100644 --- a/src/application/MainWindowController.java +++ b/src/application/MainWindowController.java @@ -46,6 +46,8 @@ import com.github.junrar.impl.FileVolumeManager; import com.github.junrar.rarfile.FileHeader; import com.jfoenix.controls.JFXButton; import com.jfoenix.controls.JFXColorPicker; +import com.jfoenix.controls.JFXDialog; +import com.jfoenix.controls.JFXDialogLayout; import com.jfoenix.controls.JFXHamburger; import com.jfoenix.controls.JFXTextField; import com.jfoenix.controls.JFXToggleButton; @@ -82,6 +84,7 @@ import javafx.scene.input.MouseButton; import javafx.scene.input.MouseEvent; import javafx.scene.layout.AnchorPane; import javafx.scene.layout.HBox; +import javafx.scene.layout.StackPane; import javafx.scene.layout.VBox; import javafx.scene.paint.Color; import javafx.scene.paint.Paint; @@ -212,6 +215,7 @@ public class MainWindowController { private String selectedGameTitleID; private String selectedGameTitle; private String color; + private String dialogBtnStyle; private String version = "0.1.6"; private String buildNumber = "027"; private String versionName = "Throwback Galaxy"; @@ -572,13 +576,29 @@ public class MainWindowController { } @FXML - void aboutBtnAction(){ - Alert alert = new Alert(AlertType.INFORMATION); - alert.setTitle("about"); - alert.setHeaderText("cemu_UI"); - alert.setContentText("cemu_UI by @Seil0 \nVersion: "+version+" ("+buildNumber+") \""+versionName+"\" \nwww.kellerkinder.xyz"); - alert.initOwner(main.primaryStage); - alert.showAndWait(); + void aboutBtnAction(){ + JFXDialogLayout content= new JFXDialogLayout(); + content.setHeading(new Text("cemu_UI")); + content.setBody(new Text("cemu_UI by @Seil0 \nVersion: "+version+" ("+buildNumber+") \""+versionName+"\" \nThis Application is made with free Software\nwww.kellerkinder.xyz")); + content.setPrefSize(350, 170); + StackPane stackPane = new StackPane(); + stackPane.autosize(); + JFXDialog dialog =new JFXDialog(stackPane, content, JFXDialog.DialogTransition.LEFT, true); + JFXButton button=new JFXButton("Okay"); + button.setOnAction(new EventHandler(){ + @Override + public void handle(ActionEvent event){ + dialog.close(); + } + }); + button.setButtonType(com.jfoenix.controls.JFXButton.ButtonType.RAISED); + button.setPrefHeight(32); + button.setStyle(dialogBtnStyle); + content.setActions(button); + main.pane.getChildren().add(stackPane); + AnchorPane.setTopAnchor(stackPane, (main.pane.getHeight()-content.getPrefHeight())/2); + AnchorPane.setLeftAnchor(stackPane, (main.pane.getWidth()-content.getPrefWidth())/2); + dialog.show(); } @FXML @@ -778,24 +798,49 @@ public class MainWindowController { if(cloudSync) { cloudSync = false; } else { - Alert cloudWarningAlert = new Alert(AlertType.CONFIRMATION); //new alert with file-chooser - cloudWarningAlert.setTitle("cemu_UI"); - cloudWarningAlert.setHeaderText("activate cloud savegame sync (beta)"); - cloudWarningAlert.setContentText("You just activate the cloud savegame sync function of cemu_UI which is currently in beta. Are you sure you want to do this?"); - cloudWarningAlert.initOwner(main.primaryStage); - Optional coverResult = cloudWarningAlert.showAndWait(); - if (coverResult.get() == ButtonType.OK){ - cloudSync = true; - //TODO rework for other cloud services - cloudService = "GoogleDrive"; - main.cloudController.initializeConnection(getCloudService(), getCemuPath()); - main.cloudController.sync(getCloudService(), getCemuPath()); - } else { - cloudSyncToggleBtn.setSelected(false); - } - + + JFXDialogLayout content= new JFXDialogLayout(); + content.setHeading(new Text("activate cloud savegame sync (beta)")); + content.setBody(new Text("You just activate the cloud savegame sync function of cemu_UI, \nwhich is currently in beta. Are you sure you want to do this?")); + StackPane stackPane = new StackPane(); + stackPane.autosize(); + JFXDialog dialog = new JFXDialog(stackPane, content, JFXDialog.DialogTransition.LEFT, true); + JFXButton okayBtn = new JFXButton("Okay"); + okayBtn.setOnAction(new EventHandler(){ + @Override + public void handle(ActionEvent event){ + cloudSync = true; + //TODO rework for other cloud services + cloudService = "GoogleDrive"; + main.cloudController.initializeConnection(getCloudService(), getCemuPath()); + main.cloudController.sync(getCloudService(), getCemuPath()); + saveSettings(); + dialog.close(); + } + }); + JFXButton cancelBtn = new JFXButton("Cancel"); + cancelBtn.setOnAction(new EventHandler(){ + @Override + public void handle(ActionEvent event){ + cloudSyncToggleBtn.setSelected(false); + dialog.close(); + } + }); + Label placeholder = new Label(); + placeholder.setPrefSize(15, 10); + okayBtn.setButtonType(com.jfoenix.controls.JFXButton.ButtonType.RAISED); + cancelBtn.setButtonType(com.jfoenix.controls.JFXButton.ButtonType.RAISED); + okayBtn.setPrefHeight(32); + cancelBtn.setPrefHeight(32); + okayBtn.setStyle(dialogBtnStyle); + cancelBtn.setStyle(dialogBtnStyle); + content.setActions(cancelBtn, placeholder, okayBtn); + content.setPrefSize(419, 140); + main.pane.getChildren().add(stackPane); + AnchorPane.setTopAnchor(stackPane, (main.pane.getHeight()-content.getPrefHeight())/2); + AnchorPane.setLeftAnchor(stackPane, (main.pane.getWidth()-content.getPrefWidth())/2); + dialog.show(); } - saveSettings(); } @FXML @@ -1125,6 +1170,8 @@ public class MainWindowController { romTextField.setFocusColor(Color.valueOf(getColor())); if(icolor.compareTo(ccolor) == -1){ + dialogBtnStyle = btnStyleWhite; + aboutBtn.setStyle("-fx-text-fill: WHITE;"); settingsBtn.setStyle("-fx-text-fill: WHITE;"); addBtn.setStyle("-fx-text-fill: WHITE;"); @@ -1144,6 +1191,8 @@ public class MainWindowController { menuHam.getStyleClass().add("jfx-hamburgerW"); }else{ + dialogBtnStyle = btnStyleBlack; + aboutBtn.setStyle("-fx-text-fill: BLACK;"); settingsBtn.setStyle("-fx-text-fill: BLACK;"); addBtn.setStyle("-fx-text-fill: BLACK;");