From f1af8c5e03e9d0f52eff3e48cf7ec6046053a582 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sun, 12 Jun 2016 01:50:10 +0200 Subject: [PATCH 1/8] [CLEANUP] Removed outcommented code --- src/main/java/org/parabot/core/ui/BotUI.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/org/parabot/core/ui/BotUI.java b/src/main/java/org/parabot/core/ui/BotUI.java index 532e52b..ac35807 100644 --- a/src/main/java/org/parabot/core/ui/BotUI.java +++ b/src/main/java/org/parabot/core/ui/BotUI.java @@ -39,7 +39,6 @@ public class BotUI extends JFrame implements ActionListener, ComponentListener, throw new IllegalStateException("BotUI already created"); } instance = this; - //WebLookAndFeel.install(); JPopupMenu.setDefaultLightWeightPopupEnabled(false); setTitle("Parabot"); From 48908d5985d508c357c124d512f4da3ca40abb5f Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sun, 12 Jun 2016 01:50:44 +0200 Subject: [PATCH 2/8] [TASK] Set author to JKetelaar instead of Paradox --- src/main/java/org/parabot/core/ui/BotUI.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/parabot/core/ui/BotUI.java b/src/main/java/org/parabot/core/ui/BotUI.java index ac35807..1d01c5b 100644 --- a/src/main/java/org/parabot/core/ui/BotUI.java +++ b/src/main/java/org/parabot/core/ui/BotUI.java @@ -23,7 +23,7 @@ import java.util.ArrayList; /** * The bot user interface * - * @author Dane, Everel, Paradox + * @author Dane, Everel, JKetelaar */ public class BotUI extends JFrame implements ActionListener, ComponentListener, WindowListener { From 5209dc05ca2f0284990aed0bec62987e95678395 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sun, 12 Jun 2016 01:52:58 +0200 Subject: [PATCH 3/8] [CLEANUP] Made variable local --- src/main/java/org/parabot/core/ui/BotUI.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/parabot/core/ui/BotUI.java b/src/main/java/org/parabot/core/ui/BotUI.java index 1d01c5b..2a444ef 100644 --- a/src/main/java/org/parabot/core/ui/BotUI.java +++ b/src/main/java/org/parabot/core/ui/BotUI.java @@ -31,7 +31,7 @@ public class BotUI extends JFrame implements ActionListener, ComponentListener, private static BotUI instance; private static JDialog dialog; - private JMenuItem run, pause, stop, cacheClear; + private JMenuItem run, pause, stop; private boolean runScript, pauseScript; public BotUI(String username, String password) { @@ -101,7 +101,7 @@ public class BotUI extends JFrame implements ActionListener, ComponentListener, stop.setEnabled(false); stop.setIcon(new ImageIcon(Images.getResource("/storage/images/stop.png"))); - cacheClear = new JMenuItem("Clear cache"); + JMenuItem cacheClear = new JMenuItem("Clear cache"); cacheClear.setIcon(new ImageIcon(Images.getResource("/storage/images/trash.png"))); screenshot.addActionListener(this); From 301c4dd42c191efffed31051a9e51e13815f3a09 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sun, 12 Jun 2016 01:53:24 +0200 Subject: [PATCH 4/8] [TASK] Set title to configuration --- src/main/java/org/parabot/core/ui/BotUI.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/parabot/core/ui/BotUI.java b/src/main/java/org/parabot/core/ui/BotUI.java index 2a444ef..7dcd024 100644 --- a/src/main/java/org/parabot/core/ui/BotUI.java +++ b/src/main/java/org/parabot/core/ui/BotUI.java @@ -1,5 +1,6 @@ package org.parabot.core.ui; +import org.parabot.core.Configuration; import org.parabot.core.Context; import org.parabot.core.Directories; import org.parabot.core.ui.components.GamePanel; @@ -41,7 +42,7 @@ public class BotUI extends JFrame implements ActionListener, ComponentListener, instance = this; JPopupMenu.setDefaultLightWeightPopupEnabled(false); - setTitle("Parabot"); + setTitle(Configuration.BOT_TITLE); setResizable(false); setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); createMenu(); From 5b79000bf5d20d9e9b04957238cfa61dcf9ed662 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sun, 12 Jun 2016 01:54:41 +0200 Subject: [PATCH 5/8] [BUGFIX] Solved issue with possible nullpointer --- src/main/java/org/parabot/core/ui/BotUI.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/parabot/core/ui/BotUI.java b/src/main/java/org/parabot/core/ui/BotUI.java index 7dcd024..079beff 100644 --- a/src/main/java/org/parabot/core/ui/BotUI.java +++ b/src/main/java/org/parabot/core/ui/BotUI.java @@ -153,11 +153,14 @@ public class BotUI extends JFrame implements ActionListener, ComponentListener, String randString = StringUtils.randomString(10); boolean search = true; boolean duplicate = false; - while (search == true) { - for (File f : Directories.getScreenshotDir().listFiles()) { - if (f.getAbsoluteFile().getName().contains(randString)) { - duplicate = true; - break; + while (search) { + File[] files; + if ((files = Directories.getScreenshotDir().listFiles()) != null) { + for (File f : files) { + if (f.getAbsoluteFile().getName().contains(randString)) { + duplicate = true; + break; + } } } if (!duplicate) { From 02b655d23cfd3cc8893606cc97d3cddb9fb81f6f Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sun, 12 Jun 2016 02:35:52 +0200 Subject: [PATCH 6/8] [FEATURE] Added base for Key listeners --- src/main/java/org/parabot/core/ui/BotUI.java | 10 +++++++- .../core/ui/listeners/PBKeyListener.java | 7 ++++++ .../ui/listeners/key/ActionEventBinding.java | 22 ++++++++++++++++++ .../core/ui/listeners/key/Binding.java | 23 +++++++++++++++++++ 4 files changed, 61 insertions(+), 1 deletion(-) create mode 100644 src/main/java/org/parabot/core/ui/listeners/PBKeyListener.java create mode 100644 src/main/java/org/parabot/core/ui/listeners/key/ActionEventBinding.java create mode 100644 src/main/java/org/parabot/core/ui/listeners/key/Binding.java diff --git a/src/main/java/org/parabot/core/ui/BotUI.java b/src/main/java/org/parabot/core/ui/BotUI.java index 079beff..95b9972 100644 --- a/src/main/java/org/parabot/core/ui/BotUI.java +++ b/src/main/java/org/parabot/core/ui/BotUI.java @@ -6,6 +6,7 @@ import org.parabot.core.Directories; import org.parabot.core.ui.components.GamePanel; import org.parabot.core.ui.components.VerboseLoader; import org.parabot.core.ui.images.Images; +import org.parabot.core.ui.listeners.PBKeyListener; import org.parabot.core.ui.utils.SwingUtil; import org.parabot.environment.OperatingSystem; import org.parabot.environment.api.utils.StringUtils; @@ -35,6 +36,8 @@ public class BotUI extends JFrame implements ActionListener, ComponentListener, private JMenuItem run, pause, stop; private boolean runScript, pauseScript; + private PBKeyListener keyListener; + public BotUI(String username, String password) { if (instance != null) { throw new IllegalStateException("BotUI already created"); @@ -51,6 +54,9 @@ public class BotUI extends JFrame implements ActionListener, ComponentListener, addComponentListener(this); addWindowListener(this); + this.keyListener = new PBKeyListener(); + addKeyListener(keyListener); + add(GamePanel.getInstance()); GamePanel.getInstance().add(VerboseLoader.get(username, password), BorderLayout.CENTER); add(Logger.getInstance(), BorderLayout.SOUTH); @@ -142,8 +148,10 @@ public class BotUI extends JFrame implements ActionListener, ComponentListener, @Override public void actionPerformed(ActionEvent e) { - String command = e.getActionCommand(); + this.performCommand(e.getActionCommand()); + } + public void performCommand(String command){ switch (command) { case "Create screenshot": try { diff --git a/src/main/java/org/parabot/core/ui/listeners/PBKeyListener.java b/src/main/java/org/parabot/core/ui/listeners/PBKeyListener.java new file mode 100644 index 0000000..7f7ba79 --- /dev/null +++ b/src/main/java/org/parabot/core/ui/listeners/PBKeyListener.java @@ -0,0 +1,7 @@ +package org.parabot.core.ui.listeners; + +/** + * @author JKetelaar + */ +public class PBKeyListener { +} diff --git a/src/main/java/org/parabot/core/ui/listeners/key/ActionEventBinding.java b/src/main/java/org/parabot/core/ui/listeners/key/ActionEventBinding.java new file mode 100644 index 0000000..666d90f --- /dev/null +++ b/src/main/java/org/parabot/core/ui/listeners/key/ActionEventBinding.java @@ -0,0 +1,22 @@ +package org.parabot.core.ui.listeners.key; + +import org.parabot.core.ui.BotUI; + +/** + * @author JKetelaar + */ +public class ActionEventBinding extends Binding { + + private String actionString; + + public ActionEventBinding(int key, String actionString) { + super(key); + this.actionString = actionString; + } + + @Override + public void perform() { + BotUI.getInstance().performCommand(actionString); + } + +} diff --git a/src/main/java/org/parabot/core/ui/listeners/key/Binding.java b/src/main/java/org/parabot/core/ui/listeners/key/Binding.java new file mode 100644 index 0000000..d2545ec --- /dev/null +++ b/src/main/java/org/parabot/core/ui/listeners/key/Binding.java @@ -0,0 +1,23 @@ +package org.parabot.core.ui.listeners.key; + +/** + * @author JKetelaar + */ +public abstract class Binding { + + private int key; + + public Binding(int key) { + this.key = key; + } + + public int getKey() { + return key; + } + + public void setKey(int key) { + this.key = key; + } + + public abstract void perform(); +} From 486304dcdd982720e5f50f25ad53827dadbf62c1 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sun, 12 Jun 2016 02:36:08 +0200 Subject: [PATCH 7/8] [FEATURE] Added base key listeners --- .../core/ui/listeners/PBKeyListener.java | 71 ++++++++++++++++++- 1 file changed, 70 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/parabot/core/ui/listeners/PBKeyListener.java b/src/main/java/org/parabot/core/ui/listeners/PBKeyListener.java index 7f7ba79..b9460e0 100644 --- a/src/main/java/org/parabot/core/ui/listeners/PBKeyListener.java +++ b/src/main/java/org/parabot/core/ui/listeners/PBKeyListener.java @@ -1,7 +1,76 @@ package org.parabot.core.ui.listeners; +import org.parabot.core.ui.listeners.key.ActionEventBinding; +import org.parabot.core.ui.listeners.key.Binding; +import org.parabot.environment.OperatingSystem; + +import java.awt.event.KeyEvent; +import java.awt.event.KeyListener; +import java.util.ArrayList; +import java.util.List; + /** * @author JKetelaar */ -public class PBKeyListener { +public class PBKeyListener implements KeyListener { + + private int mainKey; + + private List bindings; + + public PBKeyListener() { + this.bindings = new ArrayList<>(); + this.mainKey = (OperatingSystem.getOS() == OperatingSystem.MAC ? KeyEvent.VK_META : KeyEvent.VK_CONTROL); + this.fillBindings(); + } + + public PBKeyListener(int mainKey) { + this.bindings = new ArrayList<>(); + this.mainKey = mainKey; + this.fillBindings(); + } + + private void fillBindings() { + this.bindings.add(new ActionEventBinding(KeyEvent.VK_R, "Run")); + this.bindings.add(new ActionEventBinding(KeyEvent.VK_R, "Stop")); + } + + public int getMainKey() { + return mainKey; + } + + public void setMainKey(int mainKey) { + this.mainKey = mainKey; + } + + public List getBindings() { + return bindings; + } + + public void addBinding(Binding binding) { + this.bindings.add(binding); + } + + @Override + public void keyTyped(KeyEvent e) { + + } + + @Override + public void keyPressed(KeyEvent e) { + + } + + @Override + public void keyReleased(KeyEvent e) { + System.out.println("test before"); + if (e.getKeyCode() == mainKey) { + System.out.println("Test"); + for (Binding binding : bindings) { + if (binding.getKey() == e.getKeyCode()) { + binding.perform(); + } + } + } + } } From e353efebd17305e406c01bad72264cef1cd59673 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sun, 12 Jun 2016 02:39:37 +0200 Subject: [PATCH 8/8] [CLEANUP] Removed debug --- src/main/java/org/parabot/core/ui/listeners/PBKeyListener.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/main/java/org/parabot/core/ui/listeners/PBKeyListener.java b/src/main/java/org/parabot/core/ui/listeners/PBKeyListener.java index b9460e0..4e0fe21 100644 --- a/src/main/java/org/parabot/core/ui/listeners/PBKeyListener.java +++ b/src/main/java/org/parabot/core/ui/listeners/PBKeyListener.java @@ -63,9 +63,7 @@ public class PBKeyListener implements KeyListener { @Override public void keyReleased(KeyEvent e) { - System.out.println("test before"); if (e.getKeyCode() == mainKey) { - System.out.println("Test"); for (Binding binding : bindings) { if (binding.getKey() == e.getKeyCode()) { binding.perform();