Skip to content

Commit

Permalink
DB options
Browse files Browse the repository at this point in the history
  • Loading branch information
Strandkrabbe committed Dec 27, 2019
1 parent a91f22b commit 818c30f
Show file tree
Hide file tree
Showing 13 changed files with 572 additions and 42 deletions.
7 changes: 6 additions & 1 deletion .classpath
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jre11"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jre11">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry combineaccessrules="false" kind="src" path="/LibSWA"/>
<classpathentry kind="output" path="bin"/>
</classpath>
2 changes: 1 addition & 1 deletion src/strandkrabbe/ts3/viewer/Connection.java
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ public List<Map<String,String>> request(String cmd,Map<String,String> args) thro
a.get(0).put(" error ","" + (!StringAnalystic.nonerrorString(res)));
return a;
}
synchronized String request(String tw) throws IOException {
public synchronized String request(String tw) throws IOException {
write(tw);
return readAll();
}
Expand Down
75 changes: 68 additions & 7 deletions src/strandkrabbe/ts3/viewer/Log.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,21 @@
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;

public class Log {

private static PrintStream out = System.out;
private static PrintStream err = System.err;
private static boolean debug = true;
private static boolean enable = true;
private static boolean detailedError = true;
public static Scanner Sc = new Scanner(System.in);

public static boolean isDebugEnabled() {
return debug;
}

public static void setOutputStream(PrintStream output) {
out = output;
}
Expand All @@ -19,31 +28,83 @@ public static void setErrorStream(PrintStream error) {
public static void setDebug(boolean u) {
debug = u;
}

public static void setEnabled(boolean e) {
enable = e;
}
public static void setDetailedErrors(boolean d) {
detailedError = d;
}
public static String request(String v) {
if (enable)
out.print(getTimeString() + " [Request] " + v + ": ");
return Log.Sc.nextLine();
}
public static String request(String v,Scanner Sc) {
if (enable)
out.print(getTimeString() + " [Request] " + v + ": ");
return Sc.nextLine();
}
public static String importantRequest(String v) {
err.print(getTimeString() + " [Request] " + v + ": ");
return Log.Sc.nextLine();
}
public static void out(String v) {
out.println(getTimeString() + " [Info] " + v);
if (enable)
out.println(getTimeString() + " [Info] " + v);
}
public static void out(String v,String caller) {
if (enable)
out.println(getTimeString() + " [Info] [" + caller + "] " + v);
}
public static void info(String v) {
out(v);
}
public static void info(String v,String caller) {
out(v, caller);
}
public static void warn(String v) {
out.println(getTimeString() + " [Warn] " + v);
if (enable)
out.println(getTimeString() + " [Warn] " + v);
}
public static void warn(String v,String c) {
if (enable)
out.println(getTimeString() + " [Warn] [" + c + "] " + v);
}
public static void error(String v) {
err.println(getTimeString() + " [ERROR] " + v);
if (enable) {
err.println(getTimeString() + " [ERROR] " + v);
}
}
public static void error(String v,String caller) {
if (enable) {
err.println(getTimeString() + " [ERROR] [" + caller + "] " + v);
}
}
public static void error(Exception e) {
if (enable) {
if (!detailedError)
err.println(getTimeString() + " [ERROR] " + e.getClass().getName() + " : " + e.getMessage());
else
e.printStackTrace(err);
}
}
public static void debug(String v) {
if (debug) out.println(getTimeString() + " [debug] " + v);
if (debug && enable) out.println(getTimeString() + " [debug] " + v);
}
public static void debug(String v,String caller) {
if (debug) out.println(getTimeString() + " [debug] [" + caller + "] " + v);
if (debug && enable) out.println(getTimeString() + " [debug] [" + caller + "] " + v);
}
private static String getTimeString() {
Date now = Calendar.getInstance().getTime();
return "[" + new SimpleDateFormat("HH:mm:ss:SSS").format(now) + "]";
}
public static void debug(Exception e) {
if (debug)
if (debug && enable)
out.println(getTimeString() + " [debug] " + e.getClass().getName() + " : " + e.getMessage());
}

public static void important(String msg,String caller) {
err.println(getTimeString() + " [!!!] [" + caller + "] " + msg);
}

}
2 changes: 2 additions & 0 deletions src/strandkrabbe/ts3/viewer/Main.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@
import java.util.Properties;
import java.util.Scanner;

import strandkrabbe.ts3.viewer.ui.UI;

public class Main {

private static Connection conn;
Expand Down
9 changes: 9 additions & 0 deletions src/strandkrabbe/ts3/viewer/UserDB.java
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,15 @@ public void add(String uid,String name,boolean recode) {
data.add(ti);
save();
}
public void remove(String uid) {
ListIterator<Map<String,String>> elements = this.data.listIterator();
while (elements.hasNext()) {
Map<String,String> el = elements.next();
if (el.get("uid").equals(uid))
elements.remove();
}
save();
}
public boolean contains(String uid) {
for (Map<String,String> m : data) {
String uids = m.get("uid");
Expand Down
Binary file added src/strandkrabbe/ts3/viewer/res/copy.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/strandkrabbe/ts3/viewer/res/del.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
54 changes: 54 additions & 0 deletions src/strandkrabbe/ts3/viewer/ui/CopyUIDAction.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
package strandkrabbe.ts3.viewer.ui;

import java.awt.Color;
import java.awt.Graphics;
import java.awt.Toolkit;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.StringSelection;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.InputStream;

import javax.imageio.ImageIO;

public class CopyUIDAction implements EntryButtonAction {

private final UI ui;
private BufferedImage icon;

public CopyUIDAction(UI u) {
this.ui = u;
try {
InputStream ii = this.getClass().getResourceAsStream("/strandkrabbe/ts3/viewer/res/copy.png");
if (ii == null)
throw new IOException();
this.icon = ImageIO.read(ii);
} catch (IOException ex) {
this.icon = new BufferedImage(64, 64, BufferedImage.TYPE_INT_RGB);
Graphics g = this.icon.createGraphics();
g.setColor(new Color(10,250,250));
g.fillRect(0, 0, 64, 64);
g.dispose();
}
}

@Override
public void onClick(String value) {
int sepindex = value.indexOf(UI.UID_SEPERATOR);
if (sepindex >= 0) {
String uid = value.substring(0, sepindex).strip();
StringSelection sel = new StringSelection(uid);
Clipboard c = Toolkit.getDefaultToolkit().getSystemClipboard();
c.setContents(sel, null);
this.ui.setMessage("Copied UID");
}
}

@Override
public BufferedImage getIcon() {
return this.icon;
}



}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package strandkrabbe.ts3.viewer;
package strandkrabbe.ts3.viewer.ui;

import java.awt.Color;
import java.awt.event.MouseAdapter;
Expand All @@ -7,6 +7,10 @@

import javax.swing.JPanel;

import strandkrabbe.ts3.viewer.Connection;
import strandkrabbe.ts3.viewer.StringAnalystic;
import strandkrabbe.ts3.viewer.User;

public class Entry extends JPanel {

private static final long serialVersionUID = -4144854534781428109L;
Expand Down
10 changes: 10 additions & 0 deletions src/strandkrabbe/ts3/viewer/ui/EntryButtonAction.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package strandkrabbe.ts3.viewer.ui;

import java.awt.image.BufferedImage;

public interface EntryButtonAction {

public void onClick(String value);
public BufferedImage getIcon();

}
52 changes: 52 additions & 0 deletions src/strandkrabbe/ts3/viewer/ui/ItemDeleteAction.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
package strandkrabbe.ts3.viewer.ui;

import java.awt.Color;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.InputStream;

import javax.imageio.ImageIO;

import strandkrabbe.ts3.viewer.UserDB;

public class ItemDeleteAction implements EntryButtonAction {

private final UserDB db;
private final UI ui;
private BufferedImage icon;

public ItemDeleteAction(UI u,UserDB db) {
this.ui = u;
this.db = db;
try {
InputStream ii = this.getClass().getResourceAsStream("/strandkrabbe/ts3/viewer/res/del.png");
if (ii == null)
throw new IOException();
this.icon = ImageIO.read(ii);
} catch (IOException ex) {
this.icon = new BufferedImage(64, 64, BufferedImage.TYPE_INT_RGB);
Graphics g = this.icon.createGraphics();
g.setColor(new Color(250,10,10));
g.fillRect(0, 0, 64, 64);
g.dispose();
}
}

@Override
public BufferedImage getIcon() {
return this.icon;
}
@Override
public void onClick(String value) {
int sep = value.indexOf(UI.UID_SEPERATOR);
if (sep >= 0) {
String uid = value.substring(0, sep).strip();
if (uid.length() == 28 && uid.endsWith("=")) {
db.remove(uid);
ui.setMessage("Removed " + uid);
}
}
}

}
Loading

0 comments on commit 818c30f

Please sign in to comment.