Merge pull request #176 from R-YaTian/workflow
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
feat: Add (de)selectAll options for contextMenu
This commit is contained in:
commit
8092e856b8
5 changed files with 37 additions and 9 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
|
@ -1,2 +1,3 @@
|
||||||
offsets.txt
|
offsets.txt
|
||||||
environment.txt
|
environment.txt
|
||||||
|
/target
|
||||||
|
|
|
||||||
|
|
@ -18,13 +18,16 @@
|
||||||
*/
|
*/
|
||||||
package nsusbloader.Controllers;
|
package nsusbloader.Controllers;
|
||||||
|
|
||||||
|
import nsusbloader.AppPreferences;
|
||||||
import nsusbloader.NSLDataTypes.EFileStatus;
|
import nsusbloader.NSLDataTypes.EFileStatus;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FilenameFilter;
|
import java.util.Locale;
|
||||||
|
import java.util.ResourceBundle;
|
||||||
|
|
||||||
public class NSLRowModel {
|
public class NSLRowModel {
|
||||||
|
private Locale userLocale = AppPreferences.getInstance().getLocale();
|
||||||
|
private ResourceBundle rb = ResourceBundle.getBundle("locale", userLocale);
|
||||||
private String status;
|
private String status;
|
||||||
private File nspFile;
|
private File nspFile;
|
||||||
private String nspFileName;
|
private String nspFileName;
|
||||||
|
|
@ -65,23 +68,23 @@ public class NSLRowModel {
|
||||||
markForUpload = value;
|
markForUpload = value;
|
||||||
}
|
}
|
||||||
public File getNspFile(){ return nspFile; }
|
public File getNspFile(){ return nspFile; }
|
||||||
public void setStatus(EFileStatus status){ // TODO: Localization
|
public void setStatus(EFileStatus status){
|
||||||
switch (status){
|
switch (status){
|
||||||
case UPLOADED:
|
case UPLOADED:
|
||||||
this.status = "Success";
|
this.status = rb.getString("tab1_table_Lbl_Success");
|
||||||
markForUpload = false;
|
markForUpload = false;
|
||||||
break;
|
break;
|
||||||
case FAILED:
|
case FAILED:
|
||||||
this.status = "Failed";
|
this.status = rb.getString("tab1_table_Lbl_Failed");
|
||||||
break;
|
break;
|
||||||
case INDETERMINATE:
|
case INDETERMINATE:
|
||||||
this.status = "...";
|
this.status = "...";
|
||||||
break;
|
break;
|
||||||
case UNKNOWN:
|
case UNKNOWN:
|
||||||
this.status = "Unknown";
|
this.status = rb.getString("tab1_table_Lbl_Unknown");
|
||||||
break;
|
break;
|
||||||
case INCORRECT_FILE_FAILED:
|
case INCORRECT_FILE_FAILED:
|
||||||
this.status = "Failed: Bad file";
|
this.status = rb.getString("tab1_table_Lbl_BadFile");
|
||||||
markForUpload = false;
|
markForUpload = false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -184,7 +184,19 @@ public class NSTableViewController implements Initializable {
|
||||||
gamesController.disableUploadStopBtn(true);
|
gamesController.disableUploadStopBtn(true);
|
||||||
table.refresh();
|
table.refresh();
|
||||||
});
|
});
|
||||||
contextMenu.getItems().addAll(deleteMenuItem, deleteAllMenuItem);
|
MenuItem selectAllMenuItem = new MenuItem(resourceBundle.getString("tab1_table_contextMenu_Btn_SelectAll"));
|
||||||
|
selectAllMenuItem.setOnAction(actionEvent -> {
|
||||||
|
for (NSLRowModel model : rowsObsLst)
|
||||||
|
model.setMarkForUpload(true);
|
||||||
|
table.refresh();
|
||||||
|
});
|
||||||
|
MenuItem deselectAllMenuItem = new MenuItem(resourceBundle.getString("tab1_table_contextMenu_Btn_DeselectAll"));
|
||||||
|
deselectAllMenuItem.setOnAction(actionEvent -> {
|
||||||
|
for (NSLRowModel model : rowsObsLst)
|
||||||
|
model.setMarkForUpload(false);
|
||||||
|
table.refresh();
|
||||||
|
});
|
||||||
|
contextMenu.getItems().addAll(deleteMenuItem, deleteAllMenuItem, selectAllMenuItem, deselectAllMenuItem);
|
||||||
|
|
||||||
row.setContextMenu(contextMenu);
|
row.setContextMenu(contextMenu);
|
||||||
row.contextMenuProperty().bind(
|
row.contextMenuProperty().bind(
|
||||||
|
|
|
||||||
|
|
@ -19,8 +19,14 @@ tab1_table_Lbl_Status=Status
|
||||||
tab1_table_Lbl_FileName=File name
|
tab1_table_Lbl_FileName=File name
|
||||||
tab1_table_Lbl_Size=Size
|
tab1_table_Lbl_Size=Size
|
||||||
tab1_table_Lbl_Upload=Upload?
|
tab1_table_Lbl_Upload=Upload?
|
||||||
|
tab1_table_Lbl_Success=Success
|
||||||
|
tab1_table_Lbl_Failed=Failed
|
||||||
|
tab1_table_Lbl_Unknown=Unknown
|
||||||
|
tab1_table_Lbl_BadFile=Failed: Bad file
|
||||||
tab1_table_contextMenu_Btn_BtnDelete=Remove
|
tab1_table_contextMenu_Btn_BtnDelete=Remove
|
||||||
tab1_table_contextMenu_Btn_DeleteAll=Remove all
|
tab1_table_contextMenu_Btn_DeleteAll=Remove all
|
||||||
|
tab1_table_contextMenu_Btn_SelectAll=Select all
|
||||||
|
tab1_table_contextMenu_Btn_DeselectAll=Deselect all
|
||||||
tab2_Lbl_HostIP=Host IP
|
tab2_Lbl_HostIP=Host IP
|
||||||
tab1_Lbl_NSIP=NS IP:
|
tab1_Lbl_NSIP=NS IP:
|
||||||
tab2_Cb_ValidateNSHostName=Always validate NS IP input.
|
tab2_Cb_ValidateNSHostName=Always validate NS IP input.
|
||||||
|
|
|
||||||
|
|
@ -19,8 +19,14 @@ tab1_table_Lbl_Status=\u72B6\u6001
|
||||||
tab1_table_Lbl_FileName=\u6587\u4EF6\u540D
|
tab1_table_Lbl_FileName=\u6587\u4EF6\u540D
|
||||||
tab1_table_Lbl_Size=\u5927\u5C0F
|
tab1_table_Lbl_Size=\u5927\u5C0F
|
||||||
tab1_table_Lbl_Upload=\u4E0A\u4F20?
|
tab1_table_Lbl_Upload=\u4E0A\u4F20?
|
||||||
|
tab1_table_Lbl_Success=\u6210\u529F
|
||||||
|
tab1_table_Lbl_Failed=\u5931\u8D25
|
||||||
|
tab1_table_Lbl_Unknown=\u672A\u77E5
|
||||||
|
tab1_table_Lbl_BadFile=\u5931\u8D25: \u6587\u4EF6\u5F02\u5E38
|
||||||
tab1_table_contextMenu_Btn_BtnDelete=\u79FB\u9664
|
tab1_table_contextMenu_Btn_BtnDelete=\u79FB\u9664
|
||||||
tab1_table_contextMenu_Btn_DeleteAll=\u79FB\u9664\u6240\u6709
|
tab1_table_contextMenu_Btn_DeleteAll=\u79FB\u9664\u6240\u6709
|
||||||
|
tab1_table_contextMenu_Btn_SelectAll=\u9009\u62E9\u5168\u90E8
|
||||||
|
tab1_table_contextMenu_Btn_DeselectAll=\u53CD\u9009\u5168\u90E8
|
||||||
tab2_Lbl_HostIP=Host IP
|
tab2_Lbl_HostIP=Host IP
|
||||||
tab1_Lbl_NSIP=NS IP:
|
tab1_Lbl_NSIP=NS IP:
|
||||||
tab2_Cb_ValidateNSHostName=\u603B\u662F\u9A8C\u8BC1 NS IP \u8F93\u5165\u3002
|
tab2_Cb_ValidateNSHostName=\u603B\u662F\u9A8C\u8BC1 NS IP \u8F93\u5165\u3002
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue