diff --git a/releases/GetYourFilesOutThere 0.3.jar b/releases/GetYourFilesOutThere 0.3.jar
deleted file mode 100644
index db0800c..0000000
Binary files a/releases/GetYourFilesOutThere 0.3.jar and /dev/null differ
diff --git a/src/eu/seelenoede/getyourfilesoutthere/Engine.java b/src/eu/seelenoede/getyourfilesoutthere/Engine.java
deleted file mode 100644
index 4371c34..0000000
--- a/src/eu/seelenoede/getyourfilesoutthere/Engine.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package eu.seelenoede.getyourfilesoutthere;
-
-import java.io.File;
-import java.io.IOException;
-import java.nio.file.FileSystems;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.StandardCopyOption;
-
-public class Engine {
-
- private SettingsFilter filter;
-
- public Engine() {
- filter = new SettingsFilter();
- }
-
- /**
- * Extract files from the directories
- *
- * @author Seelenoede
- */
- protected void extractFiles(File[] dirs) {
-
- for(File dir:dirs) {
- try {
- String parentDir = dir.getCanonicalFile().getParent();
-
- File[] files;
- if(filter.extensions.size() == 0)
- files = dir.listFiles();
- else
- files = dir.listFiles(filter);
-
- for(File file:files) {
- Path target = FileSystems.getDefault().getPath(parentDir + "\\" + file.getName());
-
- Files.move(file.toPath(), target, StandardCopyOption.REPLACE_EXISTING);
- }
- }
- catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
-
- protected void setExtensionSettings(String extensionString) {
- if(extensionString.equals("")) {
- return;
- }
- String[] extensions = extensionString.split(",");
- for(String extension:extensions) {
- filter.extensions.add(extension.trim());
- }
- }
-}
diff --git a/src/eu/seelenoede/getyourfilesoutthere/GUI.fxml b/src/eu/seelenoede/getyourfilesoutthere/GUI.fxml
deleted file mode 100644
index 8f91c17..0000000
--- a/src/eu/seelenoede/getyourfilesoutthere/GUI.fxml
+++ /dev/null
@@ -1,58 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/eu/seelenoede/getyourfilesoutthere/Main.java b/src/eu/seelenoede/getyourfilesoutthere/Main.java
deleted file mode 100644
index 62684e3..0000000
--- a/src/eu/seelenoede/getyourfilesoutthere/Main.java
+++ /dev/null
@@ -1,95 +0,0 @@
-package eu.seelenoede.getyourfilesoutthere;
-
-import java.io.File;
-import java.io.IOException;
-
-import javax.swing.JFileChooser;
-
-import javafx.application.Application;
-import javafx.event.ActionEvent;
-import javafx.fxml.FXML;
-import javafx.fxml.FXMLLoader;
-import javafx.scene.Parent;
-import javafx.scene.Scene;
-import javafx.scene.control.Label;
-import javafx.scene.control.TextField;
-import javafx.stage.Stage;
-
-public class Main extends Application {
-
- private boolean alreadyRunning;
- private File[] dirs;
- private Engine engine;
-
- @FXML Label lblDone;
- @FXML TextField textField_dirs;
- @FXML TextField textField_extensions;
-
- @FXML
- public void initialize() {
- engine = new Engine();
- alreadyRunning = false;
- }
-
- @Override
- public void start(Stage primaryStage) throws IOException {
- Parent root = FXMLLoader.load(getClass().getResource("GUI.fxml"));
-
- Scene scene = new Scene(root);
- primaryStage.setTitle("Get Your Files Out There");
- primaryStage.setScene(scene);
- primaryStage.show();
- }
-
- public static void main(String[] args) {
- launch(args);
- }
-
- @FXML
- private void handleBrowseButtonAction(ActionEvent event) {
- selectDirs();
- }
-
- @FXML
- private void handleStartButtonAction(ActionEvent event) {
- Thread noBlock = new Thread() {
- public void run() {
- engine.setExtensionSettings(textField_extensions.getText());
- resetElements();
- engine.extractFiles(dirs);
- alreadyRunning = false;
- lblDone.setVisible(true);
- }
- };
- if ((!alreadyRunning) & (dirs!=null)) {
- noBlock.start();
- alreadyRunning = true;
- }
- }
-
- private void resetElements() {
- lblDone.setVisible(false);
- }
-
- private void selectDirs() {
- if(alreadyRunning){
- return;
- }
- JFileChooser chooser = new JFileChooser();
- chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
- chooser.setMultiSelectionEnabled(true);
- int val = chooser.showOpenDialog(null);
-
- if (val == JFileChooser.APPROVE_OPTION) {
- dirs = chooser.getSelectedFiles();
- String selectedDirs = "";
- for (File dir:dirs)
- {
- selectedDirs = selectedDirs + "\"" + dir.getAbsolutePath() + "\"; ";
- }
- textField_dirs.setText(selectedDirs);
- }
- }
-
-
-}
diff --git a/src/eu/seelenoede/getyourfilesoutthere/MainForm.java b/src/eu/seelenoede/getyourfilesoutthere/MainForm.java
new file mode 100644
index 0000000..1d491b2
--- /dev/null
+++ b/src/eu/seelenoede/getyourfilesoutthere/MainForm.java
@@ -0,0 +1,215 @@
+package eu.seelenoede.getyourfilesoutthere;
+
+import java.io.File;
+import java.io.IOException;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.StandardCopyOption;
+import java.util.ArrayList;
+
+import javax.swing.JFrame;
+import javax.swing.JTextField;
+
+import java.awt.BorderLayout;
+
+import javax.swing.JPanel;
+import javax.swing.JLabel;
+import javax.swing.JButton;
+import javax.swing.SwingUtilities;
+
+import java.awt.event.ActionListener;
+import java.awt.event.ActionEvent;
+import java.awt.Color;
+
+import javax.swing.JFileChooser;
+import javax.swing.BoxLayout;
+import java.awt.FlowLayout;
+
+public class MainForm {
+
+ private JFrame frmGetYourFiles;
+ private JTextField textField;
+ private JLabel lblPath;
+ private boolean alreadyRunning;
+ private JPanel panel_progress;
+ private JButton btnBrowse;
+ private File[] dirs;
+ private JLabel lblDone;
+ static ArrayList extensions;
+ private SettingsFilter filter;
+ private JPanel panel;
+ private JPanel panel_settings;
+ private JLabel lblSettings;
+ private JTextField textField_extensions;
+
+ /**
+ * Launch the application.
+ */
+ public static void main(String[] args) {
+ SwingUtilities.invokeLater(new Runnable() {
+ public void run() {
+ try {
+ MainForm window = new MainForm();
+ window.frmGetYourFiles.setVisible(true);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ });
+ }
+
+ /**
+ * Create the application.
+ */
+ public MainForm() {
+ filter = new SettingsFilter();
+ extensions = new ArrayList();
+ initialize();
+ }
+
+ /**
+ * Initialize the contents of the frame.
+ */
+ private void initialize() {
+ alreadyRunning = false;
+ frmGetYourFiles = new JFrame("Get Your Files Out There");
+ frmGetYourFiles.setTitle("Get Your Files Out There");
+ frmGetYourFiles.getContentPane().setBackground(Color.LIGHT_GRAY);
+ frmGetYourFiles.setResizable(false);
+ frmGetYourFiles.setBackground(Color.WHITE);
+ frmGetYourFiles.setBounds(100, 100, 489, 150);
+ frmGetYourFiles.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+ frmGetYourFiles.setLocationRelativeTo(null);
+ frmGetYourFiles.getContentPane().setLayout(new BorderLayout(0, 0));
+
+ panel = new JPanel();
+ frmGetYourFiles.getContentPane().add(panel, BorderLayout.NORTH);
+ panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
+
+ JPanel panel_path = new JPanel();
+ panel.add(panel_path);
+ panel_path.setBackground(Color.WHITE);
+
+ lblPath = new JLabel("Path: ");
+ panel_path.add(lblPath);
+
+ textField = new JTextField();
+ textField.setEditable(false);
+ panel_path.add(textField);
+ textField.setColumns(30);
+
+ btnBrowse = new JButton("Browse");
+ btnBrowse.setBackground(Color.LIGHT_GRAY);
+ btnBrowse.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ if(alreadyRunning){
+ return;
+ }
+ JFileChooser chooser = new JFileChooser();
+ chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
+ chooser.setMultiSelectionEnabled(true);
+ int val = chooser.showOpenDialog(null);
+
+ if (val == JFileChooser.APPROVE_OPTION) {
+ dirs = chooser.getSelectedFiles();
+ String selectedDirs = "";
+ for (File dir:dirs)
+ {
+ selectedDirs = selectedDirs + "\"" + dir.getAbsolutePath() + "\"; ";
+ }
+ textField.setText(selectedDirs);
+ }
+ }
+ });
+ panel_path.add(btnBrowse);
+
+ panel_settings = new JPanel();
+ panel_settings.setBackground(Color.WHITE);
+ panel.add(panel_settings);
+ panel_settings.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5));
+
+ lblSettings = new JLabel("Extensions: ");
+ panel_settings.add(lblSettings);
+
+ textField_extensions = new JTextField();
+ panel_settings.add(textField_extensions);
+ textField_extensions.setColumns(35);
+
+ JButton btnStart = new JButton("Start");
+ frmGetYourFiles.getContentPane().add(btnStart, BorderLayout.SOUTH);
+ btnStart.setSelected(true);
+ btnStart.setBackground(Color.LIGHT_GRAY);
+
+ frmGetYourFiles.getRootPane().setDefaultButton(btnStart);
+
+ btnStart.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent arg0) {
+ Thread noBlock = new Thread() {
+ public void run() {
+ setExtensionSettings();
+ resetElements();
+ extractFiles();
+ }
+ };
+ if ((!alreadyRunning) & (dirs!=null)) {
+ noBlock.start();
+ alreadyRunning = true;
+ }
+
+ }
+ });
+
+ panel_progress = new JPanel();
+ panel_progress.setBackground(Color.WHITE);
+ frmGetYourFiles.getContentPane().add(panel_progress, BorderLayout.CENTER);
+
+ lblDone = new JLabel("");
+ panel_progress.add(lblDone);
+ }
+
+ private void extractFiles() {
+
+ for(File dir:dirs) {
+ try {
+ String parentDir = dir.getCanonicalFile().getParent();
+
+ File[] files;
+ if(MainForm.extensions.size() == 1 && MainForm.extensions.get(0).equals(""))
+ files = dir.listFiles();
+ else
+ files = dir.listFiles(filter);
+
+ for(File file:files) {
+ Path target = FileSystems.getDefault().getPath(parentDir + "\\" + file.getName());
+
+ Files.move(file.toPath(), target, StandardCopyOption.REPLACE_EXISTING);
+ }
+ }
+ catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ lblDone.setText("Done");
+ alreadyRunning = false;
+ }
+
+ private void resetElements() {
+ //lblExtract.setText("");
+ //lblZip.setText("");
+ lblDone.setText("");
+
+ //progressBar_Extraction.setValue(0);
+ //progressBar_Zip.setValue(0);
+ }
+
+ private void setExtensionSettings() {
+ String[] extensions = textField_extensions.getText().split(",");
+ if (extensions.length == 0)
+ return;
+ for(String extension:extensions) {
+ MainForm.extensions.add(extension.trim());
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/src/eu/seelenoede/getyourfilesoutthere/SettingsFilter.java b/src/eu/seelenoede/getyourfilesoutthere/SettingsFilter.java
index f331dab..ea1095e 100644
--- a/src/eu/seelenoede/getyourfilesoutthere/SettingsFilter.java
+++ b/src/eu/seelenoede/getyourfilesoutthere/SettingsFilter.java
@@ -2,22 +2,15 @@ package eu.seelenoede.getyourfilesoutthere;
import java.io.File;
import java.io.FileFilter;
-import java.util.ArrayList;
public class SettingsFilter implements FileFilter {
-
- ArrayList extensions;
- SettingsFilter() {
- extensions = new ArrayList();
- }
-
@Override
public boolean accept(File pathname) {
String filePath = pathname.getAbsolutePath();
String fileExtension = filePath.substring(filePath.lastIndexOf('.') + 1);
- if(extensions.contains(fileExtension))
+ if(MainForm.extensions.contains(fileExtension))
return true;
return false;
}