diff --git a/.gitignore b/.gitignore index 92b14c1..7287d82 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ offsets.txt -environment.txt \ No newline at end of file +environment.txt +/target diff --git a/src/main/java/nsusbloader/Controllers/NSLRowModel.java b/src/main/java/nsusbloader/Controllers/NSLRowModel.java index e96fe6f..0e18e26 100644 --- a/src/main/java/nsusbloader/Controllers/NSLRowModel.java +++ b/src/main/java/nsusbloader/Controllers/NSLRowModel.java @@ -18,13 +18,16 @@ */ package nsusbloader.Controllers; +import nsusbloader.AppPreferences; import nsusbloader.NSLDataTypes.EFileStatus; import java.io.File; -import java.io.FilenameFilter; +import java.util.Locale; +import java.util.ResourceBundle; public class NSLRowModel { - + private Locale userLocale = AppPreferences.getInstance().getLocale(); + private ResourceBundle rb = ResourceBundle.getBundle("locale", userLocale); private String status; private File nspFile; private String nspFileName; @@ -65,23 +68,23 @@ public class NSLRowModel { markForUpload = value; } public File getNspFile(){ return nspFile; } - public void setStatus(EFileStatus status){ // TODO: Localization + public void setStatus(EFileStatus status){ switch (status){ case UPLOADED: - this.status = "Success"; + this.status = rb.getString("tab1_table_Lbl_Success"); markForUpload = false; break; case FAILED: - this.status = "Failed"; + this.status = rb.getString("tab1_table_Lbl_Failed"); break; case INDETERMINATE: this.status = "..."; break; case UNKNOWN: - this.status = "Unknown"; + this.status = rb.getString("tab1_table_Lbl_Unknown"); break; case INCORRECT_FILE_FAILED: - this.status = "Failed: Bad file"; + this.status = rb.getString("tab1_table_Lbl_BadFile"); markForUpload = false; break; } diff --git a/src/main/java/nsusbloader/Controllers/NSTableViewController.java b/src/main/java/nsusbloader/Controllers/NSTableViewController.java index 379ba79..fd65560 100644 --- a/src/main/java/nsusbloader/Controllers/NSTableViewController.java +++ b/src/main/java/nsusbloader/Controllers/NSTableViewController.java @@ -184,7 +184,19 @@ public class NSTableViewController implements Initializable { gamesController.disableUploadStopBtn(true); 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.contextMenuProperty().bind( diff --git a/src/main/resources/locale.properties b/src/main/resources/locale.properties index 9622dfe..440401e 100644 --- a/src/main/resources/locale.properties +++ b/src/main/resources/locale.properties @@ -19,8 +19,14 @@ tab1_table_Lbl_Status=Status tab1_table_Lbl_FileName=File name tab1_table_Lbl_Size=Size 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_DeleteAll=Remove all +tab1_table_contextMenu_Btn_SelectAll=Select all +tab1_table_contextMenu_Btn_DeselectAll=Deselect all tab2_Lbl_HostIP=Host IP tab1_Lbl_NSIP=NS IP: tab2_Cb_ValidateNSHostName=Always validate NS IP input. diff --git a/src/main/resources/locale_zh_CN.properties b/src/main/resources/locale_zh_CN.properties index 2ad405d..9c15cee 100644 --- a/src/main/resources/locale_zh_CN.properties +++ b/src/main/resources/locale_zh_CN.properties @@ -19,8 +19,14 @@ tab1_table_Lbl_Status=\u72B6\u6001 tab1_table_Lbl_FileName=\u6587\u4EF6\u540D tab1_table_Lbl_Size=\u5927\u5C0F 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_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 tab1_Lbl_NSIP=NS IP: tab2_Cb_ValidateNSHostName=\u603B\u662F\u9A8C\u8BC1 NS IP \u8F93\u5165\u3002