Adding files logic for the button has been changed to "add whatever you want to the table without cleanup"
This commit is contained in:
		
							parent
							
								
									4da62b4c07
								
							
						
					
					
						commit
						d41401c85e
					
				
					 3 changed files with 34 additions and 54 deletions
				
			
		|  | @ -69,11 +69,11 @@ If you use different MacOS (not Mojave) - check release section for another JAR | ||||||
| Table 'Status' = 'Uploaded' does not means 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 means 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.) | ||||||
| 
 | 
 | ||||||
| ## Translators! Traducteurs! 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. | ||||||
| 
 | 
 | ||||||
| ### Thanks for great work done by to our translater~~s team~~! | ### Thanks for great work done by our translater~~s team~~! | ||||||
| 
 | 
 | ||||||
| Français by [Stephane Meden (JackFromNice)](https://github.com/JackFromNice)  | Français by [Stephane Meden (JackFromNice)](https://github.com/JackFromNice)  | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -128,10 +128,6 @@ public class NSLMainController implements Initializable { | ||||||
|             uploadStopBtn.setDisable(false); |             uploadStopBtn.setDisable(false); | ||||||
|             previouslyOpenedPath = filesList.get(0).getParent(); |             previouslyOpenedPath = filesList.get(0).getParent(); | ||||||
|         } |         } | ||||||
|         else{ |  | ||||||
|             tableFilesListController.setFiles(null); |  | ||||||
|             uploadStopBtn.setDisable(true); |  | ||||||
|         } |  | ||||||
|     } |     } | ||||||
|     /** |     /** | ||||||
|      * It's button listener when no transmission executes |      * It's button listener when no transmission executes | ||||||
|  | @ -194,8 +190,8 @@ public class NSLMainController implements Initializable { | ||||||
|     /** |     /** | ||||||
|      * Crunch. Now you see that I'm not a programmer.. This function called from NSTableViewController |      * Crunch. Now you see that I'm not a programmer.. This function called from NSTableViewController | ||||||
|      * */ |      * */ | ||||||
|     public void disableUploadStopBtn(){ |     public void disableUploadStopBtn(boolean disable){ | ||||||
|         uploadStopBtn.setDisable(true); |         uploadStopBtn.setDisable(disable); | ||||||
|     } |     } | ||||||
|     /** |     /** | ||||||
|      * Drag-n-drop support (dragOver consumer) |      * Drag-n-drop support (dragOver consumer) | ||||||
|  | @ -210,6 +206,10 @@ public class NSLMainController implements Initializable { | ||||||
|      * */ |      * */ | ||||||
|     @FXML |     @FXML | ||||||
|     private void handleDrop(DragEvent event){ |     private void handleDrop(DragEvent event){ | ||||||
|  |         if (MediatorControl.getInstance().getTransferActive()) { | ||||||
|  |             event.setDropCompleted(true); | ||||||
|  |             return; | ||||||
|  |         } | ||||||
|         List<File> filesDropped = new ArrayList<>(); |         List<File> filesDropped = new ArrayList<>(); | ||||||
|         try { |         try { | ||||||
|             for (File fileOrDir : event.getDragboard().getFiles()) { |             for (File fileOrDir : event.getDragboard().getFiles()) { | ||||||
|  | @ -224,20 +224,8 @@ public class NSLMainController implements Initializable { | ||||||
|         catch (SecurityException se){ |         catch (SecurityException se){ | ||||||
|             se.printStackTrace(); |             se.printStackTrace(); | ||||||
|         } |         } | ||||||
|         if (!filesDropped.isEmpty()) { |         if (!filesDropped.isEmpty()) | ||||||
|             List<File> filesAlreadyInTable; |             tableFilesListController.setFiles(filesDropped); | ||||||
|             if ((filesAlreadyInTable = tableFilesListController.getFiles()) != null) { |  | ||||||
|                 filesDropped.removeAll(filesAlreadyInTable);                          // Get what we already have and add new file(s) |  | ||||||
|                 if (!filesDropped.isEmpty()) { |  | ||||||
|                     filesDropped.addAll(filesAlreadyInTable); |  | ||||||
|                     tableFilesListController.setFiles(filesDropped); |  | ||||||
|                 } |  | ||||||
|             } |  | ||||||
|             else { |  | ||||||
|                 tableFilesListController.setFiles(filesDropped); |  | ||||||
|                 uploadStopBtn.setDisable(false); |  | ||||||
|             } |  | ||||||
|         } |  | ||||||
| 
 | 
 | ||||||
|         event.setDropCompleted(true); |         event.setDropCompleted(true); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  | @ -46,10 +46,10 @@ public class NSTableViewController implements Initializable { | ||||||
|             @Override |             @Override | ||||||
|             public void handle(KeyEvent keyEvent) { |             public void handle(KeyEvent keyEvent) { | ||||||
|                 if (!rowsObsLst.isEmpty()) { |                 if (!rowsObsLst.isEmpty()) { | ||||||
|                     if (keyEvent.getCode() == KeyCode.DELETE) { |                     if (keyEvent.getCode() == KeyCode.DELETE && !MediatorControl.getInstance().getTransferActive()) { | ||||||
|                         rowsObsLst.removeAll(table.getSelectionModel().getSelectedItems()); |                         rowsObsLst.removeAll(table.getSelectionModel().getSelectedItems()); | ||||||
|                         if (rowsObsLst.isEmpty()) |                         if (rowsObsLst.isEmpty()) | ||||||
|                             MediatorControl.getInstance().getContoller().disableUploadStopBtn();    // TODO: change to something better |                             MediatorControl.getInstance().getContoller().disableUploadStopBtn(true);    // TODO: change to something better | ||||||
|                         table.refresh(); |                         table.refresh(); | ||||||
|                     } else if (keyEvent.getCode() == KeyCode.SPACE) { |                     } else if (keyEvent.getCode() == KeyCode.SPACE) { | ||||||
|                         for (NSLRowModel item : table.getSelectionModel().getSelectedItems()) { |                         for (NSLRowModel item : table.getSelectionModel().getSelectedItems()) { | ||||||
|  | @ -132,7 +132,7 @@ public class NSTableViewController implements Initializable { | ||||||
|                             public void handle(ActionEvent actionEvent) { |                             public void handle(ActionEvent actionEvent) { | ||||||
|                                 rowsObsLst.remove(row.getItem()); |                                 rowsObsLst.remove(row.getItem()); | ||||||
|                                 if (rowsObsLst.isEmpty()) |                                 if (rowsObsLst.isEmpty()) | ||||||
|                                     MediatorControl.getInstance().getContoller().disableUploadStopBtn();    // TODO: change to something better |                                     MediatorControl.getInstance().getContoller().disableUploadStopBtn(true);    // TODO: change to something better | ||||||
|                                 table.refresh(); |                                 table.refresh(); | ||||||
|                             } |                             } | ||||||
|                         }); |                         }); | ||||||
|  | @ -141,7 +141,7 @@ public class NSTableViewController implements Initializable { | ||||||
|                             @Override |                             @Override | ||||||
|                             public void handle(ActionEvent actionEvent) { |                             public void handle(ActionEvent actionEvent) { | ||||||
|                                 rowsObsLst.clear(); |                                 rowsObsLst.clear(); | ||||||
|                                 MediatorControl.getInstance().getContoller().disableUploadStopBtn();    // TODO: change to something better |                                 MediatorControl.getInstance().getContoller().disableUploadStopBtn(true);    // TODO: change to something better | ||||||
|                                 table.refresh(); |                                 table.refresh(); | ||||||
|                             } |                             } | ||||||
|                         }); |                         }); | ||||||
|  | @ -188,37 +188,29 @@ public class NSTableViewController implements Initializable { | ||||||
|     /** |     /** | ||||||
|      * Add files when user selected them |      * Add files when user selected them | ||||||
|      * */ |      * */ | ||||||
|     public void setFiles(List<File> files){ |     public void setFiles(List<File> newFiles){ | ||||||
|         rowsObsLst.clear();                 // TODO: consider table refresh |         if (!rowsObsLst.isEmpty()){ | ||||||
|         if (files == null) |             List<String> filesAlreayInList = new ArrayList<>(); | ||||||
|             return; |             for (NSLRowModel model : rowsObsLst) | ||||||
|         if (protocol.equals("TinFoil")){ |                     filesAlreayInList.add(model.getNspFileName()); | ||||||
|             for (File nspFile: files){ |             for (File file: newFiles) | ||||||
|                 rowsObsLst.add(new NSLRowModel(nspFile, true)); |                 if (!filesAlreayInList.contains(file.getName())) { | ||||||
|             } |                     if (protocol.equals("TinFoil")) | ||||||
|  |                         rowsObsLst.add(new NSLRowModel(file, true)); | ||||||
|  |                     else | ||||||
|  |                         rowsObsLst.add(new NSLRowModel(file, false)); | ||||||
|  |                 } | ||||||
|         } |         } | ||||||
|         else { |         else { | ||||||
|             rowsObsLst.clear(); |             for (File file: newFiles) | ||||||
|             for (File nspFile: files){ |                 if (protocol.equals("TinFoil")) | ||||||
|                 rowsObsLst.add(new NSLRowModel(nspFile, false)); |                     rowsObsLst.add(new NSLRowModel(file, true)); | ||||||
|             } |                 else | ||||||
|             rowsObsLst.get(0).setMarkForUpload(true); |                     rowsObsLst.add(new NSLRowModel(file, false)); | ||||||
|  |             MediatorControl.getInstance().getContoller().disableUploadStopBtn(false); | ||||||
|         } |         } | ||||||
|     } |         rowsObsLst.get(0).setMarkForUpload(true); | ||||||
|     /** |         table.refresh(); | ||||||
|      * Return all files no matter how they're marked |  | ||||||
|      * */ |  | ||||||
|     public List<File> getFiles(){ |  | ||||||
|         List<File> files = new ArrayList<>(); |  | ||||||
|         if (rowsObsLst.isEmpty()) |  | ||||||
|             return null; |  | ||||||
|         else |  | ||||||
|             for (NSLRowModel model: rowsObsLst) |  | ||||||
|                 files.add(model.getNspFile()); |  | ||||||
|         if (!files.isEmpty()) |  | ||||||
|             return files; |  | ||||||
|         else |  | ||||||
|             return null; |  | ||||||
|     } |     } | ||||||
|     /** |     /** | ||||||
|      * Return files ready for upload. Requested from NSLMainController only -> uploadBtnAction()                            //TODO: set undefined |      * Return files ready for upload. Requested from NSLMainController only -> uploadBtnAction()                            //TODO: set undefined | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue
	
	 Dmitry Isaenko
						Dmitry Isaenko