From 9bbb016d97466cb547c9e482958d36a0903fc741 Mon Sep 17 00:00:00 2001 From: Maschell Date: Sat, 6 Feb 2016 18:48:21 +0100 Subject: [PATCH] progressbar added for "normal gui" Added the progressbar for the normal gui --- jar/JNUSTool.jar | Bin 69735 -> 70923 bytes src/de/mas/jnustool/Progress.java | 15 +++++- src/de/mas/jnustool/Starter.java | 2 +- src/de/mas/jnustool/gui/NUSGUI.java | 57 +++++++++++++++------ src/de/mas/jnustool/gui/UpdateChooser.java | 10 ++-- 5 files changed, 63 insertions(+), 21 deletions(-) diff --git a/jar/JNUSTool.jar b/jar/JNUSTool.jar index 718d764290b0397e80b4198716742c23be465653..8e4d0dacc5f5c19dfe6d8d7759fcaa1907f417a8 100644 GIT binary patch delta 16246 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 delta 15148 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 list = new ArrayList<>(); - TreePath[] paths = cbt.getCheckedPaths(); - for (TreePath tp : paths) { - Object obj = tp.getPath()[tp.getPath().length-1]; - if(((DefaultMutableTreeNode)obj).getUserObject() instanceof FEntry){ - list.add((FEntry) ((DefaultMutableTreeNode)obj).getUserObject()); - } - } - - nus.decryptFEntries(list, null); - }}).start(); - + if(!progress.isInProgress()){ + progress.clear(); + progress.operationStart(); + new Thread(new Runnable() { public void run() { + + List list = new ArrayList<>(); + TreePath[] paths = cbt.getCheckedPaths(); + for (TreePath tp : paths) { + Object obj = tp.getPath()[tp.getPath().length-1]; + if(((DefaultMutableTreeNode)obj).getUserObject() instanceof FEntry){ + list.add((FEntry) ((DefaultMutableTreeNode)obj).getUserObject()); + } + } + nus.decryptFEntries(list, progress); + progress.operationFinish(); + Logger.messageBox("Finished"); + }}).start(); + }else{ + Logger.messageBox("Operation still in progress, please wait"); + } } }); JScrollPane outputPane = new JScrollPane(output, diff --git a/src/de/mas/jnustool/gui/UpdateChooser.java b/src/de/mas/jnustool/gui/UpdateChooser.java index 9ecb2df..9f063ae 100644 --- a/src/de/mas/jnustool/gui/UpdateChooser.java +++ b/src/de/mas/jnustool/gui/UpdateChooser.java @@ -27,6 +27,7 @@ import javax.swing.ScrollPaneConstants; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; +import de.mas.jnustool.Logger; import de.mas.jnustool.Progress; import de.mas.jnustool.ProgressUpdateListener; import de.mas.jnustool.Starter; @@ -154,20 +155,21 @@ public class UpdateChooser extends JPanel { btnDownloadMeta.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - if(progressBar_1.getValue() == 0 || progressBar_1.getValue() == 100){ - progressBar_1.setValue(1); + if(!progress.isInProgress()){ progress.clear(); + progress.operationStart(); new Thread(new Runnable(){ @Override public void run() { Starter.downloadMeta(output_,progress); - JOptionPane.showMessageDialog(window, "Finished"); + progress.operationFinish(); + Logger.messageBox("Finished"); } }).start(); }else{ - JOptionPane.showMessageDialog(window, "Operation still in progress, please wait"); + Logger.messageBox("Operation still in progress, please wait"); } } });