v0.3 ready
This commit is contained in:
parent
c3c07b7216
commit
256b1f7d37
5 changed files with 32 additions and 37 deletions
|
@ -93,12 +93,13 @@ root # udevadm control --reload-rules && udevadm trigger
|
||||||
|
|
||||||
### Known bugs
|
### Known bugs
|
||||||
* Unable to interrupt transmission when libusb awaiting for read event (when user sent NSP list but didn't selected anything on NS). Also, sometimes, when network transmission started and nothing received from NS.
|
* Unable to interrupt transmission when libusb awaiting for read event (when user sent NSP list but didn't selected anything on NS). Also, sometimes, when network transmission started and nothing received from NS.
|
||||||
* Unable to use it on macOS version lower then Mojave. See: [Failing to claim interface on OSX](https://github.com/developersu/ns-usbloader/issues/2). Could be solved by using different build (different JAR).
|
|
||||||
|
|
||||||
#### NOTES
|
#### NOTES
|
||||||
Table 'Status' = 'Uploaded' does not mean that file installed. It means that it has been sent to NS without any issues! That's what this app about.
|
Table 'Status' = 'Uploaded' does not mean that file installed. It means that it has been sent to NS without any issues! That's what this app about.
|
||||||
Handling successful/failed installation is a purpose of the other side application (TinFoil/GoldLeaf). (And they don't provide any feedback interfaces so I can't detect success/failure.)
|
Handling successful/failed installation is a purpose of the other side application (TinFoil/GoldLeaf). (And they don't provide any feedback interfaces so I can't detect success/failure.)
|
||||||
|
|
||||||
|
usb4java since NS-USBloader-v0.2.3 switched to 1.2.0 instead of 1.3.0. This shouldn't impact anyone except users of macOS High Sierra (and Sierra?) where previous versions of NS-USBloader didn't work.
|
||||||
|
|
||||||
### Translators! Traductores! Übersetzer! Թարգմանիչներ!
|
### Translators! Traductores! Übersetzer! Թարգմանիչներ!
|
||||||
If you want to see this app translated to your language, go grab [this file](https://github.com/developersu/ns-usbloader/blob/master/src/main/resources/locale.properties) and translate it.
|
If you want to see this app translated to your language, go grab [this file](https://github.com/developersu/ns-usbloader/blob/master/src/main/resources/locale.properties) and translate it.
|
||||||
Upload somewhere (pastebin? google drive? whatever else). [Create new issue](https://github.com/developersu/ns-usbloader/issues) and post a link. I'll grab it and add.
|
Upload somewhere (pastebin? google drive? whatever else). [Create new issue](https://github.com/developersu/ns-usbloader/issues) and post a link. I'll grab it and add.
|
||||||
|
@ -111,6 +112,7 @@ Français by [Stephane Meden (JackFromNice)](https://github.com/JackFromNice)
|
||||||
#### TODO (maybe):
|
#### TODO (maybe):
|
||||||
- [x] macOS QA v0.1 (Mojave)
|
- [x] macOS QA v0.1 (Mojave)
|
||||||
- [x] macOS QA v0.2.2 (Mojave)
|
- [x] macOS QA v0.2.2 (Mojave)
|
||||||
|
- [x] macOS QA v0.2.3-DEV (High Sierra)
|
||||||
- [ ] macOS QA v0.3 (Mojave, High Sierra)
|
- [ ] macOS QA v0.3 (Mojave, High Sierra)
|
||||||
- [x] Windows support
|
- [x] Windows support
|
||||||
- [x] code refactoring
|
- [x] code refactoring
|
||||||
|
|
2
pom.xml
2
pom.xml
|
@ -140,7 +140,7 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.usb4java</groupId>
|
<groupId>org.usb4java</groupId>
|
||||||
<artifactId>usb4java</artifactId>
|
<artifactId>usb4java</artifactId>
|
||||||
<version>1.3.0</version>
|
<version>1.2.0</version>
|
||||||
<scope>compile</scope>
|
<scope>compile</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
|
@ -184,22 +184,24 @@ public class NSLMainController implements Initializable {
|
||||||
* */
|
* */
|
||||||
private void uploadBtnAction(){
|
private void uploadBtnAction(){
|
||||||
if ((workThread == null || !workThread.isAlive())){
|
if ((workThread == null || !workThread.isAlive())){
|
||||||
|
// Collect files
|
||||||
|
List<File> nspToUpload;
|
||||||
|
if ((nspToUpload = tableFilesListController.getFilesForUpload()) == null) {
|
||||||
|
logArea.setText(resourceBundle.getString("logsNoFolderFileSelected"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
logArea.setText(resourceBundle.getString("logsFilesToUploadTitle")+"\n");
|
||||||
|
for (File item: nspToUpload)
|
||||||
|
logArea.appendText(" "+item.getAbsolutePath()+"\n");
|
||||||
|
}
|
||||||
|
// If USB selected
|
||||||
if (choiceProtocol.getSelectionModel().getSelectedItem().equals("GoldLeaf") ||
|
if (choiceProtocol.getSelectionModel().getSelectedItem().equals("GoldLeaf") ||
|
||||||
(
|
(
|
||||||
choiceProtocol.getSelectionModel().getSelectedItem().equals("TinFoil")
|
choiceProtocol.getSelectionModel().getSelectedItem().equals("TinFoil")
|
||||||
&& choiceNetUsb.getSelectionModel().getSelectedItem().equals("USB")
|
&& choiceNetUsb.getSelectionModel().getSelectedItem().equals("USB")
|
||||||
)
|
)
|
||||||
){
|
){
|
||||||
List<File> nspToUpload;
|
|
||||||
if ((nspToUpload = tableFilesListController.getFilesForUpload()) == null) {
|
|
||||||
logArea.setText(resourceBundle.getString("logsNoFolderFileSelected"));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
logArea.setText(resourceBundle.getString("logsFilesToUploadTitle")+"\n");
|
|
||||||
for (File item: nspToUpload)
|
|
||||||
logArea.appendText(" "+item.getAbsolutePath()+"\n");
|
|
||||||
}
|
|
||||||
usbNetCommunications = new UsbCommunications(nspToUpload, choiceProtocol.getSelectionModel().getSelectedItem());
|
usbNetCommunications = new UsbCommunications(nspToUpload, choiceProtocol.getSelectionModel().getSelectedItem());
|
||||||
workThread = new Thread(usbNetCommunications);
|
workThread = new Thread(usbNetCommunications);
|
||||||
workThread.setDaemon(true);
|
workThread.setDaemon(true);
|
||||||
|
@ -209,18 +211,9 @@ public class NSLMainController implements Initializable {
|
||||||
if (SettingsTabController.isNsIpValidate() && !nsIpTextField.getText().matches("^([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])$"))
|
if (SettingsTabController.isNsIpValidate() && !nsIpTextField.getText().matches("^([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])$"))
|
||||||
if (!ServiceWindow.getConfirmationWindow(resourceBundle.getString("windowTitleBadIp"),resourceBundle.getString("windowBodyBadIp")))
|
if (!ServiceWindow.getConfirmationWindow(resourceBundle.getString("windowTitleBadIp"),resourceBundle.getString("windowBodyBadIp")))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
String nsIP = nsIpTextField.getText();
|
String nsIP = nsIpTextField.getText();
|
||||||
|
|
||||||
List<File> nspToUpload;
|
|
||||||
if ((nspToUpload = tableFilesListController.getFilesForUpload()) == null) {
|
|
||||||
logArea.setText(resourceBundle.getString("logsNoFolderFileSelected"));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
logArea.setText(resourceBundle.getString("logsFilesToUploadTitle")+"\n");
|
|
||||||
for (File item: nspToUpload)
|
|
||||||
logArea.appendText(" "+item.getAbsolutePath()+"\n");
|
|
||||||
}
|
|
||||||
if (!SettingsTabController.getExpertModeSelected())
|
if (!SettingsTabController.getExpertModeSelected())
|
||||||
usbNetCommunications = new NETCommunications(nspToUpload, nsIP, false, "", "", "");
|
usbNetCommunications = new NETCommunications(nspToUpload, nsIP, false, "", "", "");
|
||||||
else {
|
else {
|
||||||
|
|
|
@ -34,4 +34,4 @@ netTabDontServeRequestsCb=Don't serve requests
|
||||||
netTabDontServeRequestsDescription=If selected, this computer won't reply to NSP files requests coming from NS (over the net) and use defined host settings to tell TinFoil where should it look for files.
|
netTabDontServeRequestsDescription=If selected, this computer won't reply to NSP files requests coming from NS (over the net) and use defined host settings to tell TinFoil where should it look for files.
|
||||||
netTabHostExtraLbl=extra
|
netTabHostExtraLbl=extra
|
||||||
windowTitleErrorPort=Port set incorrectly!
|
windowTitleErrorPort=Port set incorrectly!
|
||||||
windowBodyErrorPort=Port can't be 0 or greater then 65535.
|
windowBodyErrorPort=Port can't be 0 or greater than 65535.
|
||||||
|
|
|
@ -20,18 +20,18 @@ tableFileNameLbl=Nom de fichier
|
||||||
tableStatusLbl=Statut
|
tableStatusLbl=Statut
|
||||||
contextMenuBtnDelete=Supprimer
|
contextMenuBtnDelete=Supprimer
|
||||||
contextMenuBtnDeleteAll=Supprimer tout
|
contextMenuBtnDeleteAll=Supprimer tout
|
||||||
netTabHostIPLbl=IP de l'ordinateur <-FIX?
|
netTabHostIPLbl=IP de l'ordinateur
|
||||||
NSIPlable=IP de NS: <-FIX?
|
NSIPlable=IP de NS:
|
||||||
netTabValidateNSHostNameCb=Always validate NS IP input. <-FIX
|
netTabValidateNSHostNameCb=Toujours v\u00E9rifier que l'adresse IP de NS entr\u00E9e est correcte
|
||||||
windowTitleBadIp=IP address of NS most likely incorrect <-FIX
|
windowTitleBadIp=L'adresse IP de NS est probablement incorrecte
|
||||||
windowBodyBadIp=Are you sure that you entered NS IP address correctly? <-FIX
|
windowBodyBadIp=\u00CAtes-vous s\u00FBr que l'adresse IP de NS entr\u00E9e est correcte ?
|
||||||
netTabExpertModeCb=Expert mode<- FIX
|
netTabExpertModeCb=Mode expert
|
||||||
netTabHostPortLbl=port <- fix
|
netTabHostPortLbl=port
|
||||||
netTabAutoDetectIpCb=Auto-detect IP <- FIX
|
netTabAutoDetectIpCb=D\u00E9tection automatique d'IP
|
||||||
netTabRandSelectPortCb=Randomly get port <- FIX
|
netTabRandSelectPortCb=Obtenir un port al\u00E9atoire
|
||||||
netTabDontServeRequestsCb=Don't serve requests <- FIX
|
netTabDontServeRequestsCb=Ne pas servir les demandes
|
||||||
netTabDontServeRequestsDescription=If selected, this computer won't reply to NSP files requests coming from NS (over the net) and use defined host settings to tell TinFoil where should it look for files. <- Fix
|
netTabDontServeRequestsDescription=Si cette option est s\u00E9lectionn\u00E9e, cet ordinateur ne r\u00E9pond pas aux demandes de fichiers NSP provenant de NS (par le r\u00E9seau) et utilise les param\u00E8tres d\u2019h\u00F4te d\u00E9finis pour indiquer \u00E0 TinFoil o\u00F9 il doit rechercher les fichiers.
|
||||||
netTabHostExtraLbl=extra <- FIX
|
netTabHostExtraLbl=extra
|
||||||
windowTitleErrorPort=Port set incorrectly! <- FIX
|
windowTitleErrorPort=Port mal configur\u00E9!
|
||||||
windowBodyErrorPort=Port can't be 0 or greater then 65535. <- FIX
|
windowBodyErrorPort=V\u00E9rifiez que le port est sup\u00E9rieur \u00E0 0 et inf\u00E9rieur ou \u00E9gal \u00E0 65535.
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue