Change Folder to Directory once again
This commit is contained in:
parent
66313d9461
commit
0793287044
@ -100,7 +100,7 @@ public class MenubarController implements Initializable, Controller {
|
|||||||
Stage stage = (Stage) menubar.getScene().getWindow();
|
Stage stage = (Stage) menubar.getScene().getWindow();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
File dir = FileOperations.openFolderWithDialog(stage);
|
File dir = FileOperations.openDirectoryWithDialog(stage);
|
||||||
|
|
||||||
this.eventBus.post(new OpenProjectEvent(Optional.of(dir.toPath())));
|
this.eventBus.post(new OpenProjectEvent(Optional.of(dir.toPath())));
|
||||||
} catch (FileNotFoundException e) {}
|
} catch (FileNotFoundException e) {}
|
||||||
|
@ -53,13 +53,21 @@ public class DialogBoxes {
|
|||||||
*
|
*
|
||||||
* @return The file chosen through the dialog window
|
* @return The file chosen through the dialog window
|
||||||
*/
|
*/
|
||||||
public static File showOpenFolderWithDialog(Stage stage) {
|
public static File showOpenDirectoryWithDialog(Stage stage) {
|
||||||
dc.setTitle("Open Project");
|
dc.setTitle("Open Project");
|
||||||
File dir = dc.showDialog(stage);
|
File dir = dc.showDialog(stage);
|
||||||
|
|
||||||
return dir;
|
return dir;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Shows an OS specific file chooser to specifyy a new path on the disk
|
||||||
|
*
|
||||||
|
* @param stage The JavaFX stage to connect to the dialog box. This is needed
|
||||||
|
* for the window to be able to run on the JavaFX thread.
|
||||||
|
*
|
||||||
|
* @return The filepath chosen through the dialog window
|
||||||
|
*/
|
||||||
public static File showSaveFileWithDialog(Stage stage) {
|
public static File showSaveFileWithDialog(Stage stage) {
|
||||||
FileChooser fc = new FileChooser();
|
FileChooser fc = new FileChooser();
|
||||||
fc.setTitle("Save as");
|
fc.setTitle("Save as");
|
||||||
|
@ -15,9 +15,13 @@ public class FileOperations {
|
|||||||
|
|
||||||
private FileOperations() {}
|
private FileOperations() {}
|
||||||
|
|
||||||
// TODO: Needs documentation and cleanup
|
/**
|
||||||
// TODO: This class needs to be extensively error checked
|
* A function to get a file through a dialog
|
||||||
|
*
|
||||||
|
* @param stage A JavaFX stage is required to show the dialog
|
||||||
|
* @return The chosen file
|
||||||
|
* @throws FileNotFoundException
|
||||||
|
*/
|
||||||
public static File openFileWithDialog(Stage stage) throws FileNotFoundException {
|
public static File openFileWithDialog(Stage stage) throws FileNotFoundException {
|
||||||
File chosenFile = DialogBoxes.showopenFileWithDialog(stage);
|
File chosenFile = DialogBoxes.showopenFileWithDialog(stage);
|
||||||
|
|
||||||
@ -28,8 +32,15 @@ public class FileOperations {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static File openFolderWithDialog(Stage stage) throws FileNotFoundException {
|
/**
|
||||||
File dir = DialogBoxes.showOpenFolderWithDialog(stage);
|
* A function to get a file through a dialog
|
||||||
|
*
|
||||||
|
* @param stage A JavaFX stage is required to show the dialog
|
||||||
|
* @return The chosen file
|
||||||
|
* @throws FileNotFoundException
|
||||||
|
*/
|
||||||
|
public static File openDirectoryWithDialog(Stage stage) throws FileNotFoundException {
|
||||||
|
File dir = DialogBoxes.showOpenDirectoryWithDialog(stage);
|
||||||
|
|
||||||
if (dir == null)
|
if (dir == null)
|
||||||
throw new FileNotFoundException();
|
throw new FileNotFoundException();
|
||||||
|
@ -119,13 +119,13 @@ public class FiletreeOperations {
|
|||||||
.getProjectPath()
|
.getProjectPath()
|
||||||
.orElseThrow(() -> new IllegalStateException());
|
.orElseThrow(() -> new IllegalStateException());
|
||||||
|
|
||||||
final String rootFolderName =
|
final String rootDirName =
|
||||||
projectPath
|
projectPath
|
||||||
.getFileName()
|
.getFileName()
|
||||||
.toString();
|
.toString();
|
||||||
|
|
||||||
String path = "";
|
String path = "";
|
||||||
while (!rootFolderName.equals(item.getValue())) {
|
while (!rootDirName.equals(item.getValue())) {
|
||||||
path = File.separator + item.getValue() + path;
|
path = File.separator + item.getValue() + path;
|
||||||
item = item.getParent();
|
item = item.getParent();
|
||||||
if (item == null)
|
if (item == null)
|
||||||
|
@ -78,20 +78,20 @@ public class FileOperationsTest {
|
|||||||
|
|
||||||
|
|
||||||
// @Test
|
// @Test
|
||||||
// @DisplayName("Test openFolderWithDialog")
|
// @DisplayName("Test openDirectoryWithDialog")
|
||||||
// public void testOpenFolderWithDialog() {
|
// public void testOpenDirectoryWithDialog() {
|
||||||
// try (MockedStatic<DialogBoxes> mocked = mockStatic(DialogBoxes.class)) {
|
// try (MockedStatic<DialogBoxes> mocked = mockStatic(DialogBoxes.class)) {
|
||||||
// Stage stage = mock(Stage.class);
|
// Stage stage = mock(Stage.class);
|
||||||
|
|
||||||
// mocked.when(() -> DialogBoxes.showOpenFolderWithDialog(any()))
|
// mocked.when(() -> DialogBoxes.showOpenDirectoryWithDialog(any()))
|
||||||
// .thenReturn(null);
|
// .thenReturn(null);
|
||||||
// assertThrows(FileNotFoundException.class, () -> FileOperations.openFolderWithDialog(stage));
|
// assertThrows(FileNotFoundException.class, () -> FileOperations.openDirectoryWithDialog(stage));
|
||||||
|
|
||||||
// File file = mock(File.class);
|
// File file = mock(File.class);
|
||||||
// mocked.when(() -> DialogBoxes.showOpenFolderWithDialog(any()))
|
// mocked.when(() -> DialogBoxes.showOpenDirectoryWithDialog(any()))
|
||||||
// .thenReturn(file);
|
// .thenReturn(file);
|
||||||
// try {
|
// try {
|
||||||
// assertEquals(file, FileOperations.openFolderWithDialog(stage));
|
// assertEquals(file, FileOperations.openDirectoryWithDialog(stage));
|
||||||
// } catch (FileNotFoundException e) {
|
// } catch (FileNotFoundException e) {
|
||||||
// fail("Chosen file was null when it was expected to be mock file");
|
// fail("Chosen file was null when it was expected to be mock file");
|
||||||
// }
|
// }
|
||||||
|
Loading…
Reference in New Issue
Block a user