Skip to content

Commit 4cb3cbb

Browse files
committed
Resolve #79
1 parent 50e2b73 commit 4cb3cbb

File tree

5 files changed

+50
-24
lines changed

5 files changed

+50
-24
lines changed

src/main/java/nsusbloader/AppPreferences.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ public String getNetUsb(){
6161
public void setNsIp(String ip){preferences.put("NSIP", ip);}
6262
public String getNsIp(){return preferences.get("NSIP", "192.168.1.42");}
6363

64-
public String getRecent(){ return preferences.get("RECENT", System.getProperty("user.home")); }
64+
public String getRecent(){ return FilesHelper.getRealFolder(preferences.get("RECENT", System.getProperty("user.home"))); }
6565
public void setRecent(String path){ preferences.put("RECENT", path); }
6666
//------------ SETTINGS ------------------//
6767

@@ -124,12 +124,12 @@ public String getGlVersion(){
124124
public int getSplitMergeType(){ return preferences.getInt("SM_TYPE", 0); }
125125
public void setSplitMergeType(int value){ preferences.putInt("SM_TYPE", value); }
126126

127-
public String getSplitMergeRecent(){ return preferences.get("SM_RECENT", System.getProperty("user.home")); }
127+
public String getSplitMergeRecent(){ return FilesHelper.getRealFolder(preferences.get("SM_RECENT", System.getProperty("user.home"))); }
128128
public void setSplitMergeRecent(String value){ preferences.put("SM_RECENT", value); }
129129
// RCM //
130130
public String getRecentRcm(int num){ return preferences.get(String.format("RCM_%02d", num), ""); }
131131
public void setRecentRcm(int num, String value){ preferences.put(String.format("RCM_%02d", num), value); }
132132
// NXDT //
133-
public String getNXDTSaveToLocation(){ return preferences.get("nxdt_saveto", System.getProperty("user.home")); }
133+
public String getNXDTSaveToLocation(){ return FilesHelper.getRealFolder(preferences.get("nxdt_saveto", System.getProperty("user.home"))); }
134134
public void setNXDTSaveToLocation(String value){ preferences.put("nxdt_saveto", value); }
135135
}

src/main/java/nsusbloader/Controllers/FrontController.java

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
import nsusbloader.AppPreferences;
3333
import nsusbloader.COM.NET.NETCommunications;
3434
import nsusbloader.COM.USB.UsbCommunications;
35+
import nsusbloader.FilesHelper;
3536
import nsusbloader.MediatorControl;
3637
import nsusbloader.ModelControllers.CancellableRunnable;
3738
import nsusbloader.NSLDataTypes.EModule;
@@ -193,11 +194,7 @@ private void selectFilesBtnAction(){
193194
FileChooser fileChooser = new FileChooser();
194195
fileChooser.setTitle(resourceBundle.getString("btn_OpenFile"));
195196

196-
File validator = new File(previouslyOpenedPath);
197-
if (validator.exists() && validator.isDirectory())
198-
fileChooser.setInitialDirectory(validator);
199-
else
200-
fileChooser.setInitialDirectory(new File(System.getProperty("user.home")));
197+
fileChooser.setInitialDirectory(new File(FilesHelper.getRealFolder(previouslyOpenedPath)));
201198

202199
if (getSelectedProtocol().equals("TinFoil") && MediatorControl.getInstance().getContoller().getSettingsCtrlr().getTinfoilSettings().isXciNszXczSupport())
203200
fileChooser.getExtensionFilters().add(new FileChooser.ExtensionFilter("NSP/XCI/NSZ/XCZ", "*.nsp", "*.xci", "*.nsz", "*.xcz"));
@@ -223,11 +220,8 @@ private void selectSplitBtnAction(){
223220
DirectoryChooser dirChooser = new DirectoryChooser();
224221
dirChooser.setTitle(resourceBundle.getString("btn_OpenFile"));
225222

226-
File validator = new File(previouslyOpenedPath);
227-
if (validator.exists() && validator.isDirectory())
228-
dirChooser.setInitialDirectory(validator);
229-
else
230-
dirChooser.setInitialDirectory(new File(System.getProperty("user.home")));
223+
String saveToLocation = FilesHelper.getRealFolder(previouslyOpenedPath);
224+
dirChooser.setInitialDirectory(new File(saveToLocation));
231225

232226
splitFile = dirChooser.showDialog(usbNetPane.getScene().getWindow());
233227

src/main/java/nsusbloader/Controllers/NxdtController.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import javafx.scene.layout.Region;
2626
import javafx.stage.DirectoryChooser;
2727
import nsusbloader.AppPreferences;
28+
import nsusbloader.FilesHelper;
2829
import nsusbloader.MediatorControl;
2930
import nsusbloader.ModelControllers.CancellableRunnable;
3031
import nsusbloader.NSLDataTypes.EModule;
@@ -52,11 +53,8 @@ public class NxdtController implements Initializable {
5253
public void initialize(URL url, ResourceBundle resourceBundle) {
5354
this.rb = resourceBundle;
5455

55-
File saveToValidator = new File(AppPreferences.getInstance().getNXDTSaveToLocation());
56-
if (saveToValidator.exists())
57-
saveToLocationLbl.setText(saveToValidator.getAbsolutePath());
58-
else
59-
saveToLocationLbl.setText(System.getProperty("user.home"));
56+
String saveToLocation = AppPreferences.getInstance().getNXDTSaveToLocation();
57+
saveToLocationLbl.setText(saveToLocation);
6058

6159
btnDumpStopImage = new Region();
6260
btnDumpStopImage.getStyleClass().add("regionDump");

src/main/java/nsusbloader/Controllers/SplitMergeController.java

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020

2121
import javafx.fxml.FXML;
2222
import javafx.fxml.Initializable;
23-
import javafx.scene.Node;
2423
import javafx.scene.control.*;
2524
import javafx.scene.input.DragEvent;
2625
import javafx.scene.input.TransferMode;
@@ -29,6 +28,7 @@
2928
import javafx.stage.DirectoryChooser;
3029
import javafx.stage.FileChooser;
3130
import nsusbloader.AppPreferences;
31+
import nsusbloader.FilesHelper;
3232
import nsusbloader.MediatorControl;
3333
import nsusbloader.ModelControllers.CancellableRunnable;
3434
import nsusbloader.NSLDataTypes.EModule;
@@ -97,10 +97,13 @@ public void initialize(URL url, ResourceBundle resourceBundle) {
9797
saveToPathLbl.setText(AppPreferences.getInstance().getSplitMergeRecent());
9898

9999
changeSaveToBtn.setOnAction((actionEvent -> {
100-
DirectoryChooser dc = new DirectoryChooser();
101-
dc.setTitle(resourceBundle.getString("tabSplMrg_Btn_SelectFolder"));
102-
dc.setInitialDirectory(new File(saveToPathLbl.getText()));
103-
File saveToDir = dc.showDialog(changeSaveToBtn.getScene().getWindow());
100+
DirectoryChooser directoryChooser = new DirectoryChooser();
101+
directoryChooser.setTitle(resourceBundle.getString("tabSplMrg_Btn_SelectFolder"));
102+
103+
String saveToLocation = FilesHelper.getRealFolder(saveToPathLbl.getText());
104+
directoryChooser.setInitialDirectory(new File(saveToLocation));
105+
106+
File saveToDir = directoryChooser.showDialog(changeSaveToBtn.getScene().getWindow());
104107
if (saveToDir != null)
105108
saveToPathLbl.setText(saveToDir.getAbsolutePath());
106109
}));
@@ -227,7 +230,6 @@ private void handleDragOver(DragEvent event){
227230
* */
228231
@FXML
229232
private void handleDrop(DragEvent event) {
230-
Node sourceNode = (Node) event.getSource();
231233
File fileDrpd = event.getDragboard().getFiles().get(0);
232234

233235
if (fileDrpd.isDirectory())
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
/*
2+
Copyright 2019-2020 Dmitry Isaenko
3+
4+
This file is part of NS-USBloader.
5+
6+
NS-USBloader is free software: you can redistribute it and/or modify
7+
it under the terms of the GNU General Public License as published by
8+
the Free Software Foundation, either version 3 of the License, or
9+
(at your option) any later version.
10+
11+
NS-USBloader is distributed in the hope that it will be useful,
12+
but WITHOUT ANY WARRANTY; without even the implied warranty of
13+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14+
GNU General Public License for more details.
15+
16+
You should have received a copy of the GNU General Public License
17+
along with NS-USBloader. If not, see <https://www.gnu.org/licenses/>.
18+
*/
19+
package nsusbloader;
20+
21+
import java.nio.file.Files;
22+
import java.nio.file.Path;
23+
import java.nio.file.Paths;
24+
25+
public class FilesHelper {
26+
public static String getRealFolder(String path){
27+
Path splitMergePath = Paths.get(path);
28+
if (Files.notExists(splitMergePath) || Files.isRegularFile(splitMergePath))
29+
return System.getProperty("user.home");
30+
return path;
31+
}
32+
}

0 commit comments

Comments
 (0)