From 7c9fe13ed16cf9c1c0a5fa5347d5d74190d26478 Mon Sep 17 00:00:00 2001 From: rajathi Date: Fri, 20 Dec 2024 17:34:14 -0800 Subject: [PATCH 1/6] Created LogFileProcessor class. Edited Message class and added a button to the sidebar. --- .../com/funkylogclient/LogFileProcesser.java | 63 ++++++++++++++++++ src/main/java/com/funkylogclient/Message.java | 31 +++++++++ .../funkylogclient/SidebarOtherSettings.java | 16 ++++- .../classes/com/funkylogclient/Message.class | Bin 4556 -> 5457 bytes .../funkylogclient/SidebarOtherSettings.class | Bin 4182 -> 4532 bytes 5 files changed, 109 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/funkylogclient/LogFileProcesser.java diff --git a/src/main/java/com/funkylogclient/LogFileProcesser.java b/src/main/java/com/funkylogclient/LogFileProcesser.java new file mode 100644 index 0000000..eaee262 --- /dev/null +++ b/src/main/java/com/funkylogclient/LogFileProcesser.java @@ -0,0 +1,63 @@ +package com.funkylogclient; + + +import java.io.File; +import java.io.FileNotFoundException; +import java.util.LinkedList; +import java.util.Scanner; + +import javafx.stage.Stage; +import javafx.stage.FileChooser; + +public class LogFileProcesser { + + private static Scanner input; + private static File file; + + + public static void selectFile(Stage stage) + { + try { + FileChooser fil_chooser = new FileChooser(); + // get the file selected + file = fil_chooser.showOpenDialog(stage); + readFile(file); + } + catch (Exception e) { + System.out.println(e.getMessage()); + } + + } + + public void setFile(String pathname) { + file = new File(pathname); + } + + public File getFile() { + if (file != null) System.out.println(file.getAbsolutePath()); + return file; + } + + public static LinkedList readFile(File file) { + try { + input = new Scanner(file); + } + catch ( FileNotFoundException ex) { + System.out.println("could not find file"); //testing + System.exit(1); + } + LinkedList messages = new LinkedList(); + while (input.hasNextLine()) { + Message log = new Message(input.nextLine(), true); + if (log.getValid()) { + messages.add(log); + } + } + for (Message m : messages) { //testing + System.out.println(m); + } + return messages; //change to popup method call + } + +} + diff --git a/src/main/java/com/funkylogclient/Message.java b/src/main/java/com/funkylogclient/Message.java index 24b23b0..58b0f66 100644 --- a/src/main/java/com/funkylogclient/Message.java +++ b/src/main/java/com/funkylogclient/Message.java @@ -17,18 +17,41 @@ public class Message { private double period_timestamp; private int period; + + private boolean isValid; public Message(String unparsed) { try { String[] split = unparsed.split(";"); + type = Integer.parseInt(split[0]); + time = Double.parseDouble(split[3]); + sender = split[1]; + content = split[2]; + } catch (Exception exc) { + System.out.println("Error in parsing message: " + unparsed); + content = new String(); + sender = new String("Unknown"); + time = 0.0; + } + } + + public Message(String unparsed, boolean a) { + try { + unparsed = unparsed.replace("<", ""); + unparsed = unparsed.replace(">", ""); + String[] split = unparsed.split(";"); type = Integer.parseInt(split[0]); time = Double.parseDouble(split[3]); sender = split[1]; content = split[2]; + period = Integer.parseInt(split[4]); + period_timestamp = Double.parseDouble(split[5]); + isValid = true; } catch (Exception exc) { System.out.println("Error in parsing message: " + unparsed); + isValid = false; content = new String(); sender = new String("Unknown"); time = 0.0; @@ -44,6 +67,10 @@ public Message(int type, String sender, String content, double time, int period, this.period_timestamp = period_timestamp; } + public Boolean getValid() { + return isValid; + } + public String getContent() { return content; } @@ -120,4 +147,8 @@ public Node getComponent() { return box; } + public static void main(String[] args) { + Message m = new Message("0;TestSender;This is a Log;<0.0>;0;<0.0>"); + System.out.println(m); + } }; diff --git a/src/main/java/com/funkylogclient/SidebarOtherSettings.java b/src/main/java/com/funkylogclient/SidebarOtherSettings.java index 84168c0..a900b47 100644 --- a/src/main/java/com/funkylogclient/SidebarOtherSettings.java +++ b/src/main/java/com/funkylogclient/SidebarOtherSettings.java @@ -33,6 +33,7 @@ public static VBox getSidebarOtherSettings(ChangeListener autoScrollCha otherSettingsBox.getChildren().add(clearLogsButton); + Region buttonSpacing = new Region(); buttonSpacing.setMinHeight(20); otherSettingsBox.getChildren().add(buttonSpacing); @@ -41,10 +42,20 @@ public static VBox getSidebarOtherSettings(ChangeListener autoScrollCha exportButton.setOnAction((ev) -> {FunkyLogSorter.saveToFile(primaryStage);}); otherSettingsBox.getChildren().add(exportButton); + Region fileSelectionDialogSpacing = new Region(); + fileSelectionDialogSpacing.setMinHeight(20); + otherSettingsBox.getChildren().add(fileSelectionDialogSpacing); + + Button fileSelectionDialog = new Button("Select File"); + fileSelectionDialog.setOnAction((ev) -> { + LogFileProcesser.selectFile(primaryStage); + }); + otherSettingsBox.getChildren().add(fileSelectionDialog); + Region testLogButtonspacing = new Region(); testLogButtonspacing.setMinHeight(20); otherSettingsBox.getChildren().add(testLogButtonspacing); - + Button testLogButton = new Button("Test Log"); testLogButton.setOnAction((ev) -> { FunkyLogSorter.createTestLog(primaryStage); @@ -63,6 +74,9 @@ public static VBox getSidebarOtherSettings(ChangeListener autoScrollCha }); otherSettingsBox.getChildren().add(testErrorButton); + + + return otherSettingsBox; } } diff --git a/target/classes/com/funkylogclient/Message.class b/target/classes/com/funkylogclient/Message.class index 3d296c1234502e5d4867106d3204a7aa3a87c1c3..63ccda409fcf7bce6187f0890a780fe7b97d5ee4 100644 GIT binary patch literal 5457 zcmbtXd0br875*MDya~J*Ga(Bm+R;RWfnf+HYM6w?Kw?lJsUS!a6CX2=;mOQ<kDEf z)#DYY#%dL(%-VssFb!*Ps)B%%O`BZ#S;egHoA0p#ufgdm!U~qoY_)^iPZ>E4XJD;@ zU{=pL24xGZxnmI&oT(vz@(P@VIu*6E*4J*24yFwa5!5TFl*T;K0`}U4y{Lu?REkkd z!y*L5XuSqijLybJ6&q&x=oxohBctIQoJ+v$QL$EUv!)%}!@#*j$M3t(Pmo--R(EsVU8F&%XJjg6hp5Vcw4Yl1%tUvf;ZcjhHY5N@Mnelv?XF!6+{~) zmslf~eOO9%h#)Ujalr{2GAVbAC5)_V+LnSPou*}Uk7fpqT(3?XMN--cJ>940O!4ds z%iLj;3t!W@aOQKz!BI=%&suF_y?fH+v~mU)pNXh1g5?@hxGKQv3p3tirT%!Y$&Lp8)lxzH&wG7D zW!M?R&5g%8EdK74Z>u8Z@Kb^N@PIh&4-)g*c7E#mgtdn>ybW(>B5?K|J(-k2S?!_D zJD&KbfHu)&l_N0cV@FCJY0qW1`!dI$a#E^GotpxEHCNxZ9ir0(C zsbMpn%o*g)GyUU47!!6n&3m4d>hQ{UjNBnXo}H%S#w+nGrd1qQaJnDDg(qwHFrMQn zVw~pOUS1s$uiGnPI-%mDJ}uGcKz$bYQXyg1eNn%B9Arj_I`^m_QGEVBCBXW?_U7Kacs@c=?nZe0rgLZO!A%h|koKxx7J|dZ@k%^)T5czPYKfsWsl@_2OLZs9=fqb#XC%V*&U?0i@?r zyvmde&qR+snoAfvO|d`CuizR*l$Z{rTGw%z5M72lY$u%xd>=nl@dE|x#0;;zGp$4R zh!OMF?A`S{^@MBZ#>FZ5k%IdR`OTm08Qi5?N%F_KPTL+C%@$rvJ^}@&YnEa!E6F0$ zi$!_9i8ei*?lD~>zN8%A3*tout0g^$O)D(!ZYF=2JTFSwmar1UOGH9Z;^J?!((1KA z{9M6SrGWF8(RQvSOtdVAR!F!Dj@Rzod0z9m&G8_9so*rv2ygvV&K|XrQQy$ovzwav z3F6oPm!r0}^_%GEx3BD|T{!x^!qVw~+fl);>FkdRnikkqE;XpvHgDY65T0q6!cBES z{E1hn65gj=#ysq>EF;&J)*Z)iRQ#1ZGcVtYWsr)$bDys~m9*fc8&2nODJ2K;eMVH) z9F>UbSN5!jWzPy(_AGd0&k{)XEPL25p#|2KY(>%gGVeBFZ(n2z%j!cbCb6n3(oov` z3{IQCx=2GgM>P{@h%}TnPoOc<5MbAI6w$7y&|H5U=Yb5nIWmpvfhnBNpX4yKeG2Vj z`bkuMlCH`SMH6W9>qI+6oo9o^eCbAxWu!Rb{Zv~r4r97 zf#*JydU%qH3237PH0c3~V~p@3TCWj+Mpnxd5_u36nX!t9G(?t{Phfv!l{$d~PjY67 z%!o5&>Tcm4TdBX575X+t?|cSrJ9D9p@o$%F-^FC7_59jvcDFPjKw5t6a)2kiIoiUaw~fQSS0~l_aFjgkCh4&9y@rLA1p9Y>BA<@bSV_^KF2!T zx3!g_61Fs9tL%}Y#u5d_wAsc){lP-Nn6W@{W2sj*HlB~{ZxO&D z7^B?&VV=e@a>h8qL^Xn|$%xmG{jMdST}LLlo?zZcKD&u${}#@;l{NWo{JWhSxD$`# zE==HVJcoPm0`A3&d@~cbPOAs24}Os4^qz~{+1 zk7FagKv_UC=VFxp3u{#z;XSl+G4tY!_>!M;-Bc4<5}JlG5c={IzS=2nj7fZLh913~ zcnj(5e%{;<6y!t*-{i$7UL%9}7OzE79ekV5C0yKh<>D*wV@iKg(Ee18eB_GSE8+E(xv{0;v=^?w0L%JpIZ literal 4556 zcmbtX`F9i775<(rX@ot5Ak1PQiCAJRd66+th(*A`hT_&H4tDGs!ZMb|@?dF3(Tu?+ zO_MHZp*w9)+oWxpbR$h^5@>7(T+)4```&Z;SY5kVT&$0B+MKjmfpSE2+=W#F<+ZWCFjiA^vI1*Stzq3fn|)Js ztj7j{pqtNHv~^o4>BkpqtiV0EPs6Ser9O%r?hP8D78T4Rgh0 z*`6yveb$z_i-hqIDUaGCwsTHV+GLVfXgGLV zhJxY2v6PwjEXNjD(P`P{k15Q~ zF$%QYexqQsewho)Jy<9>tlzNb_>~mKpa3GYGA)6^h#x5dhyU91QZ9vv(7XhxPE*^Q zT;8!&hgn^Wz|dI2O_{ctIKp0#)Nn>%okZ9SJ!_0pM56D2Ggbi$5e+$k>Jqu{@y4^J z8-^pWreSETVbCeCTQ!`s(%x`ObVq)SJw@Pg9j9<2f->xmu=DJev{4-=B`qLnK{4%Z{H4Jc;*6#J`u3uWjci z)+ePsqvQSf0O7#h-9|dCQnSI2I(=RsE*b07aB)_fA1cor^Af!rA_(I{GIJl6ZLocD z{7ay$0vFI0#>WJX$|wyHk`1nP-fW3BH!((0MYOWnmgpA4FpBST(~yy~vg0k$ZYQ6& zY&W@pd;3lm;R|>|!zY$V;$fA3d|6;qF@;NS*6~$*jkUx)E$HC>>6wfjlR14}!`F+a$_#8JoTaL7=(vJ!@-U=~ zhq76wvUYAenvp{-gU%RFaFxUvF>}z*uCy%YW=^>hgWT>pJZ#s^-#&v3ZVn7O>G7om z%1m%iW%0z9U?L`aoY6wcJY-4vdhy=SD5J!59B>@Z^_Y+@(;IfuZUt`O+Zv_?w#ps; zrNXk$IwNMn?=Jp%bI3?}PGMZ4^rpaP=k}N4ZeQSG!%nk)w{|+t$Y?&f7|U}g^B8-1 ze<`uORFoHsXfv|e9?LV6D?+#)#&-oas3sY;?5I3H2)-!0t-L_BL`4|iXC#D3%D=s0 zpFf82LxKHbPR}8toI*>K(Xw4iVZ&Q;z2(rMJzb~H-?Ppa;jI*cH2jf%-gzs_(uW&1@fav)4+`;M z;O&m9GI;}2Gw)<-<}FRlJkHh31D>-^PTp%c-p#jv@DP!5j>o64vMy3Ji8WpE`ts&C zuyF#L4PDpJRCfb!0VdHBpT^pODeUK0Y8h#r!U4Jc zF0x*wssI|$gm$VrL}kr10$5GzTAEhP)q32A4XD9J?z@M#$b0zJ+K z$q^?9O(ng9vs}H6uCgm|&w9L_A=r)>I?=_|5q`f4W&ftyG7UnbDh};2<^97&?_Z)p z%eb*ddLQ4QJeFoRNJrKMq~EJU6X=ew(%P#W$f`KdLQiKmiKWy!DL{t{T zCLvS~Auq+eZWU$iFNQ#uvH~xZ6n1!yFnzu-d41!3u9UD~XR%_jaX1-(Z&9%U8vDrIYYIYrCMS%pKY&IB?T_DvTr z6PB`_{Cyf0OMj#@Vt2(Sk$)Cd^*2xex;VLv&m`Ww3m#oMaaP z0Uc&bs>EabC31o_e-csVG>+43KL)Q2gGe&U2asl)%CHexFfoGj$l__(xCjR?;&Hsf zAWbkrH!+G^IETMsTm^rhAJ$^R diff --git a/target/classes/com/funkylogclient/SidebarOtherSettings.class b/target/classes/com/funkylogclient/SidebarOtherSettings.class index 7a3752858cf1287dfb76bcf9e4aefff70665936a..35bb39d3da5ffec0d569f1fa6bf2fd5623b30079 100644 GIT binary patch delta 1394 zcmZvc?NgLh7{-5xg?)LRvnxaSVHsnXAtiw%1JfjP60OX1XmEy@$(gogWj2>x+eOQy zwpU7xNS{>QZPU zwMEj&cv9qISKg?wjJzV9PNmBz8J_9wQS-~!3+w_no=Pr{M-r*d){T*Yt;Yakl%r{C(`v>}A0D&)?YkJO_O2S5!q)UG?iXB{yslXfzRzCA;e- zryIW|or=aXnOIu$0s|5)V~*x-$%zt?uDd!Smp54S@segxxJ`j_yU|@A(!46`I|CK= z0(X5_b41qL0xjNm81iw{IUlI@yvwi?uzpu>JAYcUvhP_a#x&d6F~iGfDLYCr+6Nkk zXGMEIuYIC<&S)R!wJ$UWjrMt7`$qG!(Z0@W-)mko+IOPKJFHA5W9ep{h{#bhKF%p- zJN?#W&OX~J{zXw?7ANhQ%I{3tw^<$!HZwpS9KJ@+QrT7QqpV(RhwV#QGeS$<2v>#e z<1`l0Ho@BVviK;sFVqB3Ry$dx4$vZZ00S59fixLe$&Jv>CV54F zR_$do_saOsRhzkwEfTL;-NF5Al|k=Ri|FA2O6XN#9wdub;{L-!qWL83BoB+`m#7mw zB3eL#?&nd_EQ#5}W1`s-avhJ0rX^w%y;21wV3;SQstfU?1k#elO_gRFlv?g+iQgBsgEG0E#>>iS$$lS2k^wpU28@?RFZC1jUk<2wW z6g2P4H(Q3-Aa~GsF(8{G$N*16cyTIWi4d;8n2-a=v`+(gWh$Uq0Lu#i+592ow=oUj z^{IrFLb#=XkORm=zhUm`O_@FcT(FBc&xX@UoAu1GYaYpNi;H=L9 z73X;tK|pYxH6|`hTwr2cxbzRujq&tCQlc#0d*^=deBb%*Ij4EhmvrmHpY|s}5g!_@ z&xvC_^MaA8^jVcS0uw0=HG(QjyEei?kjKLKO%fQpZ;mU9-2~9b!YGrr2Ke}q! z?WWGY<;hZe?9ZMGPc4Tuhq3J$Nq#vT(;Sz>r=k0qYboE2i4RqVRN6*rgdh&9-Gm238C>$|#WZ}tv|-mp;I*6gIFuZvqL z)TCgr`;($pKQBaS`SG#KoeVA7A7p-?b9wLB1s1S4+VC^DA^ z)&xeB2SRq6mF9Hw&YrDDE4RH}&#@f!caHy(89vp z7V>=Fhxi@L??5ujV;S0~B_kBi&|Mk1_hep9EP3x{pk0?dDVo7$GPz9_4;jKMviZbN zzLLuihVhf({31^|8L5)-tNx5pnG~oz#;ZaK)pUx~TqdhUOcAfJqsuRqtdx^DXBA=T zt4Ea(p-L7bTNSXHHR58bN@H!5btF*6Z`QMcL~7_{Bh|RXRtK8|bBn14HVftvOVvaL zOA`Y**L|!rDW1B>p?NVDy*_eS!F-3|Mo2wvh`7=D`OrC@`c10T{aF~v` z447{2VaQ@^FZ&Ex7NDCvLcR{+Bo1xk;J@VT9^^zrR#I6urJJ1JgM8GGqo%ZFBu7cX z{9YAguX<595ij2*FjfS{^(r7s*o(mFM(KL@?Yk5vio&G-6=YiHOrOqkLB4(&)OEpb na)-Mnx Date: Sat, 21 Dec 2024 14:13:35 -0800 Subject: [PATCH 2/6] Adds error popups (changes in FunkyLogs class) --- .../java/com/funkylogclient/FunkyLogs.java | 33 ++++++++++++++++-- .../com/funkylogclient/LogFileProcesser.java | 1 - src/main/java/com/funkylogclient/Message.java | 4 --- .../com/funkylogclient/FunkyLogs$1.class | Bin 1232 -> 1321 bytes .../com/funkylogclient/FunkyLogs.class | Bin 10414 -> 11525 bytes .../classes/com/funkylogclient/Message.class | Bin 5457 -> 5237 bytes 6 files changed, 30 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/funkylogclient/FunkyLogs.java b/src/main/java/com/funkylogclient/FunkyLogs.java index 82d749d..04dd15f 100644 --- a/src/main/java/com/funkylogclient/FunkyLogs.java +++ b/src/main/java/com/funkylogclient/FunkyLogs.java @@ -18,6 +18,10 @@ import javafx.scene.Cursor; import javafx.scene.text.*; +import javafx.scene.control.Button; +import javafx.stage.Popup; + + public class FunkyLogs extends Application { private BorderPane root; @@ -26,6 +30,9 @@ public class FunkyLogs extends Application { private double xr = 1100; private double yu = 70; private double yd = 650; + private static int count = 0; + private static int x = 50, y = 70; + private static VBox messageZone; @@ -99,7 +106,7 @@ public void start(Stage primaryStage) { enableResizing(primaryStage, root); root.setStyle("-fx-background-radius: 10; -fx-background-color: #1E1E1E;"); - + Task updateTask = new Task() { @Override protected Void call() throws Exception { @@ -109,7 +116,7 @@ protected Void call() throws Exception { } Thread.sleep(200); try { - FunkyLogs.updateMessageZone(); + FunkyLogs.updateMessageZone(primaryStage); } catch (Exception exc) { System.out.println(exc); } @@ -123,13 +130,33 @@ protected Void call() throws Exception { updateThread.start(); } - private static void updateMessageZone() { + private static void updateMessageZone(Stage stage) { Platform.runLater(() -> { FunkyLogs.messageZone.getChildren().clear(); @SuppressWarnings("unchecked") LinkedList fmessages_copy = (LinkedList) FunkyLogSorter.filtered.clone(); + int a = 0; for (Message msg : fmessages_copy) { + if (msg.isError()) a++; FunkyLogs.messageZone.getChildren().add(msg.getComponent()); + if (msg.isError() && count < a) { + count++; + System.out.println(a); + Button close = new Button("x"); + close.setLayoutX(480); + close.setLayoutY(10); + Popup p = new Popup(); + p.setX(x); + p.setY(y); + close.setOnAction(e -> { + p.hide(); + }); + p.getContent().add(msg.getComponent()); + p.getContent().add(close); + p.show(stage); + x += 60; + y += 60; + } } }); } diff --git a/src/main/java/com/funkylogclient/LogFileProcesser.java b/src/main/java/com/funkylogclient/LogFileProcesser.java index eaee262..1dee1d8 100644 --- a/src/main/java/com/funkylogclient/LogFileProcesser.java +++ b/src/main/java/com/funkylogclient/LogFileProcesser.java @@ -1,6 +1,5 @@ package com.funkylogclient; - import java.io.File; import java.io.FileNotFoundException; import java.util.LinkedList; diff --git a/src/main/java/com/funkylogclient/Message.java b/src/main/java/com/funkylogclient/Message.java index 58b0f66..c3f0f22 100644 --- a/src/main/java/com/funkylogclient/Message.java +++ b/src/main/java/com/funkylogclient/Message.java @@ -147,8 +147,4 @@ public Node getComponent() { return box; } - public static void main(String[] args) { - Message m = new Message("0;TestSender;This is a Log;<0.0>;0;<0.0>"); - System.out.println(m); - } }; diff --git a/target/classes/com/funkylogclient/FunkyLogs$1.class b/target/classes/com/funkylogclient/FunkyLogs$1.class index 2bbc076cf0cb34ac227032339d7ee31a708a9b55..9015c52ae2e07815cd5848ecb963cc9f984f86d5 100644 GIT binary patch delta 720 zcmZuvT~E_c7=BK>wYEF5f)j9?j0`4QhfWj}93Lw9nGr8$xbVg_S;fg1vn|LH6O2E= zWa*W^VDS!(ATjC>@XBA{y?;V{&(RBwwCOp|dEd9s^Sp2S&3I#)Uw?l50$>hzI%Z?i z+HxABEw8@rcf#knM-Wd?1w-mC}n3{#yKnetIJg%yU#;zrFi zz;K)+3QeFmhmK<=RP=Hf=<9rX$x`70OKPV%hL8y#vdr`daymvCETLU$IL+14{l}i` z)Hu#yj3MebT(?F1`MZS`69p7?*bM28m9BD(<19n(W~=4|?y~FqX8aRC>@m@=$Q;j)fP;e;}%PGcslC~MjR#{dSy&&pctrqGPijJzOR zR!4Re%Mu*}R-fpXMy%3fz@!nx2+cr|k+@yl1GmTb&|`mq^_Ef!PSC1RA<#sERxWWI zC(%!*h!CZ!QxY>ICE+WIC=?m9_mO_R1Fegp1cncgwcn%X0Qv6WkIFloEAC^md-$F0 z5~oE>NxD_3n3Xm?vg?!0P0Bu_{5Dc(Ba5fV;kk6v|6Aven-tYwL7CWQN!=iK#yw(4 zn${A%J@=o_994?WqU3Xam%!ic((fiCl*UzwuHm}e7qLWpgg*5R+#)3AC}_lWn;r#) EUx&_hN&o-= delta 675 zcmY+C%Wl&^7=_QoiH(hEU0M<-QBpSqaskYxKub$0wB10Ekb=5kXNU=IQYR!XDyvE? z*;N(`o*-g_3KFGa!2_`38QAj*lrvTf#iRNC&&-)K-(21sKXl{!@2}qg+`{sf(KgjN zKk&nO0lQS&va-3^@`^xmvD5H$2plz$f@(m)F%uewqNI3jX9Px9-IuP@c7vv~yz$iQ zhJGh7s6S<59H*m!$WP~CYnTwQ{z)G_?|E*+#3Tv=seaq@x?HPtue@TQh;tgw3SVzic+urJ|?hRX+#e#d#( z^MkM+a&fAzVk-KOXsI_%jAAUxE3M)k+?70`+Y1FUrJ5vuw&Ad&={a>7c`DIcrLZY1 zOCAW1Phr(?gnQPRO(DSo7?tX0hA%KbvX#Ivqe>0XgvDsaxq%TJXDcZQs5%kn0_oW6 z&AwNmvV)WFpbjuThU_kKyVyK4*!xxcgmQHU&S3AS*ruOFmo$qKuQo|0phdPe3Zu6hyWiMcnnS3(RMt)1I2^9YT^4@6H diff --git a/target/classes/com/funkylogclient/FunkyLogs.class b/target/classes/com/funkylogclient/FunkyLogs.class index 49d59355168f93620b65c1b0d837a18d6a03d9da..da87b05f50b94971ea7faf728ca686ed18805522 100644 GIT binary patch literal 11525 zcmb_i3w&Hf)j#KEvp3leZJLHQTiX))fV|qYrKKckYuYrip-CE&kTxw)Zgy{yZ8v+@ z-A&tog7Od%5m1pgDk_MIN=i4SMMO{(#EOdV7e4Wc@3+$LKQs64ZqjW&K7U^y_s-6o zIp@rI&&+-Hm7|Xn(FP-FlEJhfh(lMV+BgG-Ah6b*=JeyE6m`AJd|})_!a7 zV4W3@M(y9o3d>tU&3)xOcm`eU@~OK?7FBm=8UH5Ham&1o#?V+b|aHSBXbdR04gU|~{}|JZ5j&Z*hU{HV%x0RO7kS@i=OEC|utrnPo@6ND zL?!-ROhrjMvENR#bupEynP4Y2RM(SAL}Ejj;fp&7&?{Px6~`i}jZ6iVRek7hcEWZs zF}+5Rpwnb)p`e+%b%vl>x^o_%Cz32LMBmAX>Bk(3m`=^FVY zeO2|D)SflOQ`lF4w$TbHknMsB$uECiAgG&qm`)qAQ$4A%sNEd3l341p$|`ROA=r!^ zl181Z+dd%8Mhd%f{?zb-`U$32V1;4Pla{f4U@u5CR_!wB zBBpXr47qM1Ejd8DX@yC9n1XpUq4-Z0k;Mc}?xv8SuqQh;X3`+jTo?I}?Tpx|#8_Qh zENQ2b{-&i$?U-rPUTH)7n9Ry8_*2yqUlg)(E&*q?(M4tRg*5uva3~^vJa-}dhsZtH^3-*Y%38OZm0;*7+oQ! zo?k?7V%oTT@Zj=6Cze{Cj9g|nRIEBTez37Zbw;AmhKePYWx2m4(4aLEiHO zB$jNH*g^qH(ba;kk;X9t#?d?+iG~w)%%rzWwX+bAAh0ODS|fHe9H47yg?wBu=xuZZ zlaPFOC7igONFi`lW{qpWwqRCqcgPJt9%N%F=E3Z}C%>Yav=)btxFl!oP+?+|pS zRH2Y|lCTGNM8c_IX+T#?&$~xZ3C;F5{e7=HVK=>B(0%j)kaj2ZKxYUgFg=NRje;Y8 zlYT41eo)XyBnfGXJ#i}pQ!Jv7K`m0n16F9?Py*Q^yd0kBB%tn9E%I-pNgroAW0G%q zs_RjiLFS+UJw%_Brt~muFSC4YeVqvXFl-5ONYEp67;ytEv_?|Bj#{QP++7-ALeLQj zFw+CrYDb2KQ&JE|1s$WuFf^>XJZ&?rJf&T9+g5mcEIPKu8Aa^zX23p}9+&pld*ogprfu1$#8AN`G zQO9i^@C1F4o`WAt|I%@Hjw=EUr8*I1j{^q9hqEFc8w$|#^i`9-g4~!zrvL?gjb6~+ z+HEJD(L@M#v{;K}a<7|!z(l2syzDjmI z@>xv3qTiVG>#4~iZbcyLX6e;}eoHSy*S+1FI(xb{b+>f(o>T(nfI}xQ(eI^O{{iLD z6i?~05Z6wv5ZF&SXxfM2l5sP1OkF_mNpVH`7{LbJbsg@8kepLu;5uxCYLa+t(?9n&7%(p%H+~X;iz{wfe0Jm*<2>^ zo}Ll0jvL*hF(o1?V!+H3TrOj~jB#5md&G&!-uZ$yNx_SFA~Iqn#+0m?%JOl5SOUc% zI09TZbSZ>^Vx0T|56VrjDl zno~AnUaF9Vl`3EWK4T=C6H(hv#_LVUf~ewO(#&13;z5}#h6AJVu$97wC5gf^!zVC> zMibKi>f{LEgbSxMGI?{RwFH>CllMSlac>_~?eRGU?|Rj*mD%S+!i^h&Wwxf&k=;d> zlAl)zUd`vAN>7Z&n5y%-f(~?3Y$L#Hd7a7UqAGS{MDBjLD{7?%oy3UX^Q3td0ed^d z0cFTd(-0i8l^X@GSJf}~9>y@D@fY@A`NsqL{2XEbSdIQwNCyC{P@&(x~EQtUi;N;dkLoLB4Rr(n|K zF*jpovQ-}HlJVVwFOrPU&N99wVGXGge8zw}wD5|)5u^!OF7D1TGxsDx#&Bj!@Bm}m z=8syVvCuH0vy~XaHgis%8BkQz8W{*%OII>&%g87FZC;m5Zg1o( zO}+v~pN%Z;u;4fGn-QJ|Gy-?6I26N)hEM7j)|`h90+B1BhX1PsJic<(jlk@!eocU{ z=Nn9Z+azw=kX47I{l1-V1Z><&ByIFfIdAct6Q_wDy0x;b_gK^+VUs%bX_2+PDz29B zErQ?4??R44OlWpuF?}wyDU6c=d1~Zt7$;l%qFQt5EYxZwL3 zn{8lLr>13-_FL{Tltl3%!T0k6AQ%BTE9D?j&Gldv$~L#ZaRxugA2sHyPh!|iXinKPgX`nGv6PDW1(`0t&a^6H z$U5OE`0VySU%~_JZwmgFOnCAjW_wH}vnFT0@OTVsYGYsIn&$Ncd&`y~)4B zN~DqD;zTcGDyZN;@E>7h5c^JusIqEH05ktA_%B{}zpPXKCiw5NL!P3zhi%*VpMw7- zJB!h&t2%#Et+u{mK4GwF;OI!%c!qrQXd;P?wP6?qnAh2|r@N)6ZC8uuDpTOFpWS8@ z3d3)hx^~plCz*p1fbNGmNV>(s2x#;>T=cS62;(%>+mqWnOBf}(*JDM(mI`Bz>TT}c z-qW*nQ(HF-Lm4!VTP7RERCz-G{t;P!LYlgP%Chi)JfB2|K8(u-;(DgOSFh{r)?H`T zjI>T-LT1^QjfKKkB=sYG3cD!Vj=}w3HY$X1=HzavVq=LgmKw{nHa$7d%br1L^Kk{8 zUBS9j1p-e@C+8u_+;O8y7}e?sVHn3$@F)Ba^r-W+)`&d*nwi;)uaE|eP>WQZN~RK4 zyu(fnJKsISC07yAmMUO+j6K!08d54wHWG`^k_=-cpLkesISEisy03R?tU z#+QRaa|vJW_FAOwaI;{v%BY!u(YHvwx;3Exyg z<+86|@Ox-8`gWqjg}X%XulYCVyEt>YJDslKtkhLeoIbQP<$7Hdw?MZL%=+PCJ?Eu;s08lFmdVE#W|mTTyS^J*zkFmDL*;%6QMl z?0HlUdO`f!j<@`CM!_MPU$XiTEhuR{M2mcfsA8NJAEL9y>Fh&P^)NsTs>X9J*dws( zqs6%JJ{uR@RX|ovH41`&4j0cZ@;z9RM1N-W1TC*Fqq@Vi3a@hx(^|aN9j1D`8V}Qk zEc*Fs?LnYlh+F4HKz|1Ktia!(A|W(FdMz~pG2^gpGoDyUK@;F-pzFn&(&jX^R3D>l z{S(x2m^!N;q0TgQmG(YL7aFwV812Tu#T~V!m!@f;_88gyWi*ueH$jm!MO~oI<$5?? zM);S&(;H4rnerY zw-cr5=Agff-jk-=HK<>ME>F{4L7#5dqP^V1pcpC>6g;Q`js-!jOSxYUnjymW(+5hb=yq7oho~8sRa?Mv3$ChK=_|CAzKgF6UXlkMsHckYCBba!OK`7jc{}#!QWKuSEZ~6yjSc%y*N`_u;nvej4VF(q4Xq zqWn0;_!(SJzd@6c8JL%LeobzIx7YuB)1ehn{xWmjSovkV?HQWKRa`AM2e=ui;aUpt za>x$eY_ky0+ox1_`0NI zvb`%yOWybqjH7@)fq?lW7V>pPr&?pk(3$Vj0ag{V4a}Iw7h_HV1bqqbacQ4}w-jYz z^%1@_OGZoaTR{5l94QuZh{HrB0h!WW1pRo++)!A1goh*oZT=cT6A)}t2r4uXM|lJ= z0OuG2zoN_zT85``H5P^0N;0StTrv^Nmn#?JRB;CtRnJOuQd09NXVcWWVWvGf)P$lY zX$aoW2b3lRJ7^W;P?JyxVQOQ5Lq?bZvM3!~vOC??71gHs4M;oL1^N~97v+#E$}Fyk zui~rKcoAQNR_@{?)U|4HC`Mc=7rImmYmw8YlDIgBL}7+RAzzh|-!-R{A8H$yM0O!Z z_^ocv)SA)@xg>|mq=mRtu#hQKB$U|Gn3(rdl>_d2ly74i=R4DU?-Tsq_JR!v&L3>>JwT5k9r1^m zp5TW%m#6s?caZ-YgY_i*9{2K=9JzU%<}bL9uE)!FDXNKaPA^FFW5@W({yF^F3I3eS zk7fLHn!kWI4W;>u$M|^v1V1lx<2Wt2F3n$&jYVjDHCPz*ALXw}-~0wLCx1IjPW|-K zYtUbv=I>#4$$Ai7fZ3|CNHYFIraMnGWo`Hp6h1`P!G^Dgq~C^LH$YBrN4mHXY2Y2O z?3?gq#?3TqfV+;m`4{|41Z_7M zyEA{~`bq;8oS+ISG^y3ZX&gfOgG49rouJoa@}vabq{skPejC*K z+crG@RPTe-{#q|(_mBFb%5r}h|9j}RdueXD53Sqprqim&`IWQ*69`x8p4=g$NDZ~Q zL&0)id6A0&6O9>av?hyoD!@zy5CG_Gw6gBF5noOceG;O17)lyPwmSq79)|GJw3;T6 zr;i}3KZ>k=l=k8KnQQ4WsP9uy+v8Br6Bz|ysYaP0gI^)tV$4O_Fo5p{V;)*QV7=BT zN6Qb~R~kXIid1M?LWL(_3x1Qfnf!7A{vfn3tT+KcL-)ap47q)9C|L+$Rg(az6^)2WXofm@#=^!vnNh4e%@8z*=ucP|uioKh098 z^uUH{1WF?-v&~3|L{EXq&mx~cjdb{VT7a)@7Sl6SN6%tGUqtQm9O|1dQ70XzUivb^ z!}BzRnr8$b%OvOpB{!Ykl9}|DR1z!z-l&qG57-Bl1pP`{0rLHamK79~m!Dn|kozYs z6x3iyz2K;@I&D-=jZL>h{C6mFIyMy=HHb|(-ZJF5lwmA4Op8%)BIHCiA8<6Chx# zb!}a0UBP`9txGk)0HIpzXRWo?YPE~CRlC~u>-KfkwwCXI?|rj{A^P?ACHcK~-@WIa zbMD#iy?N>1W6u!La&4hb8q*w~JyhK{92y)6+Wo#@zzW5xSBcM7yFaRvi|N=4%q?c$ zwrVpR4hDQ?EMSMK8&Yj1SH!ksOeL)jVAN-Ytm>dSVh_iv8|{eSinN;{tBy(A7G&a; zq7lJkWLP}>O!-4rG-~!+o9vLqG&?Jz?nZkXP~@A#F?(~=7qNo^*Cr-U)QW7eA}#Gq zg>oiHhx)5KW063pA2VEGI|BB&1)$5Y!cZW#f+?r8tQ%uZw%^Jlrdb9}rYU(eo95_r zOm?xXU)kOy1!PbGO%=1|hzZ9TR7lgr=W$F^S_2_#?eI{q73ng2gIG;rtL-y`-DV^p zzMW3@GRcOQa%h1;^Ju!ez6VOdkHAxAkWL8IT~!7~&~^63$*#o)c}3S{?a8iF z49X`DmK7TaM4`FXiIfY`1}q{w4X17wG1U0Jt>0924PhmtLe7cN@3$VV)wm#E@?I!d|`9K?`((p%rJ*gycW!p^Z$? zWCv|B=$wS?_?)rtQp%Yvz>*7|+#SKzO5Vm1(rJ$lVuQkaIt)CLc2Wm-|yx2>wr4#ldXf$dgp$>LMP+v-YW zXCN4?EtzMUrt>X;`pls~aHO`R-42HXp=h1Jw#iF_wB4W`!Z`9_98Cj(pg&@Tbo$hI zJM#ev!iVH*Rlo}Ry>uZh5RZ!u`V3vdWC*_7BX-z|#73A(Q^wV6nJ}xcGvoxB1Y}(y zL|1$b#jh*`}Jl#S9Kx)lG6-*d@Yc1grQgU8U3KnC3egpOBV8SJO2j z9QyqU6ig>3)jI(pq3H`tq=vfY<2m{(KJntrh44UMwfByn! zLI>?K=vKN7q@4+!&>2DrOiy55D&fdouinzI?=k3JK|+{fXV~eYx)NJ zBld8}Uj0#Jja{0>o)*`sWum#8$ z4SJLwL)-uhs{*kuTP{-=?j{BBgh5{t0Fx5{tF1u)KuieYDT7974~7P0S3=uNi;ij+ z9hT`|7YdH7w1*LU5;I^QO#6g=#1YfRF?;0F>XIRC0&RNffH0ebOqJQqCOa!aCh(a? z`m#Y!3)$si-AzdTR>VtRp|9%nEF!9*+26M<*z;WM&JM)%hiib-)a_Kt;y-sg1x#3}ck%H!?6lHA@6;88wu9l<1^S(zv(CPay zwk%P)LzqElz;E@M5rf{OA7UX`e|k65s}9!*7Bd-6WF}T z{*{H6FpVD>^kZQfD6rIWb$TZ)=gVZ*DV}-s6Z)A>KOLVe!e#)nZW3N?(9h`?&~;Zw z!`jaFhK}a7T}KppY2eVw+w`7r>t8V~8RseOCgOUmE+HPpyqerDD8l9Q=r{CRo&Fo8 zO(K4zWG{28VCZ+q%SkNb#=*gI`h!7#r2m0)h-ytvL(P}sX8aTpNtV-}4f+fHRf$cC zC!@YfNliwk<@9%h-lyq^M9~3zs}}*{9|rxCYE(d$g_sDiV&FrA{!NDwhpdpOXy7w} z?J}#MmW`!x@;R~`M|sE0R5LCJM@)ZUIEo~^NTuAP$7f+9n{;*|kZ19mWYsu-v6pk$ z4P~;9s;hM3q7-EW=VgSRu7L=msh2&RFK`%1ajF>6F&vWO5aI;PWP_)OI4B+tII-s` zPw+Vo?=so1l-X?u{BBxG^d9lGuWHk%h*(f@e8hlEkqsLu;ohoX)T*Gxb z*TNH18LiEX4H&$PmxH?@bDL8TtrS?!Ft}b|5ph(O9q#%|N@RH?Mpqi#EJlUFs+vRX z%lfTC(i!`m*Tv3tdCJA5=CZhRLcCc5Jv^1y7~INj(lBG|LT&bN)M~T0i2C%{BH(i*wRU$~gxRv6*?J!99%am^)|=hkOHwx@M#wJCkWyWfxk^D$;Gt2lBg!ch}4TFewo%1Eg{OCgjDJIhKx4RSCc-F*xeGS=$M6lA*MI^%e3YAV7w!v=3Tuk+!M8Ft(ZDRvJc}}NnRC1(P~2hgoqQJv20+e?*{Beb zc~7Ejar*1>`5wMc=X;$Jy*gvm;QIwRR|sW<&JRKeSwfGKZN2;e?>6{hegtMFwtDtZ z7)&bVjoUNGEw-TisKJj3yVM8F=vrCtOzv||b)%bob{NMfIYUt#LCwil|2dT5V@tD2 zbJ;|b((UpzrpBc8d}J1qsWcD@+KBa) zmaX(+=9s~U65Tx_gFS8VGonN6o1Np8Mt;`duZqq*bgI1XuCG*wCVBid{<_XDz>_n` zHw{Ok*h=w>{0+=o+q}7>xwBGP~9l-#tFy)$F2!< zzisfV3jGELz3Bap!LQ5S&h*~z8vH%gn_xx2{=ncjWp7i*y3Wqk4J{oobLnc>U}rKq zUY^judq`9!kfv(%VD46NB83ih{E~9f)0w)*E#>1?93R1ih`)RJX9oXV=*J8Fpq93* z&_>byOM~Cb?3OD2wZXq(Y&V5A6LOxJI(5j<3vhPI(~eaEaX2wKxl>vww2fqsfE$a( zB4)VFiVfKQsF(l9f6^Hn(Gz4Sk@p*c&=z~ps&17f3INSM(}(adV(_2&FJh07>SB6X z$w>u7XQo1~4nd;xTWx!AIGmo2j;vrZCU&8+PY3__gNo$DbJHt(2Xm7d40a+4)=hEq zAO3@i%n7P0zDN-!PVu`7_-~>*{J`LI`8=S1zkttk`u=V300+?b;eSAKg8HREBSk@T z8T?6(OmS;D1srku@(liz;6(EzInl7Q{j}_xgudh^7#DLYjU{4Nfi@Lu(TWVdoUZ_e zX$5>m0ZkWu#RgwX)6q8z9S+>F20z84=$o57djrbs;SR~SKr3-3&Nuj7{>cll@{QX*`NmD2eB%la?*c#-(RARQfv+08#m`jN z9-28y#d~P(C>^_pN}fWe2J(bUL%~1^P99GH@_BfQ5yC`V>N#jO14bY^zI;E;FE64K z_faWc<@=}-uZ8<)5nfC7(b5#!*>W}0fwmYodb4rCcnn%|Kxn!oVJL)jDxD^Yoi2F= z&pBrRJ|FbosVJ$b^1aj?r!x!J9Hdr_HXNc340N?s7H)`BPvs#x zx2K5CPyX$vPsGXR0IjW3!~I2szW|nmoda_s_ zqrHNs{l&Tf9}|>|bwyf;4&R5wyF5qJ{WvrbW2! zTugpif;+O4aXYq@E}>KCIvCC_oQOS0%jj_&S&q>PdV$UW-wpH@PW9dsm$S5z^Qf7p z(wRJ$R`Wb+;WFH=)u1k}r*+(ltI;mpewx(9gS4K*xaJ(D4ZI!qnHQn|aypl9#s%gb zbUxoloB1I!`BC!mUb6TZ>gN|}gkPua{3h+-w{Z_8JSVJ77u*T6h7ofiPlKtKqRuLU z<7%LN15ZaQhr(?044w%W*};CE#l;8#yZB6=&Bx%RXf8d+bMVx`!&!VRABRJX7ilJ! z@bQ!fx(1(s6?s`)qQaS+u>}YvUOqADxmD855MajmB&d`tQXcA+ZhjHs#g$2?*Tlgs zrij?F1CdAsg42XOkPo0ImTzg$oZ_w^2&-a zUMt#Xr)Y^A6rvj--J2le-3U2jl1{n8kfbx)p#!Wk@M@Sb6V@;d?>t`5-45-O@fMLU zxBLKaNRd&pdm2cek?2)4%f&x)oP!YT6-n4Z(1W)Ku(_27_?lOL6))Iv6-QOQ_{Lj?;NM@2v>Euo5WsGJTNi)DL9MIJ6Wz*maZs64E6)C2$B zBxxy=^77SujT8s!9tX=PW(bpNka7QpgZz1>QNBLTH$Tg_tSOK4?QOehZskF~o9S78 zpjClY#Q7m7BOT-~GTnCg-IRf-Y<)2d{rZmA4@JNbwF7M7n&*Yl4M2sPllntzOz3s^5l`tU#~ zGwC9J2Q813;ylVdj7;a&sZr;>Iru@anp<)hfST%qU1*FF){(0Ys}Ln(v?|U&t#RS` ziyAk?`>RoY1}YOXiq*gy5788fN)0S6 zM_KVfN@k4+@k9@U$w!cu9z`a33{~Ibki`>Jjek%$g`T83dWu%#KN8l`9_m8PV$we9 zN8vJrnj=C7rQB4&jwSR;4{I!1nx^GyZrRc`ua+-chBiejkgY;(x;8_$W@@vwV`OWN ncAR#+Y@MJj&`#8lRZ-h&EF2O)TB%m9RZ_85g%1}zBFfz>0@R?lCqdGZ> ztAynO2gCKrx40C{oHbFMn*;)4EKQowj9pR zhL+YG3=e_g$}Eo=8Js8Aa+^=K=jLVsiawpJ!(%G_oRNW*Q6ZW!mXU$SGcPZ-$T=sm zxHz?#o#EBw8Xhf{H;fE&Kv&33KEdO|$hTRPx0yYbnc*zZ;Ys|<_` q*O15?VD>FAc?V411CtNH*h$g7?FzK)=I>OH4s}H{V zA{WvAhh8j5P_XyFO3k!1E&E|=rDbLhS$&&*iF^4R&bjvu70`XDElj^rU&+$U|E`RBz$`3-6ZxNOC zVT%gxkB3J>!y4xCm|qy-|GI%Z1Xv@pp!Ud)JcM8jBWGA5FIj(bO9#+@~u! Date: Sat, 21 Dec 2024 16:01:36 -0800 Subject: [PATCH 3/6] Fixed bugs in error popups. All popups will be cleared after "Clear Logs" is selected --- .../java/com/funkylogclient/FunkyLogs.java | 30 +++++++++++++++--- .../funkylogclient/SidebarOtherSettings.java | 2 +- .../com/funkylogclient/FunkyLogs$1.class | Bin 1321 -> 1321 bytes .../com/funkylogclient/FunkyLogs.class | Bin 11525 -> 11878 bytes .../funkylogclient/SidebarOtherSettings.class | Bin 4532 -> 4592 bytes 5 files changed, 27 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/funkylogclient/FunkyLogs.java b/src/main/java/com/funkylogclient/FunkyLogs.java index 04dd15f..d6a6ec1 100644 --- a/src/main/java/com/funkylogclient/FunkyLogs.java +++ b/src/main/java/com/funkylogclient/FunkyLogs.java @@ -31,8 +31,11 @@ public class FunkyLogs extends Application { private double yu = 70; private double yd = 650; private static int count = 0; + private static int clear = 0; private static int x = 50, y = 70; + private static LinkedList popups = new LinkedList(); + private static VBox messageZone; @@ -137,11 +140,16 @@ private static void updateMessageZone(Stage stage) { LinkedList fmessages_copy = (LinkedList) FunkyLogSorter.filtered.clone(); int a = 0; for (Message msg : fmessages_copy) { - if (msg.isError()) a++; FunkyLogs.messageZone.getChildren().add(msg.getComponent()); + if (msg.isError()) a++; + if (clear == -1 && popups.size() != 0) { + for (Popup i : popups) { + i.hide(); + } + clear = 0; + } if (msg.isError() && count < a) { count++; - System.out.println(a); Button close = new Button("x"); close.setLayoutX(480); close.setLayoutY(10); @@ -154,13 +162,27 @@ private static void updateMessageZone(Stage stage) { p.getContent().add(msg.getComponent()); p.getContent().add(close); p.show(stage); - x += 60; - y += 60; + if (x < 400 && y < 400) { + x += 60; + y += 60; + } + else { + y -= 310; + x -= 330; + } + popups.add(p); } } }); } + public static void resetCount() { + count = 0; + x = 50; + y = 70; + clear = -1; + } + private void setStageSize(Stage stage) { stage.setX(xl); stage.setY(yu); diff --git a/src/main/java/com/funkylogclient/SidebarOtherSettings.java b/src/main/java/com/funkylogclient/SidebarOtherSettings.java index a900b47..d319303 100644 --- a/src/main/java/com/funkylogclient/SidebarOtherSettings.java +++ b/src/main/java/com/funkylogclient/SidebarOtherSettings.java @@ -29,7 +29,7 @@ public static VBox getSidebarOtherSettings(ChangeListener autoScrollCha otherSettingsBox.getChildren().add(midSpacing); Button clearLogsButton = new Button("Clear logs"); - clearLogsButton.setOnAction((ev) -> {FunkyLogSorter.clear();}); + clearLogsButton.setOnAction((ev) -> {FunkyLogSorter.clear(); FunkyLogs.resetCount();}); otherSettingsBox.getChildren().add(clearLogsButton); diff --git a/target/classes/com/funkylogclient/FunkyLogs$1.class b/target/classes/com/funkylogclient/FunkyLogs$1.class index 9015c52ae2e07815cd5848ecb963cc9f984f86d5..3c843832cf92f8bc4921e165c7553fc795040f83 100644 GIT binary patch delta 46 zcmZ3k7{R delta 46 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 literal 11525 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 From 2057152acc9f0637005783da19ac406e87e2391c Mon Sep 17 00:00:00 2001 From: Mihir Shankar Date: Sat, 21 Dec 2024 20:00:07 -0800 Subject: [PATCH 4/6] Created SavedFunkyLogs class to create stage to display saved files. Edited LogFileProcessor to call SavedFunkyLogs after readFile instead of returning list of messages. --- .../com/funkylogclient/LogFileProcesser.java | 4 +- .../com/funkylogclient/SavedFunkyLogs.java | 91 +++++++++++++++++++ 2 files changed, 93 insertions(+), 2 deletions(-) create mode 100644 src/main/java/com/funkylogclient/SavedFunkyLogs.java diff --git a/src/main/java/com/funkylogclient/LogFileProcesser.java b/src/main/java/com/funkylogclient/LogFileProcesser.java index 1dee1d8..3d9e317 100644 --- a/src/main/java/com/funkylogclient/LogFileProcesser.java +++ b/src/main/java/com/funkylogclient/LogFileProcesser.java @@ -37,7 +37,7 @@ public File getFile() { return file; } - public static LinkedList readFile(File file) { + public static void readFile(File file) { try { input = new Scanner(file); } @@ -55,7 +55,7 @@ public static LinkedList readFile(File file) { for (Message m : messages) { //testing System.out.println(m); } - return messages; //change to popup method call + SavedFunkyLogs.displaySavedLogs(messages); } } diff --git a/src/main/java/com/funkylogclient/SavedFunkyLogs.java b/src/main/java/com/funkylogclient/SavedFunkyLogs.java new file mode 100644 index 0000000..d3c070d --- /dev/null +++ b/src/main/java/com/funkylogclient/SavedFunkyLogs.java @@ -0,0 +1,91 @@ +package com.funkylogclient; + +import java.io.File; +import java.util.LinkedList; + +import javafx.application.Application; +import javafx.application.Platform; +import javafx.concurrent.Task; +import javafx.geometry.*; +import javafx.scene.Scene; +import javafx.scene.control.ScrollPane; +import javafx.scene.control.TextField; +import javafx.scene.layout.BorderPane; +import javafx.scene.layout.HBox; +import javafx.scene.layout.VBox; +import javafx.scene.paint.Color; +import javafx.stage.Popup; +import javafx.stage.Stage; +import javafx.stage.StageStyle; +import javafx.scene.Cursor; +import javafx.scene.text.*; + +public class SavedFunkyLogs { + + private static VBox messageZone; + + private static boolean auto_scroll = true; + + private static Stage popupStage; + + public static void displaySavedLogs(LinkedList messages) { + popupStage = new Stage(); + popupStage.setTitle("Saved Logs"); + + BorderPane root = new BorderPane(); + root.getStyleClass().add("root"); + + VBox center = new VBox(); + center.setStyle(Styles.CENTER); + center.setPadding(new Insets(10, 10, 10, 10)); + + + messageZone = new VBox(); + messageZone.setPrefSize(100000, 100000); + messageZone.setPadding(new Insets(5, 20, 5, 20)); + messageZone.setSpacing(2.0); + messageZone.setStyle(Styles.SCROLL_PANE_STYLE); + + ScrollPane mScrollPane = new ScrollPane(messageZone); + mScrollPane.setFitToWidth(true); + mScrollPane.setFitToHeight(true); + messageZone.heightProperty().addListener((observable, oldValue, newValue) -> { + if (SavedFunkyLogs.auto_scroll) mScrollPane.setVvalue(1.0); + }); + mScrollPane.setStyle(Styles.SCROLL_PANE_STYLE); + + center.getChildren().add(mScrollPane); + + root.setCenter(center); + + Scene scene = new Scene(root, Color.TRANSPARENT); + popupStage.initStyle(StageStyle.TRANSPARENT); + popupStage.setScene(scene); + popupStage.show(); + + SavedFunkyLogs.setStageSize(popupStage); + + root.setStyle("-fx-background-radius: 10; -fx-background-color: #1E1E1E;"); + + displayMessages(messages); + } + + private static void displayMessages(LinkedList messages){ + Platform.runLater(() -> { + messageZone.getChildren().clear(); + for (Message msg : messages) { + messageZone.getChildren().add(msg.getComponent()); + } + }); + } + + + + private static void setStageSize(Stage stage) { + popupStage.setX(stage.getX() + stage.getWidth() / 2 - 400); + popupStage.setY(stage.getY() + stage.getHeight() / 2 - 300); + + stage.setWidth((800)); + stage.setHeight(600); + } +} From 565e1131fd621a167eed676ffb6290de75cedd9a Mon Sep 17 00:00:00 2001 From: rajathi Date: Sat, 21 Dec 2024 22:34:14 -0800 Subject: [PATCH 5/6] Changed error message location. Cleaned up memory leaks. Stopped error message display after 5 error messages. Fixed log clearing. --- .../java/com/funkylogclient/FunkyLogs.java | 48 +++++++++--------- .../com/funkylogclient/FunkyLogs$1.class | Bin 1321 -> 1321 bytes .../com/funkylogclient/FunkyLogs.class | Bin 11878 -> 12162 bytes 3 files changed, 24 insertions(+), 24 deletions(-) diff --git a/src/main/java/com/funkylogclient/FunkyLogs.java b/src/main/java/com/funkylogclient/FunkyLogs.java index d6a6ec1..1efbe0c 100644 --- a/src/main/java/com/funkylogclient/FunkyLogs.java +++ b/src/main/java/com/funkylogclient/FunkyLogs.java @@ -20,6 +20,8 @@ import javafx.scene.control.Button; import javafx.stage.Popup; +import javafx.event.ActionEvent; +import javafx.event.EventHandler; public class FunkyLogs extends Application { @@ -31,11 +33,10 @@ public class FunkyLogs extends Application { private double yu = 70; private double yd = 650; private static int count = 0; - private static int clear = 0; - private static int x = 50, y = 70; + private static int x = 50, y = 500; private static LinkedList popups = new LinkedList(); - + private static LinkedList