From 96f672e2457cae1316c3f12fb39b896725de9d00 Mon Sep 17 00:00:00 2001 From: Dmitry Isaenko Date: Sat, 2 Nov 2019 07:24:46 +0300 Subject: [PATCH] Bug fixes. UI updates. --- pom.xml | 2 +- src/main/java/logiledus/MainFx.java | 2 +- .../java/logiledus/USB/EffectsThread.java | 11 ++++++++-- src/main/java/logiledus/USB/LoThread.java | 6 +++-- src/main/java/logiledus/USB/UsbConnect.java | 15 +++---------- src/main/resources/dark.css | 22 +++++++++++++++---- src/main/resources/light.css | 18 +++++++++++++-- 7 files changed, 52 insertions(+), 24 deletions(-) diff --git a/pom.xml b/pom.xml index fd25a21..104a0b0 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ loper LogiLedus - 1.2-SNAPSHOT + 1.3-SNAPSHOT diff --git a/src/main/java/logiledus/MainFx.java b/src/main/java/logiledus/MainFx.java index 796454e..e0833f6 100644 --- a/src/main/java/logiledus/MainFx.java +++ b/src/main/java/logiledus/MainFx.java @@ -16,7 +16,7 @@ import java.util.Locale; import java.util.ResourceBundle; public class MainFx extends Application { - public static final String appVersion = "v1.2"; + public static final String appVersion = "v1.3"; private static boolean traySupport = true; diff --git a/src/main/java/logiledus/USB/EffectsThread.java b/src/main/java/logiledus/USB/EffectsThread.java index 26de749..8a5baf8 100644 --- a/src/main/java/logiledus/USB/EffectsThread.java +++ b/src/main/java/logiledus/USB/EffectsThread.java @@ -9,6 +9,11 @@ public class EffectsThread extends LoThread { private byte[] command; + private byte[] commit = { + 0x11, (byte) 0xff, 0x03, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00 + }; + /** * Used to set effects * @param effectData : set of rules, always not empty and not null @@ -61,8 +66,10 @@ public class EffectsThread extends LoThread { handler = usbConnect.getHandlerKbrd(); - if (! write(command)) - MessagesConsumer.getInstance().inform("Complete!"); + if (! write(command)){ + if (! write(commit)) + MessagesConsumer.getInstance().inform("Complete!"); + } usbConnect.close(); return null; diff --git a/src/main/java/logiledus/USB/LoThread.java b/src/main/java/logiledus/USB/LoThread.java index b0e80d8..f2fcc28 100644 --- a/src/main/java/logiledus/USB/LoThread.java +++ b/src/main/java/logiledus/USB/LoThread.java @@ -2,6 +2,7 @@ package logiledus.USB; import javafx.concurrent.Task; import logiledus.MessagesConsumer; +import logiledus.RainbowHexDump; import org.usb4java.DeviceHandle; import org.usb4java.LibUsb; @@ -37,11 +38,12 @@ abstract class LoThread extends Task { IntBuffer readBufTrans = IntBuffer.allocate(1); LibUsb.interruptTransfer(handler, (byte) 0x82, readBuffer, readBufTrans, 1000); /* + readBufTrans.rewind(); readBuffer.rewind(); - byte[] arr = new byte[readBuffer.get()]; + byte[] arr = new byte[readBufTrans.get()]; readBuffer.get(arr); RainbowHexDump.hexDumpUTF8(arr); - */ + //*/ return false; } } diff --git a/src/main/java/logiledus/USB/UsbConnect.java b/src/main/java/logiledus/USB/UsbConnect.java index 007f5d5..3febc49 100644 --- a/src/main/java/logiledus/USB/UsbConnect.java +++ b/src/main/java/logiledus/USB/UsbConnect.java @@ -10,7 +10,7 @@ public class UsbConnect { private DeviceHandle handlerKbrd; private boolean connected = false; - + public UsbConnect(){ MessagesConsumer mc = MessagesConsumer.getInstance(); @@ -67,17 +67,8 @@ public class UsbConnect { LibUsb.freeDeviceList(deviceList, true); - // Check if this device uses kernel driver and detach if possible: - result = LibUsb.kernelDriverActive(handlerKbrd, DEFAULT_INTERFACE); - if (result == 1) { // used by kernel - if (LibUsb.detachKernelDriver(handlerKbrd, DEFAULT_INTERFACE) != LibUsb.SUCCESS) { - mc.inform("Detach kernel failed: " + UsbErrorCodes.getErrCode(result)); - close(); - return; - } - } - else if (result != LibUsb.SUCCESS) - mc.inform("Can't proceed with libusb driver : "+UsbErrorCodes.getErrCode(result)); + // I don't really care what is resulting value for this + LibUsb.setAutoDetachKernelDriver(handlerKbrd, true); // Claim interface result = LibUsb.claimInterface(handlerKbrd, DEFAULT_INTERFACE); diff --git a/src/main/resources/dark.css b/src/main/resources/dark.css index 3b1c62c..a1782d1 100644 --- a/src/main/resources/dark.css +++ b/src/main/resources/dark.css @@ -216,24 +216,38 @@ .tab-pane .tab:hover SVGPath{ -fx-fill: #d0d0d0; } +/* .tab-pane .tab{ - -fx-background-color: #3c3f41; /* #2b2b2b; */ + -fx-background-color: #3c3f41; -fx-focus-color: transparent; -fx-faint-focus-color: transparent; -fx-border-radius: 0 0 0 0; -fx-border-width: 0 0 3 0; -fx-border-color: #2b2b2b; } - .tab-pane .tab:selected{ - -fx-background-color: #3c3f41;/*#2b2b2b; */ + + -fx-background-color: #3c3f41; -fx-focus-color: transparent; -fx-faint-focus-color: transparent; -fx-border-radius: 0 0 0 0; -fx-border-width: 0 0 3 0; - -fx-border-color: #40b9bb; /* #289de8; */ + -fx-border-color: #40b9bb; } +*/ +.tab-pane .tab{ + -fx-background-color: #3c3f41; + -fx-background-radius: 2; + -fx-focus-color: transparent; + -fx-faint-focus-color: transparent; +} +.tab-pane .tab:selected{ + -fx-background-color: #40b9bb; + -fx-background-radius: 2; + -fx-focus-color: transparent; + -fx-faint-focus-color: transparent; +} .tab-pane > .tab-header-area { -fx-background-insets: 0.0; -fx-padding: 5 5 5 5; diff --git a/src/main/resources/light.css b/src/main/resources/light.css index 005a434..66a6483 100644 --- a/src/main/resources/light.css +++ b/src/main/resources/light.css @@ -205,11 +205,12 @@ -fx-fill: #2c2c2c; } .tab-pane .tab:selected SVGPath, .tab-pane .tab:selected:hover SVGPath{ - -fx-fill: #141414; + -fx-fill: #ebebeb; } .tab-pane .tab:hover SVGPath{ -fx-fill: #2b2b2b; } +/* .tab-pane .tab{ -fx-background-color: #fefefe; -fx-focus-color: transparent; @@ -225,9 +226,22 @@ -fx-faint-focus-color: transparent; -fx-border-radius: 0 0 0 0; -fx-border-width: 0 0 3 0; - -fx-border-color: #40b9bb; /* #289de8; */ + -fx-border-color: #40b9bb; +} +*/ +.tab-pane .tab{ + -fx-background-color: #fefefe; + -fx-background-radius: 2; + -fx-focus-color: transparent; + -fx-faint-focus-color: transparent; } +.tab-pane .tab:selected{ + -fx-background-color: #40b9bb; + -fx-background-radius: 2; + -fx-focus-color: transparent; + -fx-faint-focus-color: transparent; +} .tab-pane > .tab-header-area { -fx-background-insets: 0.0; -fx-padding: 5 5 5 5;