Skip to content

Commit

Permalink
1.8 Release
Browse files Browse the repository at this point in the history
  • Loading branch information
stringflow committed Oct 4, 2019
1 parent 4761c71 commit 64ecbd6
Show file tree
Hide file tree
Showing 25 changed files with 417 additions and 428 deletions.
1 change: 0 additions & 1 deletion .classpath
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="res"/>
<classpathentry kind="lib" path="lib/jnativehook-2.1.0.jar"/>
<classpathentry kind="lib" path="lib/JTattoo-1.6.11.jar"/>
<classpathentry kind="lib" path="lib/lwjgl_util.jar"/>
<classpathentry kind="lib" path="lib/lwjgl.jar">
<attributes>
Expand Down
Binary file removed lib/JTattoo-1.6.11.jar
Binary file not shown.
292 changes: 87 additions & 205 deletions src/flowtimer/FlowTimer.java

Large diffs are not rendered by default.

6 changes: 0 additions & 6 deletions src/flowtimer/ITimerLabelUpdateCallback.java

This file was deleted.

37 changes: 0 additions & 37 deletions src/flowtimer/VisualPanel.java

This file was deleted.

8 changes: 4 additions & 4 deletions src/flowtimer/actions/VisualAction.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@

public class VisualAction extends Action {

private static final Color TRANSPARENT = new Color(0, 0, 0, 0);

private Color color;

public VisualAction(FlowTimer flowtimer, Color color) {
Expand All @@ -17,13 +15,15 @@ public VisualAction(FlowTimer flowtimer, Color color) {
}

public void run() {
flowtimer.getVisualPanel().setBackColor(color);
flowtimer.setVisualCueColor(color);
flowtimer.getTimerLabel().repaint();
try {
Thread.sleep(flowtimer.getSettings().getVisualCueLength().getValue());
} catch (InterruptedException e) {
ErrorHandler.handleException(e, false);
}
flowtimer.getVisualPanel().setBackColor(TRANSPARENT);
flowtimer.setVisualCueColor(FlowTimer.TRANSPARENT);
flowtimer.getTimerLabel().repaint();
}

public Color getColor() {
Expand Down
108 changes: 0 additions & 108 deletions src/flowtimer/parsing/Config.java

This file was deleted.

61 changes: 61 additions & 0 deletions src/flowtimer/parsing/config/Config.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
package flowtimer.parsing.config;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.HashMap;

public class Config {

private ArrayList<ConfigObject> config;

public Config() {
config = new ArrayList<>();
}

public void put(ConfigObject object) {
config.add(object);
}

public void load(File file) throws Exception {
HashMap<String, String> processedMap = new HashMap<>();

if(file.exists()) {
BufferedReader br = new BufferedReader(new FileReader(file));
String line;
int lineNumber = 0;
while((line = br.readLine()) != null) {
lineNumber++;
if(line.isEmpty()) {
continue;
}

char start = line.charAt(0);
if(start == '[' || start == '#') {
continue;
}
String[] tokens = line.split("=");
if(tokens.length != 2) {
br.close();
throw new ParseException("Line has too many '=' (line " + lineNumber + ")", lineNumber);
}
processedMap.put(tokens[0].trim(), tokens[1].trim());
}
br.close();
}

config.stream().forEach(entry -> entry.load(processedMap));
}

public void save(File file) throws Exception {
BufferedWriter bw = new BufferedWriter(new FileWriter(file));
for(ConfigObject object : config) {
bw.write(object.getToWrite() + "\n");
}
bw.close();
}
}
29 changes: 29 additions & 0 deletions src/flowtimer/parsing/config/ConfigComment.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package flowtimer.parsing.config;

import java.util.HashMap;

public class ConfigComment implements ConfigObject {

public static final char PREFIX = '#';

public String comment;

public ConfigComment(String comment) {
this.comment = comment;
}

public void load(HashMap<String, String> config) {
}

public String getToWrite() {
return PREFIX + " " + comment;
}

public String getComment() {
return comment;
}

public void setComment(String comment) {
this.comment = comment;
}
}
70 changes: 70 additions & 0 deletions src/flowtimer/parsing/config/ConfigEntry.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
package flowtimer.parsing.config;

import java.util.HashMap;

public abstract class ConfigEntry<T> implements ConfigObject {

private String name;
private T defaultValue;
private ConfigEntryLoadCallback<T> loadCallback;
private ConfigEntrySaveCallback<T> saveCallback;
private ConfigEntrySaveCondition saveCondition;

public ConfigEntry(String name, T defaultValue, ConfigEntryLoadCallback<T> loadCallback, ConfigEntrySaveCallback<T> saveCallback, ConfigEntrySaveCondition saveCondition) {
this.name = name;
this.defaultValue = defaultValue;
this.loadCallback = loadCallback;
this.saveCallback = saveCallback;
this.saveCondition = saveCondition;
}

public abstract T fromString(String value);

public void load(HashMap<String, String> config) {
loadCallback.onLoad(config.containsKey(name) ? fromString(config.get(name)) : defaultValue);
}

public String getToWrite() {
return name + "=" + (saveCondition.get() ? String.valueOf(saveCallback.onSave()) : String.valueOf(defaultValue));
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public T getDefaultValue() {
return defaultValue;
}

public void setDefaultValue(T defaultValue) {
this.defaultValue = defaultValue;
}

public ConfigEntryLoadCallback<T> getLoadCallback() {
return loadCallback;
}

public void setLoadCallback(ConfigEntryLoadCallback<T> loadCallback) {
this.loadCallback = loadCallback;
}

public ConfigEntrySaveCallback<T> getSaveCallback() {
return saveCallback;
}

public void setSaveCallback(ConfigEntrySaveCallback<T> saveCallback) {
this.saveCallback = saveCallback;
}

public ConfigEntrySaveCondition getSaveCondition() {
return saveCondition;
}

public void setSaveCondition(ConfigEntrySaveCondition saveCondition) {
this.saveCondition = saveCondition;
}
}
16 changes: 16 additions & 0 deletions src/flowtimer/parsing/config/ConfigEntryBoolean.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package flowtimer.parsing.config;

public class ConfigEntryBoolean extends ConfigEntry<Boolean> {

public ConfigEntryBoolean(String name, boolean defaultValue, ConfigEntryLoadCallback<Boolean> loadCallback, ConfigEntrySaveCallback<Boolean> saveCallback) {
this(name, defaultValue, loadCallback, saveCallback, () -> true);
}

public ConfigEntryBoolean(String name, boolean defaultValue, ConfigEntryLoadCallback<Boolean> loadCallback, ConfigEntrySaveCallback<Boolean> saveCallback, ConfigEntrySaveCondition saveCondition) {
super(name, defaultValue, loadCallback, saveCallback, saveCondition);
}

public Boolean fromString(String value) {
return Boolean.valueOf(value);
}
}
16 changes: 16 additions & 0 deletions src/flowtimer/parsing/config/ConfigEntryFloat.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package flowtimer.parsing.config;

public class ConfigEntryFloat extends ConfigEntry<Float> {

public ConfigEntryFloat(String name, float defaultValue, ConfigEntryLoadCallback<Float> loadCallback, ConfigEntrySaveCallback<Float> saveCallback) {
this(name, defaultValue, loadCallback, saveCallback, () -> true);
}

public ConfigEntryFloat(String name, float defaultValue, ConfigEntryLoadCallback<Float> loadCallback, ConfigEntrySaveCallback<Float> saveCallback, ConfigEntrySaveCondition saveCondition) {
super(name, defaultValue, loadCallback, saveCallback, saveCondition);
}

public Float fromString(String value) {
return Float.valueOf(value);
}
}
Loading

0 comments on commit 64ecbd6

Please sign in to comment.