From 62b1f236b606ebffb34fe478534477c7d2a8215b Mon Sep 17 00:00:00 2001 From: axpoems <145597137+axpoems@users.noreply.github.com> Date: Mon, 29 Apr 2024 11:54:12 +0200 Subject: [PATCH 01/16] Add list view icon --- .../desktop/src/main/resources/css/images.css | 12 ++++++++++++ .../resources/images/icons/list-view-green.png | Bin 0 -> 297 bytes .../resources/images/icons/list-view-green@2x.png | Bin 0 -> 600 bytes .../resources/images/icons/list-view-grey.png | Bin 0 -> 292 bytes .../resources/images/icons/list-view-grey@2x.png | Bin 0 -> 625 bytes .../resources/images/icons/list-view-white.png | Bin 0 -> 283 bytes .../resources/images/icons/list-view-white@2x.png | Bin 0 -> 564 bytes 7 files changed, 12 insertions(+) create mode 100644 apps/desktop/desktop/src/main/resources/images/icons/list-view-green.png create mode 100644 apps/desktop/desktop/src/main/resources/images/icons/list-view-green@2x.png create mode 100644 apps/desktop/desktop/src/main/resources/images/icons/list-view-grey.png create mode 100644 apps/desktop/desktop/src/main/resources/images/icons/list-view-grey@2x.png create mode 100644 apps/desktop/desktop/src/main/resources/images/icons/list-view-white.png create mode 100644 apps/desktop/desktop/src/main/resources/images/icons/list-view-white@2x.png diff --git a/apps/desktop/desktop/src/main/resources/css/images.css b/apps/desktop/desktop/src/main/resources/css/images.css index 043d88bbad..c2963c3fbd 100644 --- a/apps/desktop/desktop/src/main/resources/css/images.css +++ b/apps/desktop/desktop/src/main/resources/css/images.css @@ -756,6 +756,18 @@ -fx-image: url("/images/icons/sort-white.png"); } +#list-view-green { + -fx-image: url("/images/icons/list-view-green.png"); +} + +#list-view-white { + -fx-image: url("/images/icons/list-view-white.png"); +} + +#list-view-grey { + -fx-image: url("/images/icons/list-view-grey.png"); +} + /* ------------------------------------------------------------------------------------ */ /* Chat */ diff --git a/apps/desktop/desktop/src/main/resources/images/icons/list-view-green.png b/apps/desktop/desktop/src/main/resources/images/icons/list-view-green.png new file mode 100644 index 0000000000000000000000000000000000000000..684edce80dc0ebde7624b969a144baeb1ce41836 GIT binary patch literal 297 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWw1Gr#)R9Ln>}1B}lL`^GFnWwygb}!4UK{;9X0oqczvdXABFT zvN^o6nN^@9V9$`mZuHiQ;mZ-m5=SwaF6Ip#nhu4wta56%7^OEvlrTs!v7gxThjC>l zg9z8pfOk#_A9N+o8hts}#_I7hLCJtiip@&e%IPKJ={AFIcRw?q1}mqAX_*Nk0>Z2t zCKUvv9A>}3)w#xn-}d%-T`2I2Hmsf@&=r+ChGt&K7sCN7?y?< z373xJGm9~gm=e-qUnAI5!3#)j2VXco{Muqn5>g7dI-sLA3%I604Q*){)2Kyp1e@9+ zi=dqH4rjt#M#vm;uqBxSV3;)UPUGbcXMi@O6o`Cp#PvX;7+<1;SS%KcJPpd?_k=Xq z&%Kfcn<>!X5@|3#aXAMkl+E!Bmq99ZrMvX%HhJQ;K4ZG}sCji^bw1NSg*F0`E_( z1>`hXP^Uq13n8CxgC-hWQKmuHZ-eA$Fc!q*8UY^`Z#5_ybalWx=J>ft*edXpl1c%r z?zzx!jO3y13{QSroW)`>4SI>n0SR9kd=tOV3H3*0=uU$a4@vpZU}9hexjrb+Ve1iW zYF+juhM>XO4>bO7N&c{Qz~pJr)d96l2vWx3(ju&16nKhAMSwzsI&DJxYveD#%*blL m5P|mtSReTfB^tS!nDZIYfK^l0000 literal 0 HcmV?d00001 diff --git a/apps/desktop/desktop/src/main/resources/images/icons/list-view-grey.png b/apps/desktop/desktop/src/main/resources/images/icons/list-view-grey.png new file mode 100644 index 0000000000000000000000000000000000000000..1eab71f4a86ffa5c84bd5da11a846282764e1ff1 GIT binary patch literal 292 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWw1G$2?seLn>}1B}lL`^GFnWnlLat3pp=1ma^+eAJUPtylKGrii0s~S!1AskH`V9Lyi-9 zwfI*ETN`2=n!|gyHF?hQAxvX(Cg6cacsq2X~1%|Khj=O#7>T(>Yjhr=hdJ2HMm=egE8F(9@P0LG_q zI5@gxF-5{nVE^2s&l9BtI_$d#n+)7H^X+^U_~Z8;ebSgxAk+azZlgeG3hbcG9DOS5 zeAR2zI)K%nlla7RN$HxM&_}t3=e);TqF_+4Ym@O4H9i>aHD?j6FO~?;X4cx4er(D zO;S_tG?+SA0p|w`a#+!WO?AkcL>DwTIYZ}1B}lL~i~jlbbv0whf9FE`wQmxSB<^IKVAZcS zhvNu;!;MCt-FzE1Zj^NpPdT{If}wi`lgRbp2M?L2v@|H2u!x-4@`urYMQ*|*Hl~IO zdlB`XXI+ga+E^X_$aP7xIh&QVTwh(EU5+Ffi_$msm`;^J=``cYTo?7Bv8K~-7Kde&2d(lkK4fp d<^~34hE4ldMZVs)h!N-!22WQ%mvv4FO#m6AWnTaQ literal 0 HcmV?d00001 diff --git a/apps/desktop/desktop/src/main/resources/images/icons/list-view-white@2x.png b/apps/desktop/desktop/src/main/resources/images/icons/list-view-white@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..9acce30c548ba5d081ffbf4789edc5bdd1854ad2 GIT binary patch literal 564 zcmV-40?Yl0P)w!Tg80U{1AP9mW*-em{;F&BNJbPcM3AQoNV8ICd z8x5ACGk|B_EQHc4!!{vhg6~qe7;#>4X;d7r&joyHX##e01>nJx2DhNW2x)N00`(Fl zFgFc$BYogbIt}KQQZS!YQP3b~LOE!P4bz}j5ClPJg0g8av(Vrv1{xH%5SsFCaEu0D zB-5bpyFqa@m?~lN&43SwSrtu#CcQ;%iTTo?<_2fm7^ya$ z8tg1In8iSYq7F$-p~3YCE131cjsvz|z$Z-;a9olGvma>u-!lB+9DwL)&^G{$OA1PE zf~NjO9haX Date: Mon, 29 Apr 2024 11:56:12 +0200 Subject: [PATCH 02/16] Add market icon --- .../desktop/src/main/resources/css/images.css | 12 ++++++++++++ .../main/resources/images/icons/market-green.png | Bin 0 -> 475 bytes .../resources/images/icons/market-green@2x.png | Bin 0 -> 817 bytes .../main/resources/images/icons/market-grey.png | Bin 0 -> 467 bytes .../resources/images/icons/market-grey@2x.png | Bin 0 -> 799 bytes .../main/resources/images/icons/market-white.png | Bin 0 -> 432 bytes .../resources/images/icons/market-white@2x.png | Bin 0 -> 798 bytes 7 files changed, 12 insertions(+) create mode 100644 apps/desktop/desktop/src/main/resources/images/icons/market-green.png create mode 100644 apps/desktop/desktop/src/main/resources/images/icons/market-green@2x.png create mode 100644 apps/desktop/desktop/src/main/resources/images/icons/market-grey.png create mode 100644 apps/desktop/desktop/src/main/resources/images/icons/market-grey@2x.png create mode 100644 apps/desktop/desktop/src/main/resources/images/icons/market-white.png create mode 100644 apps/desktop/desktop/src/main/resources/images/icons/market-white@2x.png diff --git a/apps/desktop/desktop/src/main/resources/css/images.css b/apps/desktop/desktop/src/main/resources/css/images.css index c2963c3fbd..5cfebc82fa 100644 --- a/apps/desktop/desktop/src/main/resources/css/images.css +++ b/apps/desktop/desktop/src/main/resources/css/images.css @@ -768,6 +768,18 @@ -fx-image: url("/images/icons/list-view-grey.png"); } +#market-green { + -fx-image: url("/images/icons/market-green.png"); +} + +#market-white { + -fx-image: url("/images/icons/market-white.png"); +} + +#market-grey { + -fx-image: url("/images/icons/market-grey.png"); +} + /* ------------------------------------------------------------------------------------ */ /* Chat */ diff --git a/apps/desktop/desktop/src/main/resources/images/icons/market-green.png b/apps/desktop/desktop/src/main/resources/images/icons/market-green.png new file mode 100644 index 0000000000000000000000000000000000000000..3974e7cd3b74bd87c6eb6990ca815bf52d6e17a7 GIT binary patch literal 475 zcmV<10VMv3P)%XrT z`I+x$2W%72*Z0TI+EM|hZx6g$3WKMI*tVb$p3eI4Kn(IgpXLz2`ZeP$h4rDS0uU}% zuRv#zZyJOUJ|gb2e8t{G0S2AmK4gj?t9ME6>+~y0YZC0*UZS27#bpdi#3Oi5TDM~cmPUP0cM09?KXM?+yFTr*R5}%%%cJW% zAJ2*kycKfZd?eHA7L|1_tC>&&>I5hzT?-c@%M{RBZt}OF_p$uBdS4d-1^@uJk*480 R!Vv%f002ovPDHLkV1oLv*Cqe} literal 0 HcmV?d00001 diff --git a/apps/desktop/desktop/src/main/resources/images/icons/market-green@2x.png b/apps/desktop/desktop/src/main/resources/images/icons/market-green@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..b403ef3e283e8a2ed757fbb39cc59e2a802f4b93 GIT binary patch literal 817 zcmV-11J3-3P)jX&O6%Ysr1UL@JZ4WGp0+hH{u?FL} zzVrgRVrS9j0rG*pkFp=JxR39q8$8#6S!#0TO^cnI6Hvt_-1oMLpkgOu%L`qd|DOs- zs1}c?6`finHe+$W1>@IuGZ3L;NtNgCreQrN15B`DO%5J)Gm{6(4y2#ed^{mFM3$PI z#>LJp6_BuUly7c8B&3$&{$RRc*`f5&_#quloQMRzziW~pYl@wVP0oKPfO}{On=Gj+ z8&bTg7>P5pI#%qQG&%6hnXOGrOWse}CJQw)6A?(llKr$gE;C(%q~{tJJDn0h@tN@C zr28(AfCi1l--t>DCbylMASt90O|etn6#*LQf1KMS6)dO*-mp|P!<=$Mt_i6^ScbG9 z{fNcq#SD)}7hEwZ<)}I9_nIar6&*kt7>{0h=Y4paXHX^|YZ9btd}%xGZ7G14q|0m0 zW&8~#$hvYiHZ69n6F?&HxTFB>ki#beYKI)Y5a3+azqS-c*-s%SIAeI#yfq~t vVuKGCkebc|yvhNAfPjF2fPet^@FTzgbJHW8D$C+400000NkvXXu0mjfp@(EV literal 0 HcmV?d00001 diff --git a/apps/desktop/desktop/src/main/resources/images/icons/market-grey.png b/apps/desktop/desktop/src/main/resources/images/icons/market-grey.png new file mode 100644 index 0000000000000000000000000000000000000000..180ff72b55fd20542efa4dbab54a4b6f12411fb3 GIT binary patch literal 467 zcmV;^0WAKBP)x zP50;)kROawPX&UhJ@D*#7@Rvtw}B)WS5tT(heVJscL>BS@~p%#aa8~Z(&`nYhAdr4 zh{IonJKNH*cTqs3BkpsBc;Ov}Ye)zwPUV;2LW@3S)u6rTC{-Kxs}zt0#Bz^ecxG=X z>kapMlmhzTN>h%HSoir=H5QsFY&;p5yMr7g0%8OheldHi~Ar2 zIJ!x*UsG#`<^wPwKu{zs3Vi*O#|UmBES170LBCzn--fcxlDF z`<2YHTh>*%yzYb~)By@C9PSE5mjaf{U49EDzm`ARd)t002ov JPDHLkV1j~3%`pG~ literal 0 HcmV?d00001 diff --git a/apps/desktop/desktop/src/main/resources/images/icons/market-grey@2x.png b/apps/desktop/desktop/src/main/resources/images/icons/market-grey@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..3c1a5ab59fd433c420beaae107afc4a430a8d2ab GIT binary patch literal 799 zcmV+)1K|9LP)N zkPUEx$^_s9+6iz2+@NfrBQOFZ^rd~=#diV01cfBu9fy4uF8T7kUm5f8@bK{P@NgB2 z=0gU6TPlAEriJYUaMu;!3Gf714v1r0xK>UQAT|%T0`EOV{9exY;?xr-3L!Y29xU!(ME>j}WzKFIH_Awcqb87Ht`T4hMJsx-(u(G1T?-0_p50lu-M6oIZ@U5?^HmFwRnK7Xl#(!ocR3( z?5D{LL@+JM^88yg*bCf%4vwVB5vgvc^Fls?^z)Xlx2T4|P?OWU*mgdpKS9&OTPt_qO&UhQIMR07aHQyQE)h}y9K5tR%P+Rj0QbGeAvE0jfbn$z~4T^YlZe_~C(B0Pd>vhbVv!IW9wfc$hT-Ekllk zS%gOlP!2gVIli?q?Y_GXqvaa1O#O8VFd@e^8lw}fG5Di!^6YF d!#?~9FaSsrB-L%_HH82G002ovPDHLkV1gu~W_JJp literal 0 HcmV?d00001 diff --git a/apps/desktop/desktop/src/main/resources/images/icons/market-white.png b/apps/desktop/desktop/src/main/resources/images/icons/market-white.png new file mode 100644 index 0000000000000000000000000000000000000000..9ea03a3020a440fa1bedd02d5fcb73882df21c15 GIT binary patch literal 432 zcmV;h0Z;ykP)ISZW4;<7DAiq2ya~$WWY5h#0KuE{9 z%kvE7ckL`NfD7EAJRY2e@Mur3dhNwS@T|xECj-c0iKSFcw_~qM?`_=kK?d-HC%($> z6l+nBxQ9@ljZq0LizR~ts(v>^FZb5(=WQ5`BwM3g~^unVb@2PX2F>A zKvF56nd(5o82W6Re;?8625f3MuRfGo7%kmRBosnDB)$HvT-tM!0k)QF$a30{IFc7w^if2Zk8^8wX z24n-6pfCYp0_X%`1K5CU02{yt<(U_HS6w7?av+W!er$h|l{QUW-*?}g?;If_A|fIp zA|isv`Fze`T+|VQ-7<8?M*<=N{^zzKj9!ogpz&~7!`RW!;SfMx&*|4L5&`#;kQA^c z!%GyMPNxWh0Pr+=zOURm!bpP%0Wf|9ml3<2g7;6}69C4e*B9*e7>wV0zYBozT}|At z!1z@tbpXb_y5FPMr$H1#;Qa|))P4R$(m#1m0PXEYaqkTQO5Cehg7KSBdI4RrGc}n& zzOnaF_6dvo^kuriTOF9ACTCK&*m*bsWo*KA=b8vAc5-%ms;l##sel>P;(cmGM-GY2 zS=?{H_~pwSh|spA%JYBGaDPn(*kHk$9Ng;0HWSJgq@P#(c}QyLJ8E)j7dwwsz>Jln zd~rP@A#)V>d)o!e7Nw8I4`^%RM9kp%ZJh*JQS97pa-N|8?x8s>@<>(LfZ|m}B5s`3 zv0~?{$$>e?t`;pFc|T)|EY!?QL?8)s_G-CZ=DGw)^I8`>wT)=$91g3x&CuFwg0YT+}NI*nHL_|b{ cfA|w%08hUGj(bxcFaQ7m07*qoM6N<$f+XB(GXMYp literal 0 HcmV?d00001 From 97188c858d9890ecd54250cac70b60372531f1eb Mon Sep 17 00:00:00 2001 From: axpoems <145597137+axpoems@users.noreply.github.com> Date: Mon, 29 Apr 2024 12:08:00 +0200 Subject: [PATCH 03/16] Refactor: move images inside specific folders --- .../desktop/src/main/resources/css/images.css | 12 ++++++------ .../icons/{ => list-view}/list-view-green.png | Bin .../icons/{ => list-view}/list-view-green@2x.png | Bin .../images/icons/{ => list-view}/list-view-grey.png | Bin .../icons/{ => list-view}/list-view-grey@2x.png | Bin .../icons/{ => list-view}/list-view-white.png | Bin .../icons/{ => list-view}/list-view-white@2x.png | Bin .../images/icons/{ => market}/market-green.png | Bin .../images/icons/{ => market}/market-green@2x.png | Bin .../images/icons/{ => market}/market-grey.png | Bin .../images/icons/{ => market}/market-grey@2x.png | Bin .../images/icons/{ => market}/market-white.png | Bin .../images/icons/{ => market}/market-white@2x.png | Bin 13 files changed, 6 insertions(+), 6 deletions(-) rename apps/desktop/desktop/src/main/resources/images/icons/{ => list-view}/list-view-green.png (100%) rename apps/desktop/desktop/src/main/resources/images/icons/{ => list-view}/list-view-green@2x.png (100%) rename apps/desktop/desktop/src/main/resources/images/icons/{ => list-view}/list-view-grey.png (100%) rename apps/desktop/desktop/src/main/resources/images/icons/{ => list-view}/list-view-grey@2x.png (100%) rename apps/desktop/desktop/src/main/resources/images/icons/{ => list-view}/list-view-white.png (100%) rename apps/desktop/desktop/src/main/resources/images/icons/{ => list-view}/list-view-white@2x.png (100%) rename apps/desktop/desktop/src/main/resources/images/icons/{ => market}/market-green.png (100%) rename apps/desktop/desktop/src/main/resources/images/icons/{ => market}/market-green@2x.png (100%) rename apps/desktop/desktop/src/main/resources/images/icons/{ => market}/market-grey.png (100%) rename apps/desktop/desktop/src/main/resources/images/icons/{ => market}/market-grey@2x.png (100%) rename apps/desktop/desktop/src/main/resources/images/icons/{ => market}/market-white.png (100%) rename apps/desktop/desktop/src/main/resources/images/icons/{ => market}/market-white@2x.png (100%) diff --git a/apps/desktop/desktop/src/main/resources/css/images.css b/apps/desktop/desktop/src/main/resources/css/images.css index 5cfebc82fa..23727cf63d 100644 --- a/apps/desktop/desktop/src/main/resources/css/images.css +++ b/apps/desktop/desktop/src/main/resources/css/images.css @@ -757,27 +757,27 @@ } #list-view-green { - -fx-image: url("/images/icons/list-view-green.png"); + -fx-image: url("/images/icons/list-view/list-view-green.png"); } #list-view-white { - -fx-image: url("/images/icons/list-view-white.png"); + -fx-image: url("/images/icons/list-view/list-view-white.png"); } #list-view-grey { - -fx-image: url("/images/icons/list-view-grey.png"); + -fx-image: url("/images/icons/list-view/list-view-grey.png"); } #market-green { - -fx-image: url("/images/icons/market-green.png"); + -fx-image: url("/images/icons/market/market-green.png"); } #market-white { - -fx-image: url("/images/icons/market-white.png"); + -fx-image: url("/images/icons/market/market-white.png"); } #market-grey { - -fx-image: url("/images/icons/market-grey.png"); + -fx-image: url("/images/icons/market/market-grey.png"); } diff --git a/apps/desktop/desktop/src/main/resources/images/icons/list-view-green.png b/apps/desktop/desktop/src/main/resources/images/icons/list-view/list-view-green.png similarity index 100% rename from apps/desktop/desktop/src/main/resources/images/icons/list-view-green.png rename to apps/desktop/desktop/src/main/resources/images/icons/list-view/list-view-green.png diff --git a/apps/desktop/desktop/src/main/resources/images/icons/list-view-green@2x.png b/apps/desktop/desktop/src/main/resources/images/icons/list-view/list-view-green@2x.png similarity index 100% rename from apps/desktop/desktop/src/main/resources/images/icons/list-view-green@2x.png rename to apps/desktop/desktop/src/main/resources/images/icons/list-view/list-view-green@2x.png diff --git a/apps/desktop/desktop/src/main/resources/images/icons/list-view-grey.png b/apps/desktop/desktop/src/main/resources/images/icons/list-view/list-view-grey.png similarity index 100% rename from apps/desktop/desktop/src/main/resources/images/icons/list-view-grey.png rename to apps/desktop/desktop/src/main/resources/images/icons/list-view/list-view-grey.png diff --git a/apps/desktop/desktop/src/main/resources/images/icons/list-view-grey@2x.png b/apps/desktop/desktop/src/main/resources/images/icons/list-view/list-view-grey@2x.png similarity index 100% rename from apps/desktop/desktop/src/main/resources/images/icons/list-view-grey@2x.png rename to apps/desktop/desktop/src/main/resources/images/icons/list-view/list-view-grey@2x.png diff --git a/apps/desktop/desktop/src/main/resources/images/icons/list-view-white.png b/apps/desktop/desktop/src/main/resources/images/icons/list-view/list-view-white.png similarity index 100% rename from apps/desktop/desktop/src/main/resources/images/icons/list-view-white.png rename to apps/desktop/desktop/src/main/resources/images/icons/list-view/list-view-white.png diff --git a/apps/desktop/desktop/src/main/resources/images/icons/list-view-white@2x.png b/apps/desktop/desktop/src/main/resources/images/icons/list-view/list-view-white@2x.png similarity index 100% rename from apps/desktop/desktop/src/main/resources/images/icons/list-view-white@2x.png rename to apps/desktop/desktop/src/main/resources/images/icons/list-view/list-view-white@2x.png diff --git a/apps/desktop/desktop/src/main/resources/images/icons/market-green.png b/apps/desktop/desktop/src/main/resources/images/icons/market/market-green.png similarity index 100% rename from apps/desktop/desktop/src/main/resources/images/icons/market-green.png rename to apps/desktop/desktop/src/main/resources/images/icons/market/market-green.png diff --git a/apps/desktop/desktop/src/main/resources/images/icons/market-green@2x.png b/apps/desktop/desktop/src/main/resources/images/icons/market/market-green@2x.png similarity index 100% rename from apps/desktop/desktop/src/main/resources/images/icons/market-green@2x.png rename to apps/desktop/desktop/src/main/resources/images/icons/market/market-green@2x.png diff --git a/apps/desktop/desktop/src/main/resources/images/icons/market-grey.png b/apps/desktop/desktop/src/main/resources/images/icons/market/market-grey.png similarity index 100% rename from apps/desktop/desktop/src/main/resources/images/icons/market-grey.png rename to apps/desktop/desktop/src/main/resources/images/icons/market/market-grey.png diff --git a/apps/desktop/desktop/src/main/resources/images/icons/market-grey@2x.png b/apps/desktop/desktop/src/main/resources/images/icons/market/market-grey@2x.png similarity index 100% rename from apps/desktop/desktop/src/main/resources/images/icons/market-grey@2x.png rename to apps/desktop/desktop/src/main/resources/images/icons/market/market-grey@2x.png diff --git a/apps/desktop/desktop/src/main/resources/images/icons/market-white.png b/apps/desktop/desktop/src/main/resources/images/icons/market/market-white.png similarity index 100% rename from apps/desktop/desktop/src/main/resources/images/icons/market-white.png rename to apps/desktop/desktop/src/main/resources/images/icons/market/market-white.png diff --git a/apps/desktop/desktop/src/main/resources/images/icons/market-white@2x.png b/apps/desktop/desktop/src/main/resources/images/icons/market/market-white@2x.png similarity index 100% rename from apps/desktop/desktop/src/main/resources/images/icons/market-white@2x.png rename to apps/desktop/desktop/src/main/resources/images/icons/market/market-white@2x.png From 2cbde242a9edda31194c6c0900b2027760fb7255 Mon Sep 17 00:00:00 2001 From: axpoems <145597137+axpoems@users.noreply.github.com> Date: Mon, 29 Apr 2024 12:13:42 +0200 Subject: [PATCH 04/16] Add missing unsubscribe --- .../content/bisq_easy/offerbook/BisqEasyOfferbookView.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookView.java b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookView.java index 4309cb02da..a6106a2527 100644 --- a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookView.java +++ b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookView.java @@ -70,8 +70,7 @@ public final class BisqEasyOfferbookView extends ChatView filterShowAll, filterWithOffers, filterFavourites; private DropdownFilterMenuItem>> @@ -244,6 +243,7 @@ protected void onViewDetached() { favouritesTableViewHeightPin.unsubscribe(); shouldShowAppliedFiltersPin.unsubscribe(); offerListTableViewSelectionPin.unsubscribe(); + showBuyFromOfferMessageItemsPin.unsubscribe(); sortByMostOffers.setOnAction(null); sortByNameAZ.setOnAction(null); @@ -595,7 +595,7 @@ private void addOfferList() { header.setPadding(new Insets(4, 0, 0, 15)); header.getStyleClass().add("chat-header-title"); - filterOfferListByDirection = createAndGetOfferListByDirectionFilter(); + DropdownMenu filterOfferListByDirection = createAndGetOfferListByDirectionFilter(); HBox subheader = new HBox(); subheader.setAlignment(Pos.CENTER_LEFT); From 655448f524adaa6d3db394ac3a904928532dace2 Mon Sep 17 00:00:00 2001 From: axpoems <145597137+axpoems@users.noreply.github.com> Date: Mon, 29 Apr 2024 13:29:41 +0200 Subject: [PATCH 05/16] Remove incorrect annotation --- .../content/chat/message_container/list/ChatMessageListItem.java | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/chat/message_container/list/ChatMessageListItem.java b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/chat/message_container/list/ChatMessageListItem.java index f674c02199..a4a57f078c 100644 --- a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/chat/message_container/list/ChatMessageListItem.java +++ b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/chat/message_container/list/ChatMessageListItem.java @@ -108,7 +108,6 @@ public final class ChatMessageListItem Date: Mon, 29 Apr 2024 17:04:25 +0200 Subject: [PATCH 06/16] Add expand/collapse functionality and expand transition --- .../BisqEasyOfferbookController.java | 4 + .../offerbook/BisqEasyOfferbookModel.java | 1 + .../offerbook/BisqEasyOfferbookView.java | 76 ++++++++++++++++++- .../src/main/resources/css/bisq_easy.css | 9 +++ 4 files changed, 86 insertions(+), 4 deletions(-) diff --git a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookController.java b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookController.java index a2570da88f..1fa5e85473 100644 --- a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookController.java +++ b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookController.java @@ -329,6 +329,10 @@ void onSelectOfferMessageItem(OfferMessageItem item) { return MARKET_SELECTION_LIST_CELL_HEIGHT; } + void toggleOfferList() { + model.getShowOfferListExpanded().set(!model.getShowOfferListExpanded().get()); + } + private void createMarketChannels() { List marketChannelItems = bisqEasyOfferbookChannelService.getChannels().stream() .map(MarketChannelItem::new) diff --git a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookModel.java b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookModel.java index 4b9c2154ab..369b800a9d 100644 --- a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookModel.java +++ b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookModel.java @@ -69,6 +69,7 @@ public final class BisqEasyOfferbookModel extends ChatModel { private final ToggleGroup filterOfferMessageMenuItemToggleGroup = new ToggleGroup(); private final StringProperty fiatAmountTitle = new SimpleStringProperty(); private final BooleanProperty showBuyFromOfferMessageItems = new SimpleBooleanProperty(true); // TODO: save user pref in settings + private final BooleanProperty showOfferListExpanded = new SimpleBooleanProperty(true); // TODO: save user pref in settings @Setter private Predicate marketPricePredicate = marketChannelItem -> true; diff --git a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookView.java b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookView.java index a6106a2527..6bceb68180 100644 --- a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookView.java +++ b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookView.java @@ -32,6 +32,10 @@ import bisq.desktop.main.content.chat.ChatView; import bisq.desktop.main.content.chat.message_container.list.ChatMessageListItem; import bisq.i18n.Res; +import javafx.animation.KeyFrame; +import javafx.animation.KeyValue; +import javafx.animation.ParallelTransition; +import javafx.animation.Timeline; import javafx.beans.binding.Bindings; import javafx.collections.ListChangeListener; import javafx.css.PseudoClass; @@ -48,6 +52,7 @@ import javafx.scene.layout.Pane; import javafx.scene.layout.Priority; import javafx.scene.layout.VBox; +import javafx.util.Duration; import lombok.Getter; import lombok.extern.slf4j.Slf4j; import org.fxmisc.easybind.EasyBind; @@ -59,12 +64,15 @@ public final class BisqEasyOfferbookView extends ChatView { private static final String BUY_FROM_MENU_ITEM_STYLE_CLASS = "buy-from-offers"; private static final String SELL_TO_MENU_ITEM_STYLE_CLASS = "sell-to-offers"; + private static final double EXPANDED_OFFER_LIST_WIDTH = 438; + private static final double COLLAPSED_OFFER_LIST_WIDTH = 40; private final ListChangeListener listChangeListener; + private final ParallelTransition expansionTransition; private SearchBox marketSelectorSearchBox; private BisqTableView marketsTableView, favouritesTableView; private BisqTableView offerListTableView; - private VBox marketSelectionList, offerList; + private VBox marketSelectionList, collapsedOfferList, offerList; private Subscription marketsTableViewSelectionPin, selectedModelItemPin, channelHeaderIconPin, selectedMarketFilterPin, selectedOfferDirectionOrOwnerFilterPin, selectedPeerReputationFilterPin, selectedMarketSortTypePin, marketSelectorSearchPin, favouritesTableViewHeightPin, favouritesTableViewSelectionPin, @@ -79,7 +87,8 @@ public final class BisqEasyOfferbookView extends ChatView updateTableViewSelection(getModel().getSelectedMarketChannelItem().get()); + + Timeline marginExpansion = new Timeline( + new KeyFrame(Duration.millis(0), + new KeyValue(centerVBox.translateXProperty(), 10) + ), + new KeyFrame(Duration.millis(100), + new KeyValue(centerVBox.translateXProperty(), 0) + ) + ); + + Timeline widthExpansion = new Timeline( + new KeyFrame(Duration.millis(0), + new KeyValue(offerList.prefWidthProperty(), 60), + new KeyValue(offerList.minWidthProperty(), 60), + new KeyValue(offerList.maxWidthProperty(), 60) + ), + new KeyFrame(Duration.millis(300), + new KeyValue(offerList.prefWidthProperty(), EXPANDED_OFFER_LIST_WIDTH), + new KeyValue(offerList.minWidthProperty(), EXPANDED_OFFER_LIST_WIDTH), + new KeyValue(offerList.maxWidthProperty(), EXPANDED_OFFER_LIST_WIDTH) + ) + ); + + expansionTransition = new ParallelTransition(marginExpansion, widthExpansion); } @Override @@ -118,6 +151,7 @@ protected void configTitleHBox() { protected void configCenterVBox() { addMarketSelectionList(); addChatBox(); + addCollapsedOfferList(); addOfferList(); } @@ -125,7 +159,7 @@ protected void configCenterVBox() { protected void configContainerHBox() { super.configContainerHBox(); - containerHBox.getChildren().setAll(marketSelectionList, centerVBox, offerList, sideBar); + containerHBox.getChildren().setAll(marketSelectionList, centerVBox, collapsedOfferList, offerList, sideBar); } @Override @@ -144,6 +178,10 @@ protected void onViewAttached() { onlyFavouritesDisplayHint.managedProperty().bind(getModel().getSelectedMarketsFilter().isEqualTo(Filters.Markets.FAVOURITES)); favouritesTableView.visibleProperty().bind(Bindings.isNotEmpty(getModel().getFavouriteMarketChannelItems())); favouritesTableView.managedProperty().bind(Bindings.isNotEmpty(getModel().getFavouriteMarketChannelItems())); + collapsedOfferList.visibleProperty().bind(getModel().getShowOfferListExpanded().not()); + collapsedOfferList.managedProperty().bind(getModel().getShowOfferListExpanded().not()); + offerList.visibleProperty().bind(getModel().getShowOfferListExpanded()); + offerList.managedProperty().bind(getModel().getShowOfferListExpanded()); selectedModelItemPin = EasyBind.subscribe(getModel().getSelectedMarketChannelItem(), this::updateTableViewSelection); marketsTableViewSelectionPin = EasyBind.subscribe(marketsTableView.getSelectionModel().selectedItemProperty(), item -> { @@ -212,6 +250,14 @@ protected void onViewAttached() { removeFavouritesFilter.setOnMouseClicked(e -> getModel().getSelectedMarketsFilter().set(Filters.Markets.ALL)); onlyFavouritesDisplayHint.setOnMouseEntered(e -> removeFavouritesFilter.setGraphic(favouritesRemoveFilterActiveIcon)); onlyFavouritesDisplayHint.setOnMouseExited(e -> removeFavouritesFilter.setGraphic(favouritesRemoveFilterDefaultIcon)); + + offerListTitle.setOnMouseClicked(e -> { + getController().toggleOfferList(); + }); + collapsedOfferListTitle.setOnMouseClicked(e -> { + getController().toggleOfferList(); + expansionTransition.play(); + }); } @Override @@ -273,6 +319,9 @@ protected void onViewDetached() { onlyFavouritesDisplayHint.setOnMouseEntered(null); onlyFavouritesDisplayHint.setOnMouseExited(null); + offerListTitle.setOnMouseClicked(null); + collapsedOfferListTitle.setOnMouseClicked(null); + getModel().getFavouriteMarketChannelItems().removeListener(listChangeListener); } @@ -586,8 +635,27 @@ private String createPeerReputationLabel(Filters.PeerReputation filter, String l } } + private void addCollapsedOfferList() { + collapsedOfferListTitle = new Label("", ImageUtil.getImageViewById("list-view-white")); + HBox header = new HBox(collapsedOfferListTitle); + header.setMinHeight(HEADER_HEIGHT); + header.setMaxHeight(HEADER_HEIGHT); + header.setAlignment(Pos.CENTER); + + HBox subheader = new HBox(); + subheader.setAlignment(Pos.CENTER_LEFT); + subheader.getStyleClass().add("offer-list-subheader"); + + collapsedOfferList = new VBox(header, Layout.hLine(), subheader, Spacer.fillVBox()); + collapsedOfferList.setPrefWidth(40); + collapsedOfferList.setMinWidth(40); + collapsedOfferList.setFillWidth(true); + collapsedOfferList.getStyleClass().add("collapsed-offer-list-container"); + HBox.setMargin(collapsedOfferList, new Insets(0, 0, 0, -9)); + } + private void addOfferList() { - Label offerListTitle = new Label(Res.get("bisqEasy.offerbook.offerList")); + offerListTitle = new Label(Res.get("bisqEasy.offerbook.offerList"), ImageUtil.getImageViewById("list-view-white")); HBox header = new HBox(offerListTitle); header.setMinHeight(HEADER_HEIGHT); header.setMaxHeight(HEADER_HEIGHT); diff --git a/apps/desktop/desktop/src/main/resources/css/bisq_easy.css b/apps/desktop/desktop/src/main/resources/css/bisq_easy.css index 25a44c4337..9149fc2877 100644 --- a/apps/desktop/desktop/src/main/resources/css/bisq_easy.css +++ b/apps/desktop/desktop/src/main/resources/css/bisq_easy.css @@ -337,6 +337,15 @@ -fx-text-fill: -bisq2-red-lit-40; } +.collapsed-offer-list-container { + -fx-background-color: -bisq-dark-grey-20; + -fx-background-radius: 0 8 0 0; +} + +.chat-container-with-offer-list-collapsed { + -fx-background-radius: 8 0 0 0 !important; +} + .create-offer-button { -fx-background-color: -fx-default-button; -fx-text-fill: -fx-light-text-color; From 6b699cf79ab36de0a231fc5911161a640ed00c5d Mon Sep 17 00:00:00 2001 From: axpoems <145597137+axpoems@users.noreply.github.com> Date: Mon, 29 Apr 2024 18:41:24 +0200 Subject: [PATCH 07/16] Add expand/collapse functionality for market selection list with expand transition --- .../java/bisq/desktop/common/Transitions.java | 27 +++++ .../BisqEasyOfferbookController.java | 4 + .../offerbook/BisqEasyOfferbookModel.java | 1 + .../offerbook/BisqEasyOfferbookView.java | 104 ++++++++++-------- .../src/main/resources/css/bisq_easy.css | 6 + 5 files changed, 99 insertions(+), 43 deletions(-) diff --git a/apps/desktop/desktop/src/main/java/bisq/desktop/common/Transitions.java b/apps/desktop/desktop/src/main/java/bisq/desktop/common/Transitions.java index 98336a21d3..22dba4e5b7 100644 --- a/apps/desktop/desktop/src/main/java/bisq/desktop/common/Transitions.java +++ b/apps/desktop/desktop/src/main/java/bisq/desktop/common/Transitions.java @@ -993,4 +993,31 @@ public static Timeline pulse(Node node, double duration, double delay, public static boolean getUseAnimations() { return settingsService.getUseAnimations().get(); } + + public static ParallelTransition expansionAnimation(Pane boxToMinimize, Pane boxToExpand, + double initialWidth, double finalWidth) { + Timeline marginExpansion = new Timeline( + new KeyFrame(Duration.millis(0), + new KeyValue(boxToMinimize.translateXProperty(), 10) + ), + new KeyFrame(Duration.millis(100), + new KeyValue(boxToMinimize.translateXProperty(), 0) + ) + ); + + Timeline widthExpansion = new Timeline( + new KeyFrame(Duration.millis(0), + new KeyValue(boxToExpand.prefWidthProperty(), initialWidth), + new KeyValue(boxToExpand.minWidthProperty(), initialWidth), + new KeyValue(boxToExpand.maxWidthProperty(), initialWidth) + ), + new KeyFrame(Duration.millis(300), + new KeyValue(boxToExpand.prefWidthProperty(), finalWidth), + new KeyValue(boxToExpand.minWidthProperty(), finalWidth), + new KeyValue(boxToExpand.maxWidthProperty(), finalWidth) + ) + ); + + return new ParallelTransition(marginExpansion, widthExpansion); + } } diff --git a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookController.java b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookController.java index 1fa5e85473..271e7d6490 100644 --- a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookController.java +++ b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookController.java @@ -333,6 +333,10 @@ void toggleOfferList() { model.getShowOfferListExpanded().set(!model.getShowOfferListExpanded().get()); } + void toggleMarketSelectionList() { + model.getShowMarketSelectionListExpanded().set(!model.getShowMarketSelectionListExpanded().get()); + } + private void createMarketChannels() { List marketChannelItems = bisqEasyOfferbookChannelService.getChannels().stream() .map(MarketChannelItem::new) diff --git a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookModel.java b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookModel.java index 369b800a9d..97f65cfe6d 100644 --- a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookModel.java +++ b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookModel.java @@ -70,6 +70,7 @@ public final class BisqEasyOfferbookModel extends ChatModel { private final StringProperty fiatAmountTitle = new SimpleStringProperty(); private final BooleanProperty showBuyFromOfferMessageItems = new SimpleBooleanProperty(true); // TODO: save user pref in settings private final BooleanProperty showOfferListExpanded = new SimpleBooleanProperty(true); // TODO: save user pref in settings + private final BooleanProperty showMarketSelectionListExpanded = new SimpleBooleanProperty(true); // TODO: save user pref in settings @Setter private Predicate marketPricePredicate = marketChannelItem -> true; diff --git a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookView.java b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookView.java index 6bceb68180..1264e6fe24 100644 --- a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookView.java +++ b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookView.java @@ -20,6 +20,7 @@ import bisq.chat.ChatChannel; import bisq.chat.ChatMessage; import bisq.desktop.common.Layout; +import bisq.desktop.common.Transitions; import bisq.desktop.common.utils.ImageUtil; import bisq.desktop.components.containers.Spacer; import bisq.desktop.components.controls.DropdownMenu; @@ -32,10 +33,6 @@ import bisq.desktop.main.content.chat.ChatView; import bisq.desktop.main.content.chat.message_container.list.ChatMessageListItem; import bisq.i18n.Res; -import javafx.animation.KeyFrame; -import javafx.animation.KeyValue; -import javafx.animation.ParallelTransition; -import javafx.animation.Timeline; import javafx.beans.binding.Bindings; import javafx.collections.ListChangeListener; import javafx.css.PseudoClass; @@ -52,7 +49,6 @@ import javafx.scene.layout.Pane; import javafx.scene.layout.Priority; import javafx.scene.layout.VBox; -import javafx.util.Duration; import lombok.Getter; import lombok.extern.slf4j.Slf4j; import org.fxmisc.easybind.EasyBind; @@ -65,14 +61,14 @@ public final class BisqEasyOfferbookView extends ChatView listChangeListener; - private final ParallelTransition expansionTransition; private SearchBox marketSelectorSearchBox; private BisqTableView marketsTableView, favouritesTableView; private BisqTableView offerListTableView; - private VBox marketSelectionList, collapsedOfferList, offerList; + private VBox marketSelectionList, collapsedMarketSelectionList, collapsedOfferList, offerList; private Subscription marketsTableViewSelectionPin, selectedModelItemPin, channelHeaderIconPin, selectedMarketFilterPin, selectedOfferDirectionOrOwnerFilterPin, selectedPeerReputationFilterPin, selectedMarketSortTypePin, marketSelectorSearchPin, favouritesTableViewHeightPin, favouritesTableViewSelectionPin, @@ -88,7 +84,8 @@ public final class BisqEasyOfferbookView extends ChatView updateTableViewSelection(getModel().getSelectedMarketChannelItem().get()); - - Timeline marginExpansion = new Timeline( - new KeyFrame(Duration.millis(0), - new KeyValue(centerVBox.translateXProperty(), 10) - ), - new KeyFrame(Duration.millis(100), - new KeyValue(centerVBox.translateXProperty(), 0) - ) - ); - - Timeline widthExpansion = new Timeline( - new KeyFrame(Duration.millis(0), - new KeyValue(offerList.prefWidthProperty(), 60), - new KeyValue(offerList.minWidthProperty(), 60), - new KeyValue(offerList.maxWidthProperty(), 60) - ), - new KeyFrame(Duration.millis(300), - new KeyValue(offerList.prefWidthProperty(), EXPANDED_OFFER_LIST_WIDTH), - new KeyValue(offerList.minWidthProperty(), EXPANDED_OFFER_LIST_WIDTH), - new KeyValue(offerList.maxWidthProperty(), EXPANDED_OFFER_LIST_WIDTH) - ) - ); - - expansionTransition = new ParallelTransition(marginExpansion, widthExpansion); } @Override @@ -150,6 +123,7 @@ protected void configTitleHBox() { @Override protected void configCenterVBox() { addMarketSelectionList(); + addCollapsedMarketSelectionList(); addChatBox(); addCollapsedOfferList(); addOfferList(); @@ -159,7 +133,7 @@ protected void configCenterVBox() { protected void configContainerHBox() { super.configContainerHBox(); - containerHBox.getChildren().setAll(marketSelectionList, centerVBox, collapsedOfferList, offerList, sideBar); + containerHBox.getChildren().setAll(marketSelectionList, collapsedMarketSelectionList, centerVBox, collapsedOfferList, offerList, sideBar); } @Override @@ -182,6 +156,10 @@ protected void onViewAttached() { collapsedOfferList.managedProperty().bind(getModel().getShowOfferListExpanded().not()); offerList.visibleProperty().bind(getModel().getShowOfferListExpanded()); offerList.managedProperty().bind(getModel().getShowOfferListExpanded()); + collapsedMarketSelectionList.visibleProperty().bind(getModel().getShowMarketSelectionListExpanded().not()); + collapsedMarketSelectionList.managedProperty().bind(getModel().getShowMarketSelectionListExpanded().not()); + marketSelectionList.visibleProperty().bind(getModel().getShowMarketSelectionListExpanded()); + marketSelectionList.managedProperty().bind(getModel().getShowMarketSelectionListExpanded()); selectedModelItemPin = EasyBind.subscribe(getModel().getSelectedMarketChannelItem(), this::updateTableViewSelection); marketsTableViewSelectionPin = EasyBind.subscribe(marketsTableView.getSelectionModel().selectedItemProperty(), item -> { @@ -256,7 +234,14 @@ protected void onViewAttached() { }); collapsedOfferListTitle.setOnMouseClicked(e -> { getController().toggleOfferList(); - expansionTransition.play(); + Transitions.expansionAnimation(centerVBox, offerList, 60, EXPANDED_OFFER_LIST_WIDTH).play(); + }); + marketSelectionListTitle.setOnMouseClicked(e -> { + getController().toggleMarketSelectionList(); + }); + collapsedMarketSelectionListTitle.setOnMouseClicked(e -> { + getController().toggleMarketSelectionList(); + Transitions.expansionAnimation(centerVBox, marketSelectionList, 40, EXPANDED_MARKET_SELECTION_LIST_WIDTH).play(); }); } @@ -276,6 +261,14 @@ protected void onViewDetached() { onlyFavouritesDisplayHint.managedProperty().unbind(); favouritesTableView.visibleProperty().unbind(); favouritesTableView.managedProperty().unbind(); + collapsedOfferList.visibleProperty().unbind(); + collapsedOfferList.managedProperty().unbind(); + offerList.visibleProperty().unbind(); + offerList.managedProperty().unbind(); + collapsedMarketSelectionList.visibleProperty().unbind(); + collapsedMarketSelectionList.managedProperty().unbind(); + marketSelectionList.visibleProperty().unbind(); + marketSelectionList.managedProperty().unbind(); selectedModelItemPin.unsubscribe(); marketsTableViewSelectionPin.unsubscribe(); @@ -321,6 +314,8 @@ protected void onViewDetached() { offerListTitle.setOnMouseClicked(null); collapsedOfferListTitle.setOnMouseClicked(null); + marketSelectionListTitle.setOnMouseClicked(null); + collapsedMarketSelectionListTitle.setOnMouseClicked(null); getModel().getFavouriteMarketChannelItems().removeListener(listChangeListener); } @@ -355,8 +350,8 @@ private BisqEasyOfferbookController getController() { } private void addMarketSelectionList() { - Label marketSelectionTitle = new Label(Res.get("bisqEasy.offerbook.markets")); - HBox header = new HBox(marketSelectionTitle); + marketSelectionListTitle = new Label(Res.get("bisqEasy.offerbook.markets"), ImageUtil.getImageViewById("market-white")); + HBox header = new HBox(marketSelectionListTitle); header.setMinHeight(HEADER_HEIGHT); header.setMaxHeight(HEADER_HEIGHT); header.setAlignment(Pos.CENTER_LEFT); @@ -404,12 +399,33 @@ private void addMarketSelectionList() { marketSelectionList = new VBox(header, Layout.hLine(), subheader, appliedFiltersSection, favouritesTableView, marketsTableView); - marketSelectionList.setPrefWidth(210); - marketSelectionList.setMinWidth(210); + marketSelectionList.setMaxWidth(EXPANDED_MARKET_SELECTION_LIST_WIDTH); + marketSelectionList.setPrefWidth(EXPANDED_MARKET_SELECTION_LIST_WIDTH); + marketSelectionList.setMinWidth(EXPANDED_MARKET_SELECTION_LIST_WIDTH); marketSelectionList.setFillWidth(true); marketSelectionList.getStyleClass().add("chat-container"); } + private void addCollapsedMarketSelectionList() { + collapsedMarketSelectionListTitle = new Label("", ImageUtil.getImageViewById("market-white")); + HBox header = new HBox(collapsedMarketSelectionListTitle); + header.setMinHeight(HEADER_HEIGHT); + header.setMaxHeight(HEADER_HEIGHT); + header.setAlignment(Pos.CENTER); + + HBox subheader = new HBox(); + subheader.setAlignment(Pos.CENTER); + subheader.getStyleClass().add("market-selection-subheader"); + + collapsedMarketSelectionList = new VBox(header, Layout.hLine(), subheader, Spacer.fillVBox()); + collapsedMarketSelectionList.setMaxWidth(COLLAPSED_LIST_WIDTH); + collapsedMarketSelectionList.setPrefWidth(COLLAPSED_LIST_WIDTH); + collapsedMarketSelectionList.setMinWidth(COLLAPSED_LIST_WIDTH); + collapsedMarketSelectionList.setFillWidth(true); + collapsedMarketSelectionList.getStyleClass().add("collapsed-market-selection-list-container"); + HBox.setMargin(collapsedMarketSelectionList, new Insets(0, -9, 0, 0)); + } + private Label createAndGetRemoveFilterLabel(ImageView defaultCloseIcon) { Label removeFilterLabel = new Label(); removeFilterLabel.setGraphic(defaultCloseIcon); @@ -647,8 +663,9 @@ private void addCollapsedOfferList() { subheader.getStyleClass().add("offer-list-subheader"); collapsedOfferList = new VBox(header, Layout.hLine(), subheader, Spacer.fillVBox()); - collapsedOfferList.setPrefWidth(40); - collapsedOfferList.setMinWidth(40); + collapsedOfferList.setMaxWidth(COLLAPSED_LIST_WIDTH); + collapsedOfferList.setPrefWidth(COLLAPSED_LIST_WIDTH); + collapsedOfferList.setMinWidth(COLLAPSED_LIST_WIDTH); collapsedOfferList.setFillWidth(true); collapsedOfferList.getStyleClass().add("collapsed-offer-list-container"); HBox.setMargin(collapsedOfferList, new Insets(0, 0, 0, -9)); @@ -682,8 +699,9 @@ private void addOfferList() { VBox.setVgrow(offerListTableView, Priority.ALWAYS); offerList = new VBox(header, Layout.hLine(), subheader, offerListTableView); - offerList.setPrefWidth(438); - offerList.setMinWidth(438); + offerList.setMaxWidth(EXPANDED_OFFER_LIST_WIDTH); + offerList.setPrefWidth(EXPANDED_OFFER_LIST_WIDTH); + offerList.setMinWidth(EXPANDED_OFFER_LIST_WIDTH); offerList.setFillWidth(true); offerList.getStyleClass().add("chat-container"); } diff --git a/apps/desktop/desktop/src/main/resources/css/bisq_easy.css b/apps/desktop/desktop/src/main/resources/css/bisq_easy.css index 9149fc2877..89b62650d8 100644 --- a/apps/desktop/desktop/src/main/resources/css/bisq_easy.css +++ b/apps/desktop/desktop/src/main/resources/css/bisq_easy.css @@ -337,6 +337,7 @@ -fx-text-fill: -bisq2-red-lit-40; } +/* COLLAPSE AND EXPAND COLUMNS */ .collapsed-offer-list-container { -fx-background-color: -bisq-dark-grey-20; -fx-background-radius: 0 8 0 0; @@ -346,6 +347,11 @@ -fx-background-radius: 8 0 0 0 !important; } +.collapsed-market-selection-list-container { + -fx-background-color: -bisq-dark-grey-20; + -fx-background-radius: 8 0 0 0; +} + .create-offer-button { -fx-background-color: -fx-default-button; -fx-text-fill: -fx-light-text-color; From ca7cc4fbdac5a03e3f9ce9f9c3d732c037485b1e Mon Sep 17 00:00:00 2001 From: axpoems <145597137+axpoems@users.noreply.github.com> Date: Mon, 29 Apr 2024 18:52:58 +0200 Subject: [PATCH 08/16] Add collapse transitions --- .../java/bisq/desktop/common/Transitions.java | 14 +++++++++++--- .../offerbook/BisqEasyOfferbookView.java | 16 ++++++++-------- 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/apps/desktop/desktop/src/main/java/bisq/desktop/common/Transitions.java b/apps/desktop/desktop/src/main/java/bisq/desktop/common/Transitions.java index 22dba4e5b7..ca10bd50e4 100644 --- a/apps/desktop/desktop/src/main/java/bisq/desktop/common/Transitions.java +++ b/apps/desktop/desktop/src/main/java/bisq/desktop/common/Transitions.java @@ -994,8 +994,12 @@ public static boolean getUseAnimations() { return settingsService.getUseAnimations().get(); } - public static ParallelTransition expansionAnimation(Pane boxToMinimize, Pane boxToExpand, - double initialWidth, double finalWidth) { + public static void expansionAnimation(Pane boxToMinimize, Pane boxToExpand, double initialWidth, double finalWidth) { + expansionAnimation(boxToMinimize, boxToExpand, initialWidth, finalWidth, null); + } + + public static void expansionAnimation(Pane boxToMinimize, Pane boxToExpand, double initialWidth, double finalWidth, + @Nullable Runnable finishedHandler) { Timeline marginExpansion = new Timeline( new KeyFrame(Duration.millis(0), new KeyValue(boxToMinimize.translateXProperty(), 10) @@ -1018,6 +1022,10 @@ public static ParallelTransition expansionAnimation(Pane boxToMinimize, Pane box ) ); - return new ParallelTransition(marginExpansion, widthExpansion); + ParallelTransition transition = new ParallelTransition(marginExpansion, widthExpansion); + transition.play(); + if (finishedHandler != null) { + transition.setOnFinished(actionEvent -> finishedHandler.run()); + } } } diff --git a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookView.java b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookView.java index 1264e6fe24..4c0ff6f499 100644 --- a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookView.java +++ b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookView.java @@ -229,19 +229,19 @@ protected void onViewAttached() { onlyFavouritesDisplayHint.setOnMouseEntered(e -> removeFavouritesFilter.setGraphic(favouritesRemoveFilterActiveIcon)); onlyFavouritesDisplayHint.setOnMouseExited(e -> removeFavouritesFilter.setGraphic(favouritesRemoveFilterDefaultIcon)); - offerListTitle.setOnMouseClicked(e -> { - getController().toggleOfferList(); - }); + offerListTitle.setOnMouseClicked(e -> + Transitions.expansionAnimation(centerVBox, offerList, EXPANDED_OFFER_LIST_WIDTH, COLLAPSED_LIST_WIDTH + 20, + () -> getController().toggleOfferList())); collapsedOfferListTitle.setOnMouseClicked(e -> { getController().toggleOfferList(); - Transitions.expansionAnimation(centerVBox, offerList, 60, EXPANDED_OFFER_LIST_WIDTH).play(); - }); - marketSelectionListTitle.setOnMouseClicked(e -> { - getController().toggleMarketSelectionList(); + Transitions.expansionAnimation(centerVBox, offerList, COLLAPSED_LIST_WIDTH + 20, EXPANDED_OFFER_LIST_WIDTH); }); + marketSelectionListTitle.setOnMouseClicked(e -> + Transitions.expansionAnimation(centerVBox, marketSelectionList, EXPANDED_MARKET_SELECTION_LIST_WIDTH, + COLLAPSED_LIST_WIDTH, () -> getController().toggleMarketSelectionList())); collapsedMarketSelectionListTitle.setOnMouseClicked(e -> { getController().toggleMarketSelectionList(); - Transitions.expansionAnimation(centerVBox, marketSelectionList, 40, EXPANDED_MARKET_SELECTION_LIST_WIDTH).play(); + Transitions.expansionAnimation(centerVBox, marketSelectionList, COLLAPSED_LIST_WIDTH, EXPANDED_MARKET_SELECTION_LIST_WIDTH); }); } From 2f44deeeb34feeee2de785468563b2c96bf341c0 Mon Sep 17 00:00:00 2001 From: axpoems <145597137+axpoems@users.noreply.github.com> Date: Mon, 29 Apr 2024 19:08:26 +0200 Subject: [PATCH 09/16] Fix background radius for main chat container --- .../java/bisq/desktop/common/Transitions.java | 2 +- .../offerbook/BisqEasyOfferbookView.java | 27 +++++++++++++++++-- .../src/main/resources/css/bisq_easy.css | 20 +++++++++++--- 3 files changed, 43 insertions(+), 6 deletions(-) diff --git a/apps/desktop/desktop/src/main/java/bisq/desktop/common/Transitions.java b/apps/desktop/desktop/src/main/java/bisq/desktop/common/Transitions.java index ca10bd50e4..624c908c4f 100644 --- a/apps/desktop/desktop/src/main/java/bisq/desktop/common/Transitions.java +++ b/apps/desktop/desktop/src/main/java/bisq/desktop/common/Transitions.java @@ -1002,7 +1002,7 @@ public static void expansionAnimation(Pane boxToMinimize, Pane boxToExpand, doub @Nullable Runnable finishedHandler) { Timeline marginExpansion = new Timeline( new KeyFrame(Duration.millis(0), - new KeyValue(boxToMinimize.translateXProperty(), 10) + new KeyValue(boxToMinimize.translateXProperty(), 9) ), new KeyFrame(Duration.millis(100), new KeyValue(boxToMinimize.translateXProperty(), 0) diff --git a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookView.java b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookView.java index 4c0ff6f499..5a3b2ff297 100644 --- a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookView.java +++ b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookView.java @@ -72,7 +72,8 @@ public final class BisqEasyOfferbookView extends ChatView updateChatContainerStyleClass()); + + showMarketSelectionListExpandedPin = EasyBind.subscribe(getModel().getShowMarketSelectionListExpanded(), + showMarketSelectionListExpanded -> updateChatContainerStyleClass()); + sortByMostOffers.setOnAction(e -> getController().onSortMarkets(MarketSortType.NUM_OFFERS)); sortByNameAZ.setOnAction(e -> getController().onSortMarkets(MarketSortType.ASC)); sortByNameZA.setOnAction(e -> getController().onSortMarkets(MarketSortType.DESC)); @@ -283,6 +290,8 @@ protected void onViewDetached() { shouldShowAppliedFiltersPin.unsubscribe(); offerListTableViewSelectionPin.unsubscribe(); showBuyFromOfferMessageItemsPin.unsubscribe(); + showOfferListExpandedPin.unsubscribe(); + showMarketSelectionListExpandedPin.unsubscribe(); sortByMostOffers.setOnAction(null); sortByNameAZ.setOnAction(null); @@ -333,6 +342,21 @@ private void updateFavouritesTableViewHeight(double height) { favouritesTableView.setMaxHeight(height); } + private void updateChatContainerStyleClass() { + centerVBox.getStyleClass().clear(); + String styleClass; + if (!getModel().getShowOfferListExpanded().get() && !getModel().getShowMarketSelectionListExpanded().get()) { + styleClass = "chat-container-with-both-lists-collapsed"; + } else if (!getModel().getShowOfferListExpanded().get()) { + styleClass = "chat-container-with-offer-list-collapsed"; + } else if (!getModel().getShowMarketSelectionListExpanded().get()) { + styleClass = "chat-container-with-market-selection-list-collapsed"; + } else { // both are expanded + styleClass = "bisq-easy-container"; + } + centerVBox.getStyleClass().add(styleClass); + } + private void setOfferDirectionOrOwnerFilter(DropdownFilterMenuItem filterMenuItem) { getModel().getSelectedOfferDirectionOrOwnerFilter().set((Filters.OfferDirectionOrOwner) filterMenuItem.getFilter()); } @@ -529,7 +553,6 @@ private void addChatBox() { VBox.setVgrow(chatMessagesComponent, Priority.ALWAYS); centerVBox.getChildren().addAll(titleHBox, Layout.hLine(), subheader, chatMessagesComponent); - centerVBox.getStyleClass().add("bisq-easy-container"); centerVBox.setAlignment(Pos.CENTER); } diff --git a/apps/desktop/desktop/src/main/resources/css/bisq_easy.css b/apps/desktop/desktop/src/main/resources/css/bisq_easy.css index 89b62650d8..6eef2ca32c 100644 --- a/apps/desktop/desktop/src/main/resources/css/bisq_easy.css +++ b/apps/desktop/desktop/src/main/resources/css/bisq_easy.css @@ -343,13 +343,27 @@ -fx-background-radius: 0 8 0 0; } +.collapsed-market-selection-list-container { + -fx-background-color: -bisq-dark-grey-20; + -fx-background-radius: 8 0 0 0; +} + .chat-container-with-offer-list-collapsed { - -fx-background-radius: 8 0 0 0 !important; + -fx-background-radius: 8 0 0 0; } -.collapsed-market-selection-list-container { +.chat-container-with-market-selection-list-collapsed { + -fx-background-radius: 0 8 0 0; +} + +.chat-container-with-both-lists-collapsed { + -fx-background-radius: 0; +} + +.chat-container-with-offer-list-collapsed, +.chat-container-with-market-selection-list-collapsed, +.chat-container-with-both-lists-collapsed { -fx-background-color: -bisq-dark-grey-20; - -fx-background-radius: 8 0 0 0; } .create-offer-button { From 70abb60c029b463179ede69cc6f355f6e08d9788 Mon Sep 17 00:00:00 2001 From: axpoems <145597137+axpoems@users.noreply.github.com> Date: Mon, 29 Apr 2024 19:12:09 +0200 Subject: [PATCH 10/16] Add cursor for list titles --- .../content/bisq_easy/offerbook/BisqEasyOfferbookView.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookView.java b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookView.java index 5a3b2ff297..f6678ab7fb 100644 --- a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookView.java +++ b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookView.java @@ -375,6 +375,7 @@ private BisqEasyOfferbookController getController() { private void addMarketSelectionList() { marketSelectionListTitle = new Label(Res.get("bisqEasy.offerbook.markets"), ImageUtil.getImageViewById("market-white")); + marketSelectionListTitle.setCursor(Cursor.HAND); HBox header = new HBox(marketSelectionListTitle); header.setMinHeight(HEADER_HEIGHT); header.setMaxHeight(HEADER_HEIGHT); @@ -432,6 +433,7 @@ private void addMarketSelectionList() { private void addCollapsedMarketSelectionList() { collapsedMarketSelectionListTitle = new Label("", ImageUtil.getImageViewById("market-white")); + collapsedMarketSelectionListTitle.setCursor(Cursor.HAND); HBox header = new HBox(collapsedMarketSelectionListTitle); header.setMinHeight(HEADER_HEIGHT); header.setMaxHeight(HEADER_HEIGHT); @@ -676,6 +678,7 @@ private String createPeerReputationLabel(Filters.PeerReputation filter, String l private void addCollapsedOfferList() { collapsedOfferListTitle = new Label("", ImageUtil.getImageViewById("list-view-white")); + collapsedOfferListTitle.setCursor(Cursor.HAND); HBox header = new HBox(collapsedOfferListTitle); header.setMinHeight(HEADER_HEIGHT); header.setMaxHeight(HEADER_HEIGHT); @@ -696,6 +699,7 @@ private void addCollapsedOfferList() { private void addOfferList() { offerListTitle = new Label(Res.get("bisqEasy.offerbook.offerList"), ImageUtil.getImageViewById("list-view-white")); + offerListTitle.setCursor(Cursor.HAND); HBox header = new HBox(offerListTitle); header.setMinHeight(HEADER_HEIGHT); header.setMaxHeight(HEADER_HEIGHT); From 0fbe1f46dbcbc1ca218ecd8f1186ed9c4da8e84d Mon Sep 17 00:00:00 2001 From: axpoems <145597137+axpoems@users.noreply.github.com> Date: Mon, 29 Apr 2024 20:10:13 +0200 Subject: [PATCH 11/16] Fix icons --- .../offerbook/BisqEasyOfferbookView.java | 10 ++++++---- .../images/icons/list-view/list-view-grey.png | Bin 292 -> 338 bytes .../icons/list-view/list-view-grey@2x.png | Bin 625 -> 567 bytes .../images/icons/market/market-grey.png | Bin 467 -> 373 bytes .../images/icons/market/market-grey@2x.png | Bin 799 -> 619 bytes 5 files changed, 6 insertions(+), 4 deletions(-) diff --git a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookView.java b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookView.java index f6678ab7fb..dcd1fac17d 100644 --- a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookView.java +++ b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookView.java @@ -374,7 +374,7 @@ private BisqEasyOfferbookController getController() { } private void addMarketSelectionList() { - marketSelectionListTitle = new Label(Res.get("bisqEasy.offerbook.markets"), ImageUtil.getImageViewById("market-white")); + marketSelectionListTitle = new Label(Res.get("bisqEasy.offerbook.markets"), ImageUtil.getImageViewById("market-grey")); marketSelectionListTitle.setCursor(Cursor.HAND); HBox header = new HBox(marketSelectionListTitle); header.setMinHeight(HEADER_HEIGHT); @@ -432,12 +432,13 @@ private void addMarketSelectionList() { } private void addCollapsedMarketSelectionList() { - collapsedMarketSelectionListTitle = new Label("", ImageUtil.getImageViewById("market-white")); + collapsedMarketSelectionListTitle = new Label("", ImageUtil.getImageViewById("market-grey")); collapsedMarketSelectionListTitle.setCursor(Cursor.HAND); HBox header = new HBox(collapsedMarketSelectionListTitle); header.setMinHeight(HEADER_HEIGHT); header.setMaxHeight(HEADER_HEIGHT); header.setAlignment(Pos.CENTER); + header.setPadding(new Insets(4, 0, 0, 0)); HBox subheader = new HBox(); subheader.setAlignment(Pos.CENTER); @@ -677,12 +678,13 @@ private String createPeerReputationLabel(Filters.PeerReputation filter, String l } private void addCollapsedOfferList() { - collapsedOfferListTitle = new Label("", ImageUtil.getImageViewById("list-view-white")); + collapsedOfferListTitle = new Label("", ImageUtil.getImageViewById("list-view-grey")); collapsedOfferListTitle.setCursor(Cursor.HAND); HBox header = new HBox(collapsedOfferListTitle); header.setMinHeight(HEADER_HEIGHT); header.setMaxHeight(HEADER_HEIGHT); header.setAlignment(Pos.CENTER); + header.setPadding(new Insets(4, 0, 0, 0)); HBox subheader = new HBox(); subheader.setAlignment(Pos.CENTER_LEFT); @@ -698,7 +700,7 @@ private void addCollapsedOfferList() { } private void addOfferList() { - offerListTitle = new Label(Res.get("bisqEasy.offerbook.offerList"), ImageUtil.getImageViewById("list-view-white")); + offerListTitle = new Label(Res.get("bisqEasy.offerbook.offerList"), ImageUtil.getImageViewById("list-view-grey")); offerListTitle.setCursor(Cursor.HAND); HBox header = new HBox(offerListTitle); header.setMinHeight(HEADER_HEIGHT); diff --git a/apps/desktop/desktop/src/main/resources/images/icons/list-view/list-view-grey.png b/apps/desktop/desktop/src/main/resources/images/icons/list-view/list-view-grey.png index 1eab71f4a86ffa5c84bd5da11a846282764e1ff1..01b3ea7ed87f6bc7a2f00114940762d2642fe54e 100644 GIT binary patch delta 309 zcmV-50m}ZQ0@4B@iBL{Q4GJ0x0000DNk~Le0000O0000O2nGNE0N{5$_>mzffAmR2 zK~#9!Vqh5RfDv7wp`pP5NYw+e01y`f`4^~d!G0j+0Of)VFGS)K0uO-t7a$9;5TQu{ zi0z5AfFE4|n*|^juZOZ5fiBtrq!$dSNCri20+hP|$p1iz1=xb9AISoHpaq4{cpwIR zKu>inI3g7W9H5rf6KTN#Aa*2Vf5AbdWC;qQ22jXRHDW-S4VvL7228Y0MNC*+4+@U+ zAPi*oQ)&UWI6%&|2|!Cek`l>4^#mjN0a~h90HujarogCSQRzzVxUXkkaw z`d}gu#}jGZ1!&PiQho3Mn!6c@R7+GOqgR;+7)C4r2rvNjJ5Dl&LA0>|3jhEBNkvXX Hu0mjfm(gtU delta 262 zcmcb_w1i2qGr-TCmrII^fq{Y7)59eQNGpIa2OE$quB!SnQBkA*n5T;%^KM+`biTmdou zjqROf2iSDPWEM*)4D)-e6Yhi@Chq6D}Qe$=D`yA?F3hQg$8b zLppMnHw_qHaWF$nX``1oTIzh5QVS) z$AR$`ROG|D(>d5aN3taA$zCiRIhr@!nNE!3*oS6EpBa1?)+hkNqTpYR?gR9{i&p@I zTtkz03`a1oXpYAqUj=Jdx(O?Te?>N$u`RFy-UEjW3Vh-o>Lx4){((2O3z=9z7py00 zQ{W4Od}^#9KDM}00sX<$7FZf8@C?lh?FcfSK9S2pj^+X-AO^g~S$~TI=)YPK#6V}l zK|V45&Pg%Zd4O=xx@D+V1ToRRW6n@YVeMpSBJ(w4PpAM1&jBSaW4X{@f3ma~D1j#Y z&_M|>^JGcwz88!rbq&Mtn_T39y7BaR1;I0$Dl+d^pcWF2P)D{E^&(x!6i#EpDk&o) zm((ZU0(6~H>WX^ld0^L*iSbtA%vIFG+N?#rZ$l=o46q6pq^QQK2l5uQiHiqQpGKxG z6cHvWNbp30@Qxh)Gn9Cva&y0~0}=@_urd_Bd9{d13vZ?a@fHB#QSf8OFkY=32p4fA zHPr`IOe~`~U_(1C=9$%z eqq)A2&IF|sG(7gHVgkYlOwe=!+NbsnGXdFvjKBu% zopeYRZLl3FjeNOZvJ!zqbjRJ4BR*K?R*vZ z^;AdyHUVo!r94TlqJ>_r-^*gF7>#EH-=k>I)JfAD?Dod)*} z#-B8eDH1|wf-{Hlic(`v4%_x%Qw8^3bmf4DKpNCSg9D^Nn*~fCDbO_yE**7XWfjeg zRSFR7WDTisq+yUh4T6yv0l8HacSM7=5{X12DT2Id5D|F$$6Nr1!3B33M57OmiO_9K zkcH)>Pn{7Dnc=tqc!-SzII% z2@SRqmkknaX>g-{?-M$0k>NWG5)JOvSOMn;3vyV|gH3hFnnV{gI5|V( z{}%Fxw*v-GgP{)C`Gg>694mzfe-}wa zK~#9!>{aazf-n?B!vK!p2Eqogfo`B1=meArbOYHyHjoWu1V&&3y-SXyF?=TN4-=bQ z`a;Qj$Gv+r2>xr%GRC}tr;prgPlO|H1(5uV?S*~oynvWrfgEw;v;Y!ru(6LNV&g-i z2haj1`(fyaJ!MIN7;(GEMYJ!le;+yL85?^-TraYzv?Q|!SxRU7oKCp|1>$1S9LNzF zaFMP@HnH=#ic$AQ@AR&*9*|j$L^ma@l#m{0!X3abNWXQTETCZ_)7W~}sEI~i=Q{N1 zJ}QxP%``0aKwnawms2JQ2c&82Vd*JCxvDu94tu0Y#L)TQbR%hQV(7d;E~HV{sn=gFp;TQU5n1v>VV3(hbN4WrCIoLMI3tBpZ+oLM8|slo1%A?@7-RLWGde zm>lq=qbAe@TeLUxho{(y(_?K%^t?bA@=}9foU22q{kGm*7H+ zK4sOQz33=a8~3XekOjnYk70ObZz$^x_j;59`rt}aj*nRT9)Np{dHEly*jUW?jTKI7 z){qWJxR=b|;@x(1Es&)~q)Z=uXF^e8`Bj`7Op)Ftql=MZ*b+$GSg#;deb_XN z#sf{)m$yun!HLQh$@MqCp0yQtX~n$zmCUkR)>XN@?t~=N0SYV}?g~Yh0+!2NehVhQ hmOt9$?N5LK02Ee{+I;!n4XgkF002ovPDHLkV1fs)#OnY6 diff --git a/apps/desktop/desktop/src/main/resources/images/icons/market/market-grey@2x.png b/apps/desktop/desktop/src/main/resources/images/icons/market/market-grey@2x.png index 3c1a5ab59fd433c420beaae107afc4a430a8d2ab..3a65e85b41cef75940c434662d09805ed7154b80 100644 GIT binary patch delta 592 zcmV-W0{*SifDM`~H;)zI; z`;zmpz|mg6{t%4u@bK{XB);&+S{uW3Ve$>gt{Myow0poCFc*N*M;M_>15kOG_AqV~ zuX+psh4-X9Vy(&ppnL>V!9=Ode~!U|mB-yavR$u0R%-G9Dj(5t10zwBgMZ%lvex(wtONvR&* z4;HIQ4WOOl=`LaCP>Br;-gM!$zg>XeDOTkyZ)EiFLZrJ^T+_lxiB_!$@Pc-}d$Xzq z_1^9QnK7yXV=JN*@84yUf0nrL-pK%>z_yP%1NSsAkWzWiX=mO)Z2-&Hyx25P7;niN z-96=_CT(gDWP&=SL-5yRL{2d>305N>9LqlCh2n?Qvt~jB@1)Kg2u4sRWc|4{3q$ar zOPqu{pYnjDPOZs+OmvB*St#xq5D&Ernu54o`iG8tUuZM{WiBL{Q4GJ0x0000DNk~Le0000$0000$2nGNE0IF$m-jN|Ff5Aya zK~#9!>{*R*f-n@0xenk6b_3i1H;@f*g31Ko1lkF31Kgl&pd&B>BlM+x+{JeR!32dQ z-yMg27B2bnyqSPqC|TewzE5+F7Y zw*sy!es+fdJoOy^TnZw<7P_Q>e*!n&pacR+CkTLzijxl{Qw3M#gbTptW4Oh{9D%*I zo&eaSIQ1hj@4$YuJ`2DmmkPf>gZ=DE9U%N(&iCTf6DJBGIORRuThCesaebzp{?oPFP7=j8-6f4&L#t7#&z z*vW}GQPuhHR6vTgcz~^FY>?QT`27X!r^yUNFfGaQ{982G3*3MXj-<&Escxt9LOz1@ z^Omo-sD{8$lheD{d8GnUQjXHat&oJwkl){Q7tBYLzS#U4Qxhd3h5!HQ6ChiPorg`% zI}|`q=m3kXuqs=lzsd+%f5)tj6gziK4m`6nwPgdpKS9&OTPt_qO& zUhQIMR07aHQyQE)h}y9K5tR%P+;^oJ;bTMjucLwur`*@_5 z{4Hpjx4r}fWbk1H2fFhBr(%F7z{A7C!^6Wq{0cAtND?H~ZRa(G00000NkvXXu0mjf DojhMd From b17479119546657f0afdfd97c220631a44d3bf0e Mon Sep 17 00:00:00 2001 From: axpoems <145597137+axpoems@users.noreply.github.com> Date: Mon, 29 Apr 2024 20:16:13 +0200 Subject: [PATCH 12/16] Add tooltips --- .../bisq_easy/offerbook/BisqEasyOfferbookView.java | 9 +++++---- i18n/src/main/resources/bisq_easy.properties | 4 ++++ 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookView.java b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookView.java index dcd1fac17d..6cc3089492 100644 --- a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookView.java +++ b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookView.java @@ -23,10 +23,7 @@ import bisq.desktop.common.Transitions; import bisq.desktop.common.utils.ImageUtil; import bisq.desktop.components.containers.Spacer; -import bisq.desktop.components.controls.DropdownMenu; -import bisq.desktop.components.controls.DropdownMenuItem; -import bisq.desktop.components.controls.DropdownTitleMenuItem; -import bisq.desktop.components.controls.SearchBox; +import bisq.desktop.components.controls.*; import bisq.desktop.components.table.BisqTableColumn; import bisq.desktop.components.table.BisqTableView; import bisq.desktop.components.table.StandardTable; @@ -376,6 +373,7 @@ private BisqEasyOfferbookController getController() { private void addMarketSelectionList() { marketSelectionListTitle = new Label(Res.get("bisqEasy.offerbook.markets"), ImageUtil.getImageViewById("market-grey")); marketSelectionListTitle.setCursor(Cursor.HAND); + marketSelectionListTitle.setTooltip(new BisqTooltip(Res.get("bisqEasy.offerbook.markets.ExpandedList.Tooltip"))); HBox header = new HBox(marketSelectionListTitle); header.setMinHeight(HEADER_HEIGHT); header.setMaxHeight(HEADER_HEIGHT); @@ -434,6 +432,7 @@ private void addMarketSelectionList() { private void addCollapsedMarketSelectionList() { collapsedMarketSelectionListTitle = new Label("", ImageUtil.getImageViewById("market-grey")); collapsedMarketSelectionListTitle.setCursor(Cursor.HAND); + collapsedMarketSelectionListTitle.setTooltip(new BisqTooltip(Res.get("bisqEasy.offerbook.markets.CollapsedList.Tooltip"))); HBox header = new HBox(collapsedMarketSelectionListTitle); header.setMinHeight(HEADER_HEIGHT); header.setMaxHeight(HEADER_HEIGHT); @@ -680,6 +679,7 @@ private String createPeerReputationLabel(Filters.PeerReputation filter, String l private void addCollapsedOfferList() { collapsedOfferListTitle = new Label("", ImageUtil.getImageViewById("list-view-grey")); collapsedOfferListTitle.setCursor(Cursor.HAND); + collapsedOfferListTitle.setTooltip(new BisqTooltip(Res.get("bisqEasy.offerbook.offerList.CollapsedList.Tooltip"))); HBox header = new HBox(collapsedOfferListTitle); header.setMinHeight(HEADER_HEIGHT); header.setMaxHeight(HEADER_HEIGHT); @@ -702,6 +702,7 @@ private void addCollapsedOfferList() { private void addOfferList() { offerListTitle = new Label(Res.get("bisqEasy.offerbook.offerList"), ImageUtil.getImageViewById("list-view-grey")); offerListTitle.setCursor(Cursor.HAND); + offerListTitle.setTooltip(new BisqTooltip(Res.get("bisqEasy.offerbook.offerList.ExpandedList.Tooltip"))); HBox header = new HBox(offerListTitle); header.setMinHeight(HEADER_HEIGHT); header.setMaxHeight(HEADER_HEIGHT); diff --git a/i18n/src/main/resources/bisq_easy.properties b/i18n/src/main/resources/bisq_easy.properties index 0f09a95e0a..f671dddb39 100644 --- a/i18n/src/main/resources/bisq_easy.properties +++ b/i18n/src/main/resources/bisq_easy.properties @@ -403,6 +403,8 @@ bisqEasy.walletGuide.receive.link2=Bluewallet tutorial by BTC Sessions ###################################################### bisqEasy.offerbook.markets=Markets +bisqEasy.offerbook.markets.CollapsedList.Tooltip=Expand Markets +bisqEasy.offerbook.markets.ExpandedList.Tooltip=Collapse Markets bisqEasy.offerbook.marketListCell.numOffers.one={0} offer bisqEasy.offerbook.marketListCell.numOffers.many={0} offers bisqEasy.offerbook.marketListCell.numOffers.tooltip.none=No offers yet available in the {0} market @@ -439,6 +441,8 @@ bisqEasy.offerbook.dropdownMenu.filterOffersByPeerReputation.atLeastOneStar=1 st bisqEasy.offerbook.chatMessage.deleteOffer.confirmation=Are you sure you want to delete this offer? bisqEasy.offerbook.offerList=Offer List +bisqEasy.offerbook.offerList.CollapsedList.Tooltip=Expand Offer List +bisqEasy.offerbook.offerList.ExpandedList.Tooltip=Collapse Offer List bisqEasy.offerbook.offerList.table.columns.peerProfile=Peer profile bisqEasy.offerbook.offerList.table.columns.price=Price bisqEasy.offerbook.offerList.table.columns.fiatAmount={0} amount From 807739f62aa1264f90ca99837b8e3178baed4293 Mon Sep 17 00:00:00 2001 From: axpoems <145597137+axpoems@users.noreply.github.com> Date: Mon, 29 Apr 2024 20:19:48 +0200 Subject: [PATCH 13/16] Simplify animation and make it faster --- .../java/bisq/desktop/common/Transitions.java | 35 +++++++------------ .../offerbook/BisqEasyOfferbookView.java | 8 ++--- 2 files changed, 16 insertions(+), 27 deletions(-) diff --git a/apps/desktop/desktop/src/main/java/bisq/desktop/common/Transitions.java b/apps/desktop/desktop/src/main/java/bisq/desktop/common/Transitions.java index 624c908c4f..a4afb50b0a 100644 --- a/apps/desktop/desktop/src/main/java/bisq/desktop/common/Transitions.java +++ b/apps/desktop/desktop/src/main/java/bisq/desktop/common/Transitions.java @@ -994,38 +994,27 @@ public static boolean getUseAnimations() { return settingsService.getUseAnimations().get(); } - public static void expansionAnimation(Pane boxToMinimize, Pane boxToExpand, double initialWidth, double finalWidth) { - expansionAnimation(boxToMinimize, boxToExpand, initialWidth, finalWidth, null); + public static void expansionAnimation(Pane pane, double initialWidth, double finalWidth) { + expansionAnimation(pane, initialWidth, finalWidth, null); } - public static void expansionAnimation(Pane boxToMinimize, Pane boxToExpand, double initialWidth, double finalWidth, - @Nullable Runnable finishedHandler) { - Timeline marginExpansion = new Timeline( - new KeyFrame(Duration.millis(0), - new KeyValue(boxToMinimize.translateXProperty(), 9) - ), - new KeyFrame(Duration.millis(100), - new KeyValue(boxToMinimize.translateXProperty(), 0) - ) - ); - + public static void expansionAnimation(Pane pane, double initialWidth, double finalWidth, @Nullable Runnable finishedHandler) { Timeline widthExpansion = new Timeline( new KeyFrame(Duration.millis(0), - new KeyValue(boxToExpand.prefWidthProperty(), initialWidth), - new KeyValue(boxToExpand.minWidthProperty(), initialWidth), - new KeyValue(boxToExpand.maxWidthProperty(), initialWidth) + new KeyValue(pane.prefWidthProperty(), initialWidth), + new KeyValue(pane.minWidthProperty(), initialWidth), + new KeyValue(pane.maxWidthProperty(), initialWidth) ), - new KeyFrame(Duration.millis(300), - new KeyValue(boxToExpand.prefWidthProperty(), finalWidth), - new KeyValue(boxToExpand.minWidthProperty(), finalWidth), - new KeyValue(boxToExpand.maxWidthProperty(), finalWidth) + new KeyFrame(Duration.millis(200), + new KeyValue(pane.prefWidthProperty(), finalWidth), + new KeyValue(pane.minWidthProperty(), finalWidth), + new KeyValue(pane.maxWidthProperty(), finalWidth) ) ); - ParallelTransition transition = new ParallelTransition(marginExpansion, widthExpansion); - transition.play(); + widthExpansion.play(); if (finishedHandler != null) { - transition.setOnFinished(actionEvent -> finishedHandler.run()); + widthExpansion.setOnFinished(actionEvent -> finishedHandler.run()); } } } diff --git a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookView.java b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookView.java index 6cc3089492..b845b6fbec 100644 --- a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookView.java +++ b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookView.java @@ -234,18 +234,18 @@ protected void onViewAttached() { onlyFavouritesDisplayHint.setOnMouseExited(e -> removeFavouritesFilter.setGraphic(favouritesRemoveFilterDefaultIcon)); offerListTitle.setOnMouseClicked(e -> - Transitions.expansionAnimation(centerVBox, offerList, EXPANDED_OFFER_LIST_WIDTH, COLLAPSED_LIST_WIDTH + 20, + Transitions.expansionAnimation(offerList, EXPANDED_OFFER_LIST_WIDTH, COLLAPSED_LIST_WIDTH + 20, () -> getController().toggleOfferList())); collapsedOfferListTitle.setOnMouseClicked(e -> { getController().toggleOfferList(); - Transitions.expansionAnimation(centerVBox, offerList, COLLAPSED_LIST_WIDTH + 20, EXPANDED_OFFER_LIST_WIDTH); + Transitions.expansionAnimation(offerList, COLLAPSED_LIST_WIDTH + 20, EXPANDED_OFFER_LIST_WIDTH); }); marketSelectionListTitle.setOnMouseClicked(e -> - Transitions.expansionAnimation(centerVBox, marketSelectionList, EXPANDED_MARKET_SELECTION_LIST_WIDTH, + Transitions.expansionAnimation(marketSelectionList, EXPANDED_MARKET_SELECTION_LIST_WIDTH, COLLAPSED_LIST_WIDTH, () -> getController().toggleMarketSelectionList())); collapsedMarketSelectionListTitle.setOnMouseClicked(e -> { getController().toggleMarketSelectionList(); - Transitions.expansionAnimation(centerVBox, marketSelectionList, COLLAPSED_LIST_WIDTH, EXPANDED_MARKET_SELECTION_LIST_WIDTH); + Transitions.expansionAnimation(marketSelectionList, COLLAPSED_LIST_WIDTH, EXPANDED_MARKET_SELECTION_LIST_WIDTH); }); } From cbd80fd2624a18bda0648fc027acbaa7d23001c0 Mon Sep 17 00:00:00 2001 From: axpoems <145597137+axpoems@users.noreply.github.com> Date: Mon, 29 Apr 2024 20:34:39 +0200 Subject: [PATCH 14/16] Change icon colour according to expand/collapse/mouse over --- .../offerbook/BisqEasyOfferbookView.java | 41 +++++++++++++++--- .../icons/list-view/list-view-green.png | Bin 297 -> 342 bytes .../icons/list-view/list-view-green@2x.png | Bin 600 -> 567 bytes .../icons/list-view/list-view-white.png | Bin 283 -> 302 bytes .../icons/list-view/list-view-white@2x.png | Bin 564 -> 485 bytes .../images/icons/market/market-green.png | Bin 475 -> 384 bytes .../images/icons/market/market-green@2x.png | Bin 817 -> 633 bytes .../images/icons/market/market-white.png | Bin 432 -> 322 bytes .../images/icons/market/market-white@2x.png | Bin 798 -> 606 bytes 9 files changed, 36 insertions(+), 5 deletions(-) diff --git a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookView.java b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookView.java index b845b6fbec..1e6d7adf15 100644 --- a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookView.java +++ b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookView.java @@ -86,7 +86,8 @@ public final class BisqEasyOfferbookView extends ChatView Transitions.expansionAnimation(offerList, EXPANDED_OFFER_LIST_WIDTH, COLLAPSED_LIST_WIDTH + 20, () -> getController().toggleOfferList())); + offerListTitle.setOnMouseEntered(e -> offerListTitle.setGraphic(offerListWhiteIcon)); + offerListTitle.setOnMouseExited(e -> offerListTitle.setGraphic(offerListGreenIcon)); + collapsedOfferListTitle.setOnMouseClicked(e -> { getController().toggleOfferList(); Transitions.expansionAnimation(offerList, COLLAPSED_LIST_WIDTH + 20, EXPANDED_OFFER_LIST_WIDTH); }); + collapsedOfferListTitle.setOnMouseEntered(e -> collapsedOfferListTitle.setGraphic(offerListWhiteIcon)); + collapsedOfferListTitle.setOnMouseExited(e -> collapsedOfferListTitle.setGraphic(offerListGreyIcon)); + marketSelectionListTitle.setOnMouseClicked(e -> Transitions.expansionAnimation(marketSelectionList, EXPANDED_MARKET_SELECTION_LIST_WIDTH, COLLAPSED_LIST_WIDTH, () -> getController().toggleMarketSelectionList())); + marketSelectionListTitle.setOnMouseEntered(e -> marketSelectionListTitle.setGraphic(marketsWhiteIcon)); + marketSelectionListTitle.setOnMouseExited(e -> marketSelectionListTitle.setGraphic(marketsGreenIcon)); + collapsedMarketSelectionListTitle.setOnMouseClicked(e -> { getController().toggleMarketSelectionList(); Transitions.expansionAnimation(marketSelectionList, COLLAPSED_LIST_WIDTH, EXPANDED_MARKET_SELECTION_LIST_WIDTH); }); + collapsedMarketSelectionListTitle.setOnMouseEntered(e -> collapsedMarketSelectionListTitle.setGraphic(marketsWhiteIcon)); + collapsedMarketSelectionListTitle.setOnMouseExited(e -> collapsedMarketSelectionListTitle.setGraphic(marketsGreyIcon)); } @Override @@ -319,9 +331,20 @@ protected void onViewDetached() { onlyFavouritesDisplayHint.setOnMouseExited(null); offerListTitle.setOnMouseClicked(null); + offerListTitle.setOnMouseEntered(null); + offerListTitle.setOnMouseExited(null); + collapsedOfferListTitle.setOnMouseClicked(null); + collapsedOfferListTitle.setOnMouseEntered(null); + collapsedOfferListTitle.setOnMouseExited(null); + marketSelectionListTitle.setOnMouseClicked(null); + marketSelectionListTitle.setOnMouseEntered(null); + marketSelectionListTitle.setOnMouseExited(null); + collapsedMarketSelectionListTitle.setOnMouseClicked(null); + collapsedMarketSelectionListTitle.setOnMouseEntered(null); + collapsedMarketSelectionListTitle.setOnMouseExited(null); getModel().getFavouriteMarketChannelItems().removeListener(listChangeListener); } @@ -371,7 +394,11 @@ private BisqEasyOfferbookController getController() { } private void addMarketSelectionList() { - marketSelectionListTitle = new Label(Res.get("bisqEasy.offerbook.markets"), ImageUtil.getImageViewById("market-grey")); + marketsGreenIcon = ImageUtil.getImageViewById("market-green"); + marketsGreyIcon = ImageUtil.getImageViewById("market-grey"); + marketsWhiteIcon = ImageUtil.getImageViewById("market-white"); + + marketSelectionListTitle = new Label(Res.get("bisqEasy.offerbook.markets"), marketsGreenIcon); marketSelectionListTitle.setCursor(Cursor.HAND); marketSelectionListTitle.setTooltip(new BisqTooltip(Res.get("bisqEasy.offerbook.markets.ExpandedList.Tooltip"))); HBox header = new HBox(marketSelectionListTitle); @@ -430,7 +457,7 @@ private void addMarketSelectionList() { } private void addCollapsedMarketSelectionList() { - collapsedMarketSelectionListTitle = new Label("", ImageUtil.getImageViewById("market-grey")); + collapsedMarketSelectionListTitle = new Label("", marketsGreyIcon); collapsedMarketSelectionListTitle.setCursor(Cursor.HAND); collapsedMarketSelectionListTitle.setTooltip(new BisqTooltip(Res.get("bisqEasy.offerbook.markets.CollapsedList.Tooltip"))); HBox header = new HBox(collapsedMarketSelectionListTitle); @@ -677,7 +704,11 @@ private String createPeerReputationLabel(Filters.PeerReputation filter, String l } private void addCollapsedOfferList() { - collapsedOfferListTitle = new Label("", ImageUtil.getImageViewById("list-view-grey")); + offerListGreenIcon = ImageUtil.getImageViewById("list-view-green"); + offerListGreyIcon = ImageUtil.getImageViewById("list-view-grey"); + offerListWhiteIcon = ImageUtil.getImageViewById("list-view-white"); + + collapsedOfferListTitle = new Label("", offerListGreyIcon); collapsedOfferListTitle.setCursor(Cursor.HAND); collapsedOfferListTitle.setTooltip(new BisqTooltip(Res.get("bisqEasy.offerbook.offerList.CollapsedList.Tooltip"))); HBox header = new HBox(collapsedOfferListTitle); @@ -700,7 +731,7 @@ private void addCollapsedOfferList() { } private void addOfferList() { - offerListTitle = new Label(Res.get("bisqEasy.offerbook.offerList"), ImageUtil.getImageViewById("list-view-grey")); + offerListTitle = new Label(Res.get("bisqEasy.offerbook.offerList"), offerListGreenIcon); offerListTitle.setCursor(Cursor.HAND); offerListTitle.setTooltip(new BisqTooltip(Res.get("bisqEasy.offerbook.offerList.ExpandedList.Tooltip"))); HBox header = new HBox(offerListTitle); diff --git a/apps/desktop/desktop/src/main/resources/images/icons/list-view/list-view-green.png b/apps/desktop/desktop/src/main/resources/images/icons/list-view/list-view-green.png index 684edce80dc0ebde7624b969a144baeb1ce41836..df22c7b0396ebb3bbf65374d559a778c80f869eb 100644 GIT binary patch delta 313 zcmV-90mlBR0@eZ{iBL{Q4GJ0x0000DNk~Le0000O0000O2nGNE0N{5$_>mzffA~p6 zK~#9!Vqh5RfDv6FY@LSzkg5k_0U$116}005wJq2Wq#U4Jkl}?$d_v#>&_N531z3pC zqyWVBL|VX)E`ZGfkc-zt*^NLKZ2-~>hEybjA~ylbT>$jK2TCl!7DW9>7T5zVEQH1b zG2jDws$;P!Kf$=?1Ds3@EcfGaSW$iPouz35)AN z!Eqjhf$V-tEx;BB$hkHFXvs%XA{iKG1S9zYTB=w8rHM+W#1<77(K6bDAy*&33cEsR zVMo*YU?LF56KUQBpo0oYtq&eRb2kH#YKe+u^eXcJ!-xd{0R{kO3r;e$4`0CB00000 LNkvXXu0mjf6^C$u delta 267 zcmcb{w311&Gr-TCmrII^fq{Y7)59eQNGpIa2OE$quB!SnQBkA*w5N+>NX4zB1PNAV z9*IKFmbITV7=peAylV+{wB~yGjA6l3HiuU>vkH_1>=}~Sjow-@d^y5c;wUE5#k`?I z)1lCoRZi^|qx6P|5(X(I_7hwFFs{sG5aIe6@XjgWgRaC`qc7*$SUp}QC>d}`u~|u5 zIlW{&-Dc43?q}xHVC9t9FfB7dL_nBz!=!?Ml*8;7xH{LkaC|w^+<2y~*Wr#srdi5@ zG)V)Eu1A3m8q&uu?{YMn#p`*pO}ya;v+d?Y<}HC*4yXH0YDg3?2qZ8Zsf{-EWgFp}@mJ6T+N-z~9{PK&FN4~Z@NGeEDf$1Rd%_DYx`59LL9Y6^wA+y#Z zSqRRjz=b_=E3FQ5Cp^pU-p(GL=fughJ zcmn`_fg$ghj$lN_YkULvDm=eZe=V46JY=buTR}7E7J6gAfH&x?YQe1MANXU3kd6mb z$@;}(3OyRYmkpJ~yOvNY5TD`L9?%LQ0KLbs;Wt7`yHDh*kdvuU2_&)K*y~SufZX`8 zB8edf=0O1~UFU3=>^i_aXwfoN8xmv9wqs3SN#W(BZy^g5b9ZC_gEv7Xe~v?i&|j*w z7%D+7d{I#exH%G=#7t+Y3ZL&dbiE-eZBs|)pCxJ`VGDI)TT?GGgl3xHsbG~{kx5Iw zC*K2noKmWqdg*mweW4Q5sl>rlQ;!#9w5bnlsKk{9S20B?s-gOUyoGJj!^5$6Bi#^+ zm=hHYJdpt2iIab(5>LGEao2r7A|VInn&6v9i&V7eWI7b@0e~mqyN+o(T8Wt#nJ8-6 zC90z10o7^4H8=GuLsa5qgh?u4MGov0O?_I2l4s}>(@<1`V%*M;e2uU{tJ delta 573 zcmV-D0>b^b1lR;2iBL{Q4GJ0x0000DNk~Le0000$0000$2nGNE0IF$m-jN|FfBH#8 zK~#9!?3+tY!!Qtr9mD~0gm8oQ1T;H#6c%hrPJnWPwnyj*2wN5fcI=v*pt(VFgxmne z(nPYLt{*5wp3E;F_Z&t9cggEG&n&TR9T=JBL#-0!K0xLTv4aNRFeuFPJ{Gm z5F;T|ieim4*a{Yl#o{7Jn+7EU?@z1+4SI>n0SR9kd=tOV z3H3*0=uU$a4@vpZU}9hexjrb+Ve1iWYF+juhM>XO4>bO7N&c{Qz~pJr)d96l2vWx3 z(ju&16nKhAMSwzsI&DJxYveD#%*blL5P|mtSReTfB^tS6T-B}(Q8a100000 LNkvXXu0mjf>A3W( diff --git a/apps/desktop/desktop/src/main/resources/images/icons/list-view/list-view-white.png b/apps/desktop/desktop/src/main/resources/images/icons/list-view/list-view-white.png index 5bba4b8eb8dfd232e380ccd65a4da9b1531011d9..c95766538da31605ef9292512a5dfc4adadd6ccc 100644 GIT binary patch delta 272 zcmV+r0q_2s0mzff6z%p zK~#9!Vqh3{;McET20*+Xi1&lol$ytg#e)4n$^pu~0K|nzd_v#>8ynjKWC0c;G${bF zJ&_jh6B|VLp*UdB$0@cr5CBpMQ0@X?n0}zd0&H>6k7R*8(85A!JP-pu03CFJkOjzw zIY2F|C(?ogKppHemGu)e1Xe>Vt_u98aWq7l1)pNNRlmiu8lTRycI8GKW3@2rvLU WoQR7DGepS%0000;jOL1g$c6<#{2q!M217P5PzU&Hf(@qL7H|$ai+00000NkvXXu0mjf D;=)_v diff --git a/apps/desktop/desktop/src/main/resources/images/icons/list-view/list-view-white@2x.png b/apps/desktop/desktop/src/main/resources/images/icons/list-view/list-view-white@2x.png index 9acce30c548ba5d081ffbf4789edc5bdd1854ad2..00a55dd5091a2776f0b5115acb12b347b1d96fe0 100644 GIT binary patch delta 457 zcmV;)0XF`$1my!EiBL{Q4GJ0x0000DNk~Le0000m0000m2nGNE09OL}hmj#De}_p# zK~#9!>{-!`!Y~X4g!-KkIzl%9CO9^rBXAoW6Tk+*1RN7kCMX-U8^Cve-~|~8p^^p_ zi<vsi0i-+!m8dL^b*aS1DYXw9wI0Y^Y*b1=aJ&oPeV}?Wx3$tEtBVu{QOggr+|C;3`~{BL8|i{c1y#ifm{U ziuX{7Ddl|&SqEF9j~1b*Jzn2D8UBSA7Q~A$G7&P5p$4N?eWLq!K3y zTd2`jOt16nukE>2Eb2PV400000NkvXXu0mjf6KuRz delta 536 zcmV+z0_XkZ1GEGoiBL{Q4GJ0x0000DNk~Le0000$0000$2nGNE0IF$m-jN|Ff7VGv zK~#9!?3>YTgD?<=ovPxQ5z-CF1Pv3EPEeSj$^=bD=mgCMRVOG+P&U9DB+tC0XXzeL zRR^1jBA@?XI)Nf5(w*-Pf5uS?f*=Tjywvx7M)pqDk)8N{8;kQL*~Mb}(EM3>I=`k% zH!>_wlB5nL0JomwONTK}WHkruf3kp2HBCV7I{3!($L}4+tV1dR-vFGY^)%lSXvm6@ zG40^~uz*i`&L)`BcrjmZCF&XWlG?(ksI@A!UN^Qn(m#e_nBER2;C+ z1$=600(Nr+;K7pyx1hlYX>iB_^%5m8Hw|_pec(&|*IcSOv)1X!m z1VLzmvS~20(BLTs8Wgt>n(}UNj0RsM)1dFWL2)#gDq-@?fDeaR6-|RCy+v(_`O=`~ z24~wCsY2Ts#5jZjG>1F&>a$8tg1In8iSYq7F$-p~3YCE131cjsvz|z$Z-; za9olGvma>u-!lB+9DwL)&^G{$OA1PEf~NjO9haXmzfe{ZJRfBn{*&0Py!w3yktm-u6&Z+ zgNd8GY_iMF8|Ka1oz4DZ%-CPoPsH5>_QDWh$5;Y@A2B^JFSREi^8^uJcDGt<0)X3? zq>cr^BNGzkhz1dK7cEWfMHUa?e}a88$wgvc#HMFo_N1@@z^h3%#o>s|a$!lGyZhpl zGa>_cHmMKjh!An2t_LY%>v1L%-D`fM9DOwqW)+yF1S|eNX&GK=W9{0Il44K6GB2C?G7DW<~s~lrtOCgO%IfmMAQ=8JH zWT-uX!&Z-VUV!uV!7=of`E3nKLkXJSfA3!c3;{rckf>01POzyD+?SOQkH;<5mXQ?1kfu;iKK+ib{$K2EkLI~_`D30dOdh|5t(y^Ze^?7hpy!gy zAW{EuB-82^m31zwnNR}i1Slq53l}5H p6wq33^0%P(vHZDuUl#!e6#xLYk*480!Vv%f002ovPDHLkV1k_C&U^p> diff --git a/apps/desktop/desktop/src/main/resources/images/icons/market/market-green@2x.png b/apps/desktop/desktop/src/main/resources/images/icons/market/market-green@2x.png index b403ef3e283e8a2ed757fbb39cc59e2a802f4b93..e06bd5a28bf591eb22f760f0140c6461fa8323fa 100644 GIT binary patch delta 606 zcmV-k0-^n}2KfXbiBL{Q4GJ0x0000DNk~Le0000m0000m2nGNE09OL}hmj#De;Y|e zK~#9!>{&~4f7!jHF)=NJwLHa~rT{XA+gAke-8-hjRUGT*=m zRT_Zg;jn;lqIlI~01#dfdBj-Ne+~fo2o5=$N@R8n2238kyGsg?fe@_5X(=~Q1 zR!1P8_0o-!bfTI|Rnrw&ER&03HNTZd;7C3s=~Tc6C+s{VBQnb-&9oJ(d+dPhQK~*= zg6WUlmjcm)lvIuGTZ>hv29W1?y8F%5L}ChqH(hw|R~6t5#j5D#9~nJ77wPWLw&OXB zgk*IQ0iKiRtAAFdklx*Qe?Vr8#&k#5P*S{qmrdHzMfXkykOXFR(rGc`3#9q+eL|@cQCw@%y550QNayCDBX3X0_{4OCk%jkT*{8TZjP#zF4iVf_ zI(;CpkWR?@^UMqk!Idtt6X`r^2c&dLO$MZ*ODxPl(PTi})-GrYG~#0DFFKmu&}ab0 sW#(USJQ^dGY1YcPAB~5Hhxry@07o|6a0H4YZ2$lO07*qoM6N<$f&|tTxc~qF delta 791 zcmV+y1L*wu1hEDoiBL{Q4GJ0x0000DNk~Le0000$0000$2nGNE0IF$m-jN|Ff73}s zK~#9!>{-Ea!Y~jNniN0@qyy6d{PM(klQh|Br5%bIscK{{01WL$Va-I=4 zGT2BaAZcej1_2)3-rni%5F#KTARr(hz*qFD7jIuLDclnE!_U|6p6dii-xUxD2n09| z$ZZq223`_?#=|X#YfrEJA%MJ|f6?1M5&>%?pA?Xj;S~xv)(bBP08gXmBW0C`h0LHy~-lNwSUKB#${W;v! zbN)!uKRQnUo$amS-WdXvxL2_TP5pI#%qQG&%6hnXOGrOWse}CJQw) z6A?(llKr$gE;C(%q~{tJJDn0h@tN@Cr28(AfCi1l--t>DCbylMASt90O|etn6#*LQ zf1KMS6)dO*-mp|P!<=$Mt_i6^ScbG9{fNcq#SD)}7hEwZ<)}I9fA^XuClwt)8W@jW zdgpz3n`claA8Qh%YJ6!s?rkZ6m!!*U&Sm@!CCIvRHa0DGtP?;ZC^b8mrV^z-e#}C` zO0i>=0Fr)UBK->q@|hB(QIpdYPggc1eKvx!mYqrNvA7XrOYcv_>GZYK6gLkA*}`~T zr#I^|LEW1Ibc2XOZ9F(+L+_7-=8p&A0Hm+dZ=(P{& zCjx4R9KI0XT-Lv~6h_%kAtyLvc-6c$B_Lvh4;PS{&I7#40fB&kfPjF20Qc}CzyNd8 VBb_SC;wu0E002ovPDHLkV1n7HT{-{& diff --git a/apps/desktop/desktop/src/main/resources/images/icons/market/market-white.png b/apps/desktop/desktop/src/main/resources/images/icons/market/market-white.png index 9ea03a3020a440fa1bedd02d5fcb73882df21c15..1d1ade30ab07c9cdb3c856505bb628c1958c38bf 100644 GIT binary patch delta 293 zcmV+=0owks1Hu9!iBL{Q4GJ0x0000DNk~Le0000O0000O2nGNE0N{5$_>mzee*ol3 zL_t(|+G1cB1;l_~zkdA(;{CKRn~6paHlUdWK*I}w)OjGSK=mL3xg2U%1J&aIs9ykx z-vjY_TEzj#;158Yh%CrLrEu>DQVu|D$i~L@fuv*#5(nY{Jcb8A^(T;=4?vLxl>^~^ zP&lK>D?r12KFJvkDMb{3Tn9DidpscoKu$$@zu7D35)D0lNJRox%=csA` zl#ACVAO`|f4lv#cUjummR5L(Gf5*7X^9<#8?JO{W3*4bR9-M~oXiu+t?ZrdztjGN) z1IS{DrBqF~W3Nl^ZQS!g2JnL?zRK?uYf+E5hfto4Q3)-JC4WPvlVK0pHtZGVU!eRl zxEYD3{O?vxEgQk~Q8M z^FZb5(=WQ5`BwM3g~^unVb@2PX2F>AKvF56nd(5o82W6Re;?8625f3MuRfGo7%kmR yBosnDB)$HvT-tM!0k)QF$a3{;E7!Y~ZZMJJv+0wZ*U-UhG%Y)~d>J3-k1Ht20oHYgh$8-du2KOc50@24CF9d7 zAipB=h(OgB0P-PRa`tL7o6Qa?e-r@nXzd-d`X`XzYWf05KBW5-$Xd-R1lEt?vY^K^ z$P%o7R-pi`GScslD)IpNeZgMsf&5-mA}d(X9)bK?O(q8GquWH>@12wq7;qqETbds* z1_o@*Uai6Ur++V}G0}k3^qZQ93{F;T43yMmF~<|lcK}k+6^u+)2e7;we+6i*4qKX< zqATn%OfHhuawrcwl05o*!d~IT8}>XWCDNWnn(0bbPmci#+NN(I{J9cimC~iCAMX=8 z+Y_VZSiic3T!2fW81E;*sr`$!?VN4uX>z_|EV`CP(f3M<73{g{8}QFkfKOibi51~) z@~ec8a<>DNT!;$sZkoqre+2RYw^>VbXOZ^QFVNyT@rXG>=KHzRgDnx1{;Dy!Y~lFtcqtwpc}vj=>}v2n4mBLVFKs`VFTEJYyca;2IZL-dRJW}b8;Y# z9e!+ol9e`1T;F%!o$nkWA|fIpA|fJ!$N7BDU|iG@g55H7$43Gp0siN*E)oIvl8_Xze#%#-rC4?DiOp-+R9cfbm^T+^@j+RVZ};#=W}Vqt~ZF6hh$r30%~D{zTG0c~1cC z?M89$4FO8rt5|~Zn^1ZIU9mGYnLxg=_fhr0VQn%Q7e>eeUY{GTt zng}X(a&~*FtMi|!fEm@|eQHHV4vEcK+;716<;xt1(6*$?^MBEBe@zD1V8NOk-0H?Q z6Ur8(pI7{ONNVUiYI159JC9VrjFqE&aXlg-a}@V`+Xc%OrH{rBXlvp`%;5QLodj7? z?A&c~o}mElp*bw_NLAT@f8td|B5s`3v0~?{$$>e?t`;pFc|T)|EY!?QL?8)s_G-CZ z=DGw)^I8`>wT)=$91gm39_o3O>K)E=OI9Gsy=&gRZB4WPujNoqoMR?HqyV9AYuN`GO^k; zIjs>u4M~?BK{?CLB==N22-48|Lveljdejs*Zv|;!yspz5KO{lDhyrv65ruej$eP|y zgyzG8@BlJY>6<8kS|4(3Og=okH31ce98=*D?kPZf$Pp3&m4_Um5a3)L_|bHM1+6%6JP*OzX6VWQywq?0000 Date: Mon, 29 Apr 2024 20:37:36 +0200 Subject: [PATCH 15/16] Remove uppercase in buy from/sell dropdown menu's strings --- .../content/bisq_easy/offerbook/BisqEasyOfferbookView.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookView.java b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookView.java index 1e6d7adf15..f288db162d 100644 --- a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookView.java +++ b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookView.java @@ -772,8 +772,8 @@ private DropdownMenu createAndGetOfferListByDirectionFilter() { dropdownMenu.getStyleClass().add("dropdown-offer-list-direction-filter-menu"); offerListByDirectionFilter = new Label(); dropdownMenu.setLabel(offerListByDirectionFilter); - buyFromOffers = new DropdownMenuItem(Res.get("bisqEasy.offerbook.offerList.table.filters.offerDirection.buyFrom").toUpperCase()); - sellToOffers = new DropdownMenuItem(Res.get("bisqEasy.offerbook.offerList.table.filters.offerDirection.sellTo").toUpperCase()); + buyFromOffers = new DropdownMenuItem(Res.get("bisqEasy.offerbook.offerList.table.filters.offerDirection.buyFrom")); + sellToOffers = new DropdownMenuItem(Res.get("bisqEasy.offerbook.offerList.table.filters.offerDirection.sellTo")); dropdownMenu.addMenuItems(buyFromOffers, sellToOffers); return dropdownMenu; } From e181996c82f1918be5261ba0808294e5bd3b1339 Mon Sep 17 00:00:00 2001 From: axpoems <145597137+axpoems@users.noreply.github.com> Date: Mon, 29 Apr 2024 20:48:52 +0200 Subject: [PATCH 16/16] Improve expanstion animation --- .../java/bisq/desktop/common/Transitions.java | 40 +++++++++++-------- .../offerbook/BisqEasyOfferbookView.java | 6 ++- 2 files changed, 29 insertions(+), 17 deletions(-) diff --git a/apps/desktop/desktop/src/main/java/bisq/desktop/common/Transitions.java b/apps/desktop/desktop/src/main/java/bisq/desktop/common/Transitions.java index a4afb50b0a..f33ee29d1d 100644 --- a/apps/desktop/desktop/src/main/java/bisq/desktop/common/Transitions.java +++ b/apps/desktop/desktop/src/main/java/bisq/desktop/common/Transitions.java @@ -999,22 +999,30 @@ public static void expansionAnimation(Pane pane, double initialWidth, double fin } public static void expansionAnimation(Pane pane, double initialWidth, double finalWidth, @Nullable Runnable finishedHandler) { - Timeline widthExpansion = new Timeline( - new KeyFrame(Duration.millis(0), - new KeyValue(pane.prefWidthProperty(), initialWidth), - new KeyValue(pane.minWidthProperty(), initialWidth), - new KeyValue(pane.maxWidthProperty(), initialWidth) - ), - new KeyFrame(Duration.millis(200), - new KeyValue(pane.prefWidthProperty(), finalWidth), - new KeyValue(pane.minWidthProperty(), finalWidth), - new KeyValue(pane.maxWidthProperty(), finalWidth) - ) - ); - - widthExpansion.play(); - if (finishedHandler != null) { - widthExpansion.setOnFinished(actionEvent -> finishedHandler.run()); + if (getUseAnimations()) { + Timeline widthExpansion = new Timeline( + new KeyFrame(Duration.millis(0), + new KeyValue(pane.prefWidthProperty(), initialWidth, Interpolator.LINEAR), + new KeyValue(pane.minWidthProperty(), initialWidth, Interpolator.LINEAR), + new KeyValue(pane.maxWidthProperty(), initialWidth, Interpolator.LINEAR) + ), + new KeyFrame(Duration.millis(200), + new KeyValue(pane.prefWidthProperty(), finalWidth, Interpolator.EASE_OUT), + new KeyValue(pane.minWidthProperty(), finalWidth, Interpolator.EASE_OUT), + new KeyValue(pane.maxWidthProperty(), finalWidth, Interpolator.EASE_OUT) + ) + ); + widthExpansion.play(); + if (finishedHandler != null) { + widthExpansion.setOnFinished(actionEvent -> finishedHandler.run()); + } + } else { + pane.setPrefWidth(finalWidth); + pane.setMinWidth(finalWidth); + pane.setMaxWidth(finalWidth); + if (finishedHandler != null) { + finishedHandler.run(); + } } } } diff --git a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookView.java b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookView.java index f288db162d..f06e10a845 100644 --- a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookView.java +++ b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookView.java @@ -23,7 +23,11 @@ import bisq.desktop.common.Transitions; import bisq.desktop.common.utils.ImageUtil; import bisq.desktop.components.containers.Spacer; -import bisq.desktop.components.controls.*; +import bisq.desktop.components.controls.BisqTooltip; +import bisq.desktop.components.controls.DropdownMenu; +import bisq.desktop.components.controls.DropdownMenuItem; +import bisq.desktop.components.controls.DropdownTitleMenuItem; +import bisq.desktop.components.controls.SearchBox; import bisq.desktop.components.table.BisqTableColumn; import bisq.desktop.components.table.BisqTableView; import bisq.desktop.components.table.StandardTable;