added ability to edit launch command, WIP
WARNING THIS IS NOT TESTED
This commit is contained in:
		| @ -18,7 +18,7 @@ | ||||
| 		</attributes> | ||||
| 	</classpathentry> | ||||
| 	<classpathentry kind="src" path="src/test/main"/> | ||||
| 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"> | ||||
| 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-9"> | ||||
| 		<attributes> | ||||
| 			<attribute name="maven.pomderived" value="true"/> | ||||
| 		</attributes> | ||||
|  | ||||
| @ -1,13 +1,13 @@ | ||||
| eclipse.preferences.version=1 | ||||
| org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled | ||||
| org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate | ||||
| org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 | ||||
| org.eclipse.jdt.core.compiler.codegen.targetPlatform=9 | ||||
| org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve | ||||
| org.eclipse.jdt.core.compiler.compliance=1.8 | ||||
| org.eclipse.jdt.core.compiler.compliance=9 | ||||
| org.eclipse.jdt.core.compiler.debug.lineNumber=generate | ||||
| org.eclipse.jdt.core.compiler.debug.localVariable=generate | ||||
| org.eclipse.jdt.core.compiler.debug.sourceFile=generate | ||||
| org.eclipse.jdt.core.compiler.problem.assertIdentifier=error | ||||
| org.eclipse.jdt.core.compiler.problem.enumIdentifier=error | ||||
| org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning | ||||
| org.eclipse.jdt.core.compiler.source=1.8 | ||||
| org.eclipse.jdt.core.compiler.source=9 | ||||
|  | ||||
| @ -141,6 +141,7 @@ public class Main extends Application { | ||||
| 				mainWindowController.setLanguage("en_US"); | ||||
| 				mainWindowController.setLastLocalSync(0); | ||||
| 				mainWindowController.setxPosHelper(0); | ||||
| 				mainWindowController.setExecuteCommand(mainWindowController.getCemuPath() + "/Cemu.exe -g "); | ||||
| 				mainWindowController.saveSettings(); | ||||
| 				Runtime.getRuntime().exec("java -jar cemu_UI.jar");	//start again (preventing Bugs) | ||||
| 				System.exit(0);	//finishes itself | ||||
| @ -212,11 +213,10 @@ public class Main extends Application { | ||||
| 		Optional<ButtonType> result2 = alert2.showAndWait(); | ||||
| 		if (result2.get() == ButtonType.OK) { | ||||
| 			DirectoryChooser directoryChooser = new DirectoryChooser(); | ||||
|             File selectedDirectory = directoryChooser.showDialog(primaryStage); | ||||
|                 mainWindowController.setRomPath(selectedDirectory.getAbsolutePath()); | ||||
|              | ||||
| 			File selectedDirectory = directoryChooser.showDialog(primaryStage); | ||||
| 			mainWindowController.setRomDirectoryPath(selectedDirectory.getAbsolutePath()); | ||||
| 		} else { | ||||
| 			mainWindowController.setRomPath(null); | ||||
| 			mainWindowController.setRomDirectoryPath(null); | ||||
| 		} | ||||
| 	} | ||||
| 	 | ||||
|  | ||||
| @ -157,6 +157,9 @@ public class MainWindowController { | ||||
| 	 | ||||
| 	@FXML | ||||
| 	private JFXTextField courseSearchTextFiled; | ||||
| 	 | ||||
| 	@FXML | ||||
| 	private JFXTextField executeCommandTextFiled; | ||||
|  | ||||
| 	@FXML | ||||
| 	private TextFlow smmdbTextFlow; | ||||
| @ -279,8 +282,9 @@ public class MainWindowController { | ||||
| 	private boolean cloudSync; | ||||
| 	private String cloudService = ""; // set cloud provider (at the moment only GoogleDrive, Dropbox is planed) | ||||
| 	private String cemuPath; | ||||
| 	private String romPath; | ||||
| 	private String romDirectoryPath; | ||||
| 	private String gameExecutePath; | ||||
| 	private String executeCommand; | ||||
| 	private String color; | ||||
| 	private String dialogBtnStyle; | ||||
| 	private String selectedGameTitleID; | ||||
| @ -399,7 +403,8 @@ public class MainWindowController { | ||||
| 		} | ||||
| 		 | ||||
| 		cemuTextField.setText(cemuPath); | ||||
| 		romTextField.setText(romPath); | ||||
| 		romTextField.setText(romDirectoryPath); | ||||
| 		executeCommandTextFiled.setText(getExecuteCommand()); | ||||
| 		colorPicker.setValue(Color.valueOf(getColor())); | ||||
| 		fullscreenToggleBtn.setSelected(isFullscreen()); | ||||
| 		cloudSyncToggleBtn.setSelected(isCloudSync()); | ||||
| @ -800,6 +805,30 @@ public class MainWindowController { | ||||
| 		        } | ||||
| 		    } | ||||
| 		}); | ||||
|          | ||||
|         cemuTextField.textProperty().addListener(new ChangeListener<String>() { | ||||
| 			@Override | ||||
| 			public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) { | ||||
| 				setCemuPath(cemuTextField.getText()); | ||||
| 	    		saveSettings(); | ||||
| 			} | ||||
| 		}); | ||||
|          | ||||
|         romTextField.textProperty().addListener(new ChangeListener<String>() { | ||||
| 			@Override | ||||
| 			public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) { | ||||
| 				setRomDirectoryPath(romTextField.getText()); | ||||
| 	    		saveSettings(); | ||||
| 			} | ||||
| 		}); | ||||
|          | ||||
|         executeCommandTextFiled.textProperty().addListener(new ChangeListener<String>() { | ||||
| 			@Override | ||||
| 			public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) { | ||||
| 				setExecuteCommand(executeCommandTextFiled.getText()); | ||||
| 	    		saveSettings(); | ||||
| 			} | ||||
| 		}); | ||||
|  | ||||
| 		LOGGER.info("initializing Actions done!"); | ||||
| 	} | ||||
| @ -846,7 +875,7 @@ public class MainWindowController { | ||||
|     	Thread thread = new Thread(new Runnable() { | ||||
| 			@Override | ||||
| 			public void run() { | ||||
| 				dbController.loadRomDirectory(getRomPath()); // reload the rom directory | ||||
| 				dbController.loadRomDirectory(getRomDirectoryPath()); // reload the rom directory | ||||
| 				 | ||||
| 				Platform.runLater(() -> { | ||||
| 					refreshUIData(); // refresh the list of games displayed on screen | ||||
| @ -938,7 +967,7 @@ public class MainWindowController { | ||||
| 		if (romDirectory == null) { | ||||
| 			LOGGER.info("No Directory selected"); | ||||
| 		} else { | ||||
| 			setRomPath(romDirectory.getAbsolutePath()); | ||||
| 			setRomDirectoryPath(romDirectory.getAbsolutePath()); | ||||
| 			saveSettings(); | ||||
| 			cemuTextField.setText(getCemuPath()); | ||||
| 			try { | ||||
| @ -1041,24 +1070,16 @@ public class MainWindowController { | ||||
| 		} | ||||
|     } | ||||
|      | ||||
| 	@FXML | ||||
| 	void cemuTextFieldAction(ActionEvent event) { | ||||
| 		setCemuPath(cemuTextField.getText()); | ||||
| 		saveSettings(); | ||||
| 	} | ||||
|      | ||||
| 	@FXML | ||||
| 	void romTextFieldAction(ActionEvent event) { | ||||
| 		setRomPath(romTextField.getText()); | ||||
| 		saveSettings(); | ||||
| 	} | ||||
|      | ||||
| 	@FXML | ||||
| 	void fullscreenToggleBtnAction(ActionEvent event) { | ||||
| 		if (fullscreen) { | ||||
| 			fullscreen = false; | ||||
| 			setExecuteCommand(getExecuteCommand().replace("-f -g", "-g")); | ||||
| 			executeCommandTextFiled.setText(getExecuteCommand()); | ||||
| 		} else { | ||||
| 			fullscreen = true; | ||||
| 			setExecuteCommand(getExecuteCommand().replace("-g", "-f -g")); | ||||
| 			executeCommandTextFiled.setText(getExecuteCommand()); | ||||
| 		} | ||||
| 		saveSettings(); | ||||
| 	} | ||||
| @ -1638,7 +1659,8 @@ public class MainWindowController { | ||||
|     	OutputStream outputStream;	//new output-stream | ||||
|     	try { | ||||
|     		props.setProperty("cemuPath", getCemuPath()); | ||||
| 			props.setProperty("romPath", getRomPath()); | ||||
| 			props.setProperty("romPath", getRomDirectoryPath()); | ||||
| 			props.setProperty("executeCommand", getExecuteCommand()); | ||||
| 			props.setProperty("color", getColor()); | ||||
| 			props.setProperty("language", getLanguage()); | ||||
| 			props.setProperty("fullscreen", String.valueOf(isFullscreen())); | ||||
| @ -1690,10 +1712,17 @@ public class MainWindowController { | ||||
| 			} | ||||
| 			 | ||||
| 			try { | ||||
| 				setRomPath(props.getProperty("romPath")); | ||||
| 				setRomDirectoryPath(props.getProperty("romPath")); | ||||
| 			} catch (Exception e) { | ||||
| 				LOGGER.error("could not load romPath", e); | ||||
| 				setRomPath(""); | ||||
| 				setRomDirectoryPath(""); | ||||
| 			} | ||||
| 			 | ||||
| 			if (props.getProperty("executeCommand") == null) { | ||||
| 				LOGGER.error("could not load executeCommand, setting default instead!"); | ||||
| 				setExecuteCommand(getCemuPath() + "\\Cemu.exe -g "); | ||||
| 			} else { | ||||
| 				setExecuteCommand(props.getProperty("executeCommand")); | ||||
| 			} | ||||
| 			 | ||||
| 			try { | ||||
| @ -1862,14 +1891,22 @@ public class MainWindowController { | ||||
| 		this.cemuPath = cemuPath; | ||||
| 	} | ||||
| 	 | ||||
| 	public String getRomPath() { | ||||
| 		return romPath; | ||||
| 	public String getRomDirectoryPath() { | ||||
| 		return romDirectoryPath; | ||||
| 	} | ||||
|  | ||||
| 	public void setRomPath(String romPath) { | ||||
| 		this.romPath = romPath; | ||||
| 	public void setRomDirectoryPath(String romDirectoryPath) { | ||||
| 		this.romDirectoryPath = romDirectoryPath; | ||||
| 	} | ||||
| 	 | ||||
| 	public String getExecuteCommand() { | ||||
| 		return executeCommand; | ||||
| 	} | ||||
|  | ||||
| 	public void setExecuteCommand(String executeCommand) { | ||||
| 		this.executeCommand = executeCommand; | ||||
| 	} | ||||
|  | ||||
| 	public String getColor() { | ||||
| 		return color; | ||||
| 	} | ||||
|  | ||||
| @ -57,19 +57,22 @@ public class playGame extends Thread{ | ||||
| 		}); | ||||
|     	startTime = System.currentTimeMillis(); | ||||
| 		try{ | ||||
| 			if(mainWindowController.isFullscreen()){ | ||||
| 				if(System.getProperty("os.name").equals("Linux")){ | ||||
| 					executeComand = "wine "+mainWindowController.getCemuPath()+"/Cemu.exe -f -g \""+mainWindowController.getGameExecutePath()+"\""; | ||||
| 				} else { | ||||
| 					executeComand = mainWindowController.getCemuPath()+"\\Cemu.exe -f -g \""+mainWindowController.getGameExecutePath()+"\""; | ||||
| 				} | ||||
| 			}else{ | ||||
| 				if(System.getProperty("os.name").equals("Linux")){ | ||||
| 					executeComand = "wine "+mainWindowController.getCemuPath()+"/Cemu.exe -g \""+mainWindowController.getGameExecutePath()+"\""; | ||||
| 				} else { | ||||
| 					executeComand = mainWindowController.getCemuPath()+"\\Cemu.exe -g \""+mainWindowController.getGameExecutePath()+"\""; | ||||
| 				} | ||||
| 			} | ||||
| 			executeComand = mainWindowController.getExecuteCommand() + " \"" + mainWindowController.getGameExecutePath() + "\""; | ||||
| 			 | ||||
| //			if(mainWindowController.isFullscreen()){ | ||||
| //				if(System.getProperty("os.name").equals("Linux")){ | ||||
| //					executeComand = "wine "+mainWindowController.getCemuPath()+"/Cemu.exe -f -g \""+mainWindowController.getGameExecutePath()+"\""; | ||||
| //				} else { | ||||
| //					executeComand = mainWindowController.getCemuPath()+"\\Cemu.exe -f -g \""+mainWindowController.getGameExecutePath()+"\""; | ||||
| //				} | ||||
| //			}else{ | ||||
| //				if(System.getProperty("os.name").equals("Linux")){ | ||||
| //					executeComand = "wine "+mainWindowController.getCemuPath()+"/Cemu.exe -g \""+mainWindowController.getGameExecutePath()+"\""; | ||||
| //				} else { | ||||
| //					executeComand = mainWindowController.getCemuPath() + "\\Cemu.exe -g " + "\"" + mainWindowController.getGameExecutePath() + "\""; | ||||
| //				} | ||||
| //			} | ||||
| 			 | ||||
| 			LOGGER.info(executeComand); | ||||
| 			 | ||||
| 			p = Runtime.getRuntime().exec(executeComand); | ||||
|  | ||||
| @ -149,7 +149,7 @@ public class DBController { | ||||
| 			LOGGER.error("error while loading ROMs from ROM database, local_roms table", e); | ||||
| 		} | ||||
| 		if (entries.size() == 0) { | ||||
| 			loadRomDirectory(mainWindowController.getRomPath()); | ||||
| 			loadRomDirectory(mainWindowController.getRomDirectoryPath()); | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
|  | ||||
| @ -18,7 +18,7 @@ | ||||
| <?import javafx.scene.text.Font?> | ||||
| <?import javafx.scene.text.TextFlow?> | ||||
|  | ||||
| <AnchorPane fx:id="mainAnchorPane" prefHeight="600.0" prefWidth="904.0" xmlns="http://javafx.com/javafx/8.0.141" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.cemu_UI.application.MainWindowController"> | ||||
| <AnchorPane fx:id="mainAnchorPane" prefHeight="600.0" prefWidth="904.0" xmlns="http://javafx.com/javafx/9" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.cemu_UI.application.MainWindowController"> | ||||
|    <children> | ||||
|       <ScrollPane fx:id="mainScrollPane" fitToWidth="true" layoutY="38.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="38.0"> | ||||
|          <content> | ||||
| @ -91,12 +91,12 @@ | ||||
|                                     <Insets left="-14.0" /> | ||||
|                                  </padding> | ||||
|                               </VBox> | ||||
|                               <VBox spacing="10.0"> | ||||
|                               <VBox spacing="7.0"> | ||||
|                                  <children> | ||||
|                                     <Label fx:id="cemuDirectoryLbl" text="Cemu Directory" /> | ||||
|                                     <HBox spacing="10.0"> | ||||
|                                        <children> | ||||
|                                           <JFXTextField fx:id="cemuTextField" maxWidth="305.0" minWidth="305.0" onAction="#cemuTextFieldAction" prefHeight="32.0" prefWidth="305.0" promptText="cemu directory" /> | ||||
|                                           <JFXTextField fx:id="cemuTextField" maxWidth="305.0" minWidth="305.0" prefHeight="32.0" prefWidth="305.0" promptText="cemu directory" /> | ||||
|                                           <JFXButton fx:id="cemuTFBtn" onAction="#cemuTFBtnAction" prefHeight="32.0" text="choose directory" /> | ||||
|                                        </children> | ||||
|                                     </HBox> | ||||
| @ -105,12 +105,12 @@ | ||||
|                                     <Insets right="5.0" /> | ||||
|                                  </padding> | ||||
|                               </VBox> | ||||
|                               <VBox spacing="10.0"> | ||||
|                               <VBox spacing="7.0"> | ||||
|                                  <children> | ||||
|                                     <Label fx:id="romDirectoryLbl" text="Rom Directory" /> | ||||
|                                     <HBox spacing="10.0"> | ||||
|                                        <children> | ||||
|                                           <JFXTextField fx:id="romTextField" maxWidth="305.0" minWidth="305.0" onAction="#romTextFieldAction" prefHeight="32.0" prefWidth="305.0" promptText="rom directory" /> | ||||
|                                           <JFXTextField fx:id="romTextField" maxWidth="305.0" minWidth="305.0" prefHeight="32.0" prefWidth="305.0" promptText="rom directory" /> | ||||
|                                           <JFXButton fx:id="romTFBtn" onAction="#romTFBtnAction" prefHeight="32.0" text="choose directory" /> | ||||
|                                        </children> | ||||
|                                     </HBox> | ||||
| @ -170,6 +170,15 @@ | ||||
|                                  <VBox.margin> | ||||
|                                     <Insets top="-10.0" /> | ||||
|                                  </VBox.margin></JFXToggleButton> | ||||
|                               <VBox prefHeight="200.0" prefWidth="100.0" spacing="7.0"> | ||||
|                                  <children> | ||||
|                                     <Label fx:id="cemuDirectoryLbl1" text="execute command" /> | ||||
|                                     <JFXTextField fx:id="executeCommandTextFiled" maxWidth="430.0" minWidth="430.0" prefHeight="25.0" prefWidth="430.0" promptText="execute command" /> | ||||
|                                  </children> | ||||
|                                  <padding> | ||||
|                                     <Insets right="5.0" /> | ||||
|                                  </padding> | ||||
|                               </VBox> | ||||
|                               <Label fx:id="licensesLbl" text="Licenses" /> | ||||
|                            </children> | ||||
|                            <padding> | ||||
|  | ||||
		Reference in New Issue
	
	Block a user