Skip to content

Commit 4ca4ea2

Browse files
committed
v2.44 Update title of "REDUCE Packages Directory" chooser. Tidy some REDUCEConfigDialog code. Make file and directory chooser dialogues movable independently of the main window on Linux by setting the ownerWindow to null. This seems to have no other effect, and no effect at all on Microsoft Windows. Ditto other dialogues and alerts.
1 parent e5f2ab7 commit 4ca4ea2

4 files changed

Lines changed: 15 additions & 18 deletions

File tree

src/fjwright/runreduce/REDUCEConfigDialog.fxml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@
5959
<Tooltip text="A directory containing the standard REDUCE packages: alg, algint, arith, etc."/>
6060
</tooltip>
6161
</TextField>
62-
<Button mnemonicParsing="false" onAction="#packagesRootDirDCButtonAction" text="..." GridPane.columnIndex="2"
62+
<Button mnemonicParsing="false" onAction="#packagesDirDCButtonAction" text="..." GridPane.columnIndex="2"
6363
GridPane.rowIndex="2"/>
6464
<Label text="REDUCE Manual Directory" GridPane.rowIndex="3"/>
6565
<TextField fx:id="manualDirTextField" promptText="Optional" GridPane.columnIndex="1" GridPane.rowIndex="3">

src/fjwright/runreduce/REDUCEConfigDialog.java

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -293,14 +293,16 @@ private void commandNameTextFieldAction() {
293293
listViewObservableList.set(selectedIndex, text);
294294
}
295295

296+
// Code for the [...] butttons: directory and file choosers =======================================
297+
296298
/**
297299
* Code run by the directory chooser (DC) buttons.
298300
*/
299301
private void dcButtonAction(String title, String defaultDir, TextField textField) {
300302
DirectoryChooser directoryChooser = new DirectoryChooser();
301303
directoryChooser.setTitle(title);
302304
directoryChooser.setInitialDirectory(new File(defaultDir));
303-
File dir = directoryChooser.showDialog(RunREDUCE.primaryStage);
305+
File dir = directoryChooser.showDialog(null);
304306
if (dir != null) textField.setText(dir.toString());
305307
}
306308

@@ -312,8 +314,8 @@ private void reduceRootDirDCButtonAction() {
312314
}
313315

314316
@FXML
315-
private void packagesRootDirDCButtonAction() {
316-
dcButtonAction("Packages Root Directory",
317+
private void packagesDirDCButtonAction() {
318+
dcButtonAction("REDUCE Packages Directory",
317319
RunREDUCE.reduceConfigurationDefault.packagesDir,
318320
packagesDirTextField);
319321
}
@@ -370,11 +372,11 @@ private void commandRootDirDCButtonAction() {
370372
private void fcButtonAction(String title, TextField textField) {
371373
FileChooser fileChooser = new FileChooser();
372374
fileChooser.setTitle(title);
373-
String commandRootDir = commandRootDirTextField.getText();
374-
String defaultDir = !commandRootDir.isEmpty() ? commandRootDir :
375-
RunREDUCE.reduceConfigurationDefault.reduceRootDir;
375+
String defaultDir = commandRootDirTextField.getText().trim();
376+
if (defaultDir.isEmpty())
377+
defaultDir = RunREDUCE.reduceConfigurationDefault.reduceRootDir;
376378
fileChooser.setInitialDirectory(new File(defaultDir));
377-
File file = fileChooser.showOpenDialog(RunREDUCE.primaryStage);
379+
File file = fileChooser.showOpenDialog(null);
378380
if (file != null) textField.setText(file.toString());
379381
}
380382

src/fjwright/runreduce/RunREDUCE.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@
3535
*/
3636
public class RunREDUCE extends Application {
3737
static RunREDUCEFrame runREDUCEFrame;
38-
static Stage primaryStage;
3938
static String reduceFontFamilyName;
4039
static SplitPane splitPane;
4140
static TabPane tabPane;
@@ -57,7 +56,6 @@ public class RunREDUCE extends Application {
5756

5857
@Override
5958
public void start(Stage primaryStage) throws Exception {
60-
RunREDUCE.primaryStage = primaryStage;
6159
FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("RunREDUCEFrame.fxml"));
6260
Parent root = fxmlLoader.load();
6361
runREDUCEFrame = fxmlLoader.getController();
@@ -197,7 +195,6 @@ private static void tabOnClosed(Event event) {
197195
public static void alert(Alert.AlertType alertType, String headerText, String contentText, String... title) {
198196
Alert alert = new Alert(alertType);
199197
alert.getDialogPane().setMinHeight(Region.USE_PREF_SIZE);
200-
alert.initOwner(primaryStage);
201198
alert.setHeaderText(headerText);
202199
alert.setContentText(contentText);
203200
if (title.length > 0) alert.setTitle(title[0]);

src/fjwright/runreduce/RunREDUCEFrame.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,7 @@ private void inputPackageFileMenuItemAction() {
217217

218218
private void inputFile(boolean saveDir) {
219219
fileChooser.getExtensionFilters().setAll(INPUT_FILE_FILTER, TEXT_FILE_FILTER, ALL_FILE_FILTER);
220-
List<File> fileList = fileChooser.showOpenMultipleDialog(RunREDUCE.primaryStage);
220+
List<File> fileList = fileChooser.showOpenMultipleDialog(null);
221221
if (fileList != null) {
222222
StringBuilder text = new StringBuilder("in \"");
223223
text.append(fileList.get(0).toString()); // first file
@@ -236,7 +236,7 @@ private void inputFile(boolean saveDir) {
236236
private void outputNewFileMenuItemAction() {
237237
fileChooser.setTitle("Output to File...");
238238
fileChooser.getExtensionFilters().setAll(LOG_FILE_FILTER, TEXT_FILE_FILTER, ALL_FILE_FILTER);
239-
File file = fileChooser.showSaveDialog(RunREDUCE.primaryStage);
239+
File file = fileChooser.showSaveDialog(null);
240240
if (file != null) {
241241
RunREDUCE.reducePanel.sendStringToREDUCEAndEcho("out \"" + file.toString() + "\"$\n");
242242
RunREDUCE.reducePanel.outputFileList.remove(file); // in case it was already open
@@ -253,7 +253,6 @@ private void outputOpenFileMenuItemAction() {
253253
// Select output file to shut:
254254
ChoiceDialog<File> choiceDialog = new ChoiceDialog<>(RunREDUCE.reducePanel.outputFileList.get(0),
255255
RunREDUCE.reducePanel.outputFileList);
256-
choiceDialog.initOwner(RunREDUCE.primaryStage);
257256
Optional<File> result = choiceDialog.showAndWait();
258257
if (result.isPresent()) {
259258
File file = result.get();
@@ -333,10 +332,10 @@ private void saveLog(boolean append, boolean raw) {
333332
File file;
334333
if (append && !raw) {
335334
fileChooser.setTitle("Append Session Log...");
336-
file = fileChooser.showOpenDialog(RunREDUCE.primaryStage);
335+
file = fileChooser.showOpenDialog(null);
337336
} else {
338337
fileChooser.setTitle(raw ? "Save Raw Session Log as HTML..." : "Save Session Log...");
339-
file = fileChooser.showSaveDialog(RunREDUCE.primaryStage);
338+
file = fileChooser.showSaveDialog(null);
340339
}
341340
if (file != null) {
342341
try (Writer out = new BufferedWriter(new FileWriter(file, append))) {
@@ -661,7 +660,7 @@ private void sourceForgeMenuItemAction() {
661660
RunREDUCE.hostServices.showDocument("https://sourceforge.net/projects/reduce-algebra/");
662661
}
663662

664-
static final String VERSION = "2.43";
663+
static final String VERSION = "2.44";
665664

666665
@FXML
667666
private void aboutMenuItemAction() {
@@ -702,7 +701,6 @@ void showDialogAndWait(String dialogTitle, String fxmlFileName, Modality... moda
702701
} else {
703702
stage.initModality(modality[0]);
704703
}
705-
stage.initOwner(RunREDUCE.primaryStage);
706704
stage.setTitle(dialogTitle);
707705
stage.setScene(new Scene(root));
708706
stage.showAndWait();

0 commit comments

Comments
 (0)