From e3d2d1c07e733897030e6feaaf5659cdf9d57456 Mon Sep 17 00:00:00 2001 From: Broque Thomas Date: Tue, 29 Jul 2025 14:25:46 -0700 Subject: [PATCH] style --- .../__pycache__/downloads.cpython-310.pyc | Bin 277142 -> 278760 bytes .../__pycache__/downloads.cpython-312.pyc | Bin 507873 -> 509491 bytes ui/pages/downloads.py | 161 +++++++++++------- 3 files changed, 96 insertions(+), 65 deletions(-) diff --git a/ui/pages/__pycache__/downloads.cpython-310.pyc b/ui/pages/__pycache__/downloads.cpython-310.pyc index cfb035e068594eea89fdeb68d9859bd56954e760..e23f4a80d463a687bd0e587107297f85ada99e65 100644 GIT binary patch delta 20567 zcmb_^30#&{^C)x9^S&%EtLz}F2%-px0*d=Ka4yrR=(n{?x8Dx#f#3?>hVB4K(l%7u+3CX= z3^(4iK?{IPJnIbIU<`)4K(^ChB1Jh8c`Pn=fh#ZsXSu>Rkc%VSU;_*_?z+J*07LN? z510uhnAZq;K#{Sf5kvuA_JC&iwEfgaaDRSsayBseJ3WlaOZ&lEQ z3Vg6%Fa!HJO;0=+8 zArR6uipiypB(@c4?^5AX?UZAm(~SP?*J)JIrP`Jggr`FwSw`nHNAFPR>Cz(oQX!3R zX7*KKXNUX3pfN58g$YiH2{EDSuPqJ;hvshd*@pkx#)QVlwrh)FRnP?E+X^4t))9Q2 zk`rS>`LAsPE|KKH)nVXZZ53ZUJv0$L+JjHj^p+(PvvZ23rG&obXIIbhllKrw(U726lE%m_3+mm|+DA9vA{vkvo z=>(4gbtMWS@LaNRmhrKzFtiFHn1lM$7<(j%U|jH&aK{W!&@lc0oRmD9EL<=+5<*PHer-YoQp^iyd62T5ZQ3wg6Adns z41-f5z!T5)77H<^ofyPyPS`C;gkq6BRTw==M5sn-6x`9>07pE~13b9g180pBo{H#O z)`%4OZSB)rL;Gcyj+>a96WTR@Y*_)`jDjdJQt9`csoEFKpe5Pzq5}kD)2B^?)#~+G zsPM+l8w52mgzPt`KX{wgSaS^=AJDaDa~Q02l_{Z0TEhROsv_?te6=}LKmj&w0eu2` zaa`)nz@56FKf+ia27Pf+3wXiWkMVSD8Usl%07u3^0t~}vVjvQR<6AKh0gvM87zk*w zfcR>hN^(nwvD`8G9u2e$hHcW|yRGYu~NvwXjC>C})6_NC`^k}O-4132xnq>`r&%o#7AOqgO z@8h5!6k(S*a`{K%p^MX6qE^z9r*Ac$kB2r8J&%=Rz4dhrRxlXGTEDA| z)@=+Pwz_aXbXHgAHkAy0wOTr0E}l+=5a*!|R{GD^-J;KxOJP}KBRq-LRhWlslF7Xe z7@s6VhH%QaCCCV$2(I7P!|e3MMCTQ8m^3_#DL7y9o|O! zuC-I1!&4)(n&xQ6C@;9TR@6tS@%VjL7|8b2%y{LojY1s{h=ZO=7Rx^Ke;YU-s+B=n zIm1H&=0la)^)Nj=>c(rU-jfx&_DnDAM~nL#i`z;PpE2&{on6=3Vbs?y?X;;Ye0CKgT8&zV_x zvxOEhyS~yEd!CRx? zgvt6qqj%YcZ?bq_tNu6fW}?V~qom^TEJ}~EjOa127N86dXTv!dZ@e}Zh6>AJVw`W- z=fY)hxzvnBaI7j%sEopoy?f*uO=1x^CcKlOWB;i-7J)+dBPi>^m8flXp`=xiu}jq%j&_Od}wDmLxpGX!+aX*FU^rVSpYu5 z%LRWffIgJTB^N?(IK!lPo1Y7{5y`qX!)GQ^w)=S@jnF76Y}98;UhLbP1k#kE9m-IJT2o^?9y%kdvK2)C+j>U2Ck6~1kL6>x`36)8PP2z^|4-pz}o5lrsqZZ-Glr3SY}m zD(P=Deh!w4wgZ`($>0$NFEd{s#$I8pFJt`}q%(M$l{v*OJlMGWJhYO~-w0j~VG=To zE-PVx9F@#$k8#xt43zXiT&9{B$z^*POlP1H<-ttlHLk`fC$D5&QDI^3xKeYy8^RDvlovzUMxW|%6q}kZ#6-b0cqv{oyc+W$xyh>rTKYDF~y>*TnatC}v^*Jo9 zH>=X0{iQ8`wqwwo%TmzwH98Wjb#t!a(x3)zOQvI`ra1jIm|$zq)jBZf$R1BYgf;Kx zMg^VG`E}@P>%zpY^&IZ1TYZ?LJC&BVK#$kK%UJU|1ZdF9czY{s1W3g(+o8z4lB=n? zFqJjyZJgZ>``M+|?u0zy{-E=t-!AA-Ih-psT-<7`{c>~i$_jKfXVj8HOm_MRX01_k zhCvFKDc4gLB5$T#g;^XJQy#09ZRNIGsjSAeSTCBO=a!UY7;az1vA45RvOct^lh9JvQBK@UvZ3n|tosHT%UF5C+ztmaI`(fc4$ zjMkQVJnM-o_JN!5b~j$z2hk!@8BCd4b@54VRZZn^R#NI~xEu40TL<6_K)P}25KWS< z^>gh4la&l^)wCa*xW;*4Sz&2jL2jz9(+aIjT0iTb#H;T^bd!29Y=8&%w>)RUjgB9{ zKcMk+!~xEMD7D(>dt&g0NFVgl2TvI%PgF=2|H%VjEFPC}0p z&`QN-#GWVM7e^kf^z?Ln79O;TfTdkrEI9HcxWzpXHP*0fH7M1LsR&dbKZcs|V>XeR z;5#Q_Fw91e|H5&5C4HQR11jkN>dt>*AFUC4a4UP@RhdSER_sS#x~l1 z1@ymNMoJBAkpZtV4rxXP{-k7OwQbu(6A4 z9(e8yJW&^siq3)`g|)}e!qI?jT;&|M!`(1_>>w+&1&hx?T3rB8M=DC$F%y8u#$%3Bc$69 zZ`wNe{sOIGuhHihN@(B!X8uZR#Cy2tS7-un;g(-vwDT)mTaEW7Cv-bWDRGA@&@6Bl z7ps0AV2qX3Sv~!*=`$M%{{yS9(89HmeJ03&-{2#F*YV@4kPKfN;&-sOP^#e`Ip51G#**Q6x*<o7waXhjvHTb4{8vAOouydo zc#gg~oj8U+NYUQ%DSfUqqBQX>L@L{;{%}XsaVZ%#Gk1FFeeU`l##u$Ie=%`9IM=?V zvJJ*mtFQqa#<}()-TN@JsiZ{-R|cvZD5kw-2nX>Jz`OX0qj=xDp$6nFRC^ESzVXEI zA1ATXzLrBJKo-{ZBrdXvB>0#kS!{$FS+<(ahB1xHUDR1OQ{Ip0=`3O_N2uT{?BOi> zQF2RZkJr+@(;SQ~&SHn7A3Jo7mY0*CTjMmgEPrxVadufru3m}dKB9_7;Es>@5Zd8; zzM>3{Vv3*G29xn;KhX zW|dH~omW(-pTLT6(Zu3U^djS>aB)DRT}p10*dv^k!mg}vNv%HlUqM^r>E^;wgLSw( zR*a}S;lC9tLh0B%AWpnTQU7e5=mgs_I9~j02_nI(4cAs8T4+_&3GACDDsgvfae$5h zX0{Q1>;tGYyN5u^+>@7W1B>C9C<29jFD^b-f5_-!yqzpoS@W!?M#4y(( zR3}=b>sQ%`L-Bln@(f4Z-d}{@BMl~&T2io+H{pfM8^xuL)Ihm?T9ICmU7Dgd!o}$# zfLeGpT_jssvi>N3pDtQKN<)dGnKaI9tbIdL)_tT74M}6}BXw*@%D#`(sUd0XeWcE~ zJVQ*e4&b5;bQ>W2tOMDv24TwqBHppi76Wkn0MU$6hz4d*XGprKbY(+Q3>&1DG^Zh{ zoLs7oRMn7F%xcuun%j`1w5lb|Ye*Wz3fGe6HzZBDPvC-vq;2(T*cRR!!(#}UqQ6yb z1gec8nW9X%tRwl+&gMi)$5TVZbW04$ec2fNsIUo2RgLCOS zJ=&sIu-HWml;zk0`g)7GpMH`)ynJ4%njl05>yVkI7cpJA?tj=U${m&CDHl`DWI8hs zh;juU^k`T80^3U+N~qpc7{~KOAkbOfFOw(`!7N;mFIrh=vG`YwJ^8{3EU$2r#*qTy zB#8b+k!T9L@lFvf9&clCv1sQ1J2#Tra3FS4r4l2nSojEc_R>o`nEpO<_QD0ah;65Q zR~?F^QsAhyp`OXzd7GPm@gY**BEpNtWnGMc2tKaOyUy&p6kzra9OJ%aaEzNXu((vT z?8Kb9!Qev{e1zG#%}uq}ko9e*Htd8!><5k0rQ$Nc5BSkkF}vkqmXN`0A2ZgHVzvGW zW2s!Ge2`PspLvKs#gb_v)9WGRD|mXE80`Piy^4xQ)!s#Ar?K~RvAxkACX+CV$>zB2 zLFXAF#PTYY-^BPCw32*|S7(T5%O)!M2SdumZR=}<+WTV2Oz}#5vw_Ix~M4B1)R^XEH(sOBXo@NX1rD|5{S$P6>nIU|!$t;S11F`Qc(bl?|>U;U( zqFG`;uC5T_n*N2w4o_EzNNa?uhbw1`RJ#5+KU=i1zCql`(*;Gp9iT5vwZqjQ8Wy>03=hjO5k_|zQHB2EqA{iaX_59{AnYBA2ZI7dv8&KZQ8 zi`ifcuB{M$%W|b7&Yv&h&HI|YtV}uXpHI#9#jod!uC!hSFAzbcnkn}m4?zFA^bhVZc#bDy8bISWJ|+r3KqH~0lfv6h*{y9>nfp)**QuNj6>_5m#s0pmp*}>EsWc(VharwE~I^`?b`nZW%bQn{XUs|I7$sXs-Og9-z#w!a& zm~}4ey9Iq76Cu`Zgx562DW^r_(dweS#?|Zry_``QnfaiAkB9YUEF*ydA6eJ@q8NdU1AP31vyttUB=1+j5JK(+KE0nOj}+$KuY%#G~*gx;!oxSk@CqYXct_u9~&E z;x=A?N(_?F8}B|NLTxHX@Tbb<&*OkJk$?wYqNC$6q4Z?sz~gk+O0RvaxcXT!pf0t# z{;cTYt(GG%Zdct0a^_v*k0VzI|He9}$~CTay~-j*%W}=s`a7JxgnTF*mn{(^{U5gf z4kiuJustUt0Ip;FQV{}wV8&7r-R3&$u7dC%gw^eUzvo_GWRS|^rGT2R-%;6ZL4h;wSS6nRSBXhDX|)*Vri3Yj+#suk7+~Qd3(m zqN(_t{Q(|#r%Z64hnB`Kz`B|5cIXk+D6HNf4m$KCvu0*L4cMiIu4pn&!wY!MQ!Bv0OmcId*z0#@^tu zrA2|J6n`pz=Y52}oeAn#(_$tc&+&9G` zdLog!LkzO;Xv7$+cZd!$LPc>E&((OS;a2;m!Q3qM(Jnm=w=WO@9``K^Ogd{(D~B!L zpFWW^I(m0W)15URRa(2q8oHijDA~mtPCX`%>_lN@-4f8 z(&yeXa-R#C3kK`(9fLbO5b<2YTs?R_P*ddsQ+XB9zh_LnwYtbyHkTb_P`hrV5y}gP z{sWUASR>wKLL)Y_nqX?l;2i-c{&mmY)Bw0*i`^n7;1bKY%-|OWDl7Yyu`4)bw@9{l zQ(u#fH+GA|!i56~rNQPP;Jm#wmwfQ_UePvAxsEk7n;#PD>UQOAo;iF6T5b(3)w9P< z*2}r)=UH?GcH1Z7=rBUxCr0;usFN}qyM>vl)DOEdy|SSLQ&soUS+Hq(Y`kBD+tk!$ zKh;}e@BJc(UQ|xlFGBpnxu^+&8k^FTZu{v@L4Og~>=#`vjfn7^abdsc2`TkP4dObB zxCPa!8V5CU2YC$laW9`FDs3jz!N-S~dr*WcpZy%4Iw-ymRw0B_3v)m^P|s@Y3$mx@ z6_Ba^#AgmsXzhu+4v9!hC!$?2zB?o`A&D(&1~r=C^)gh~IE^+F5!L_O%<9YI?urHP ziOH6hr1N#-oA*R8_}!xNbc!%$^1@8(n0+34ejqwq*@N5yaOekOCj}MP4@GcGeldkLSc!1gynQ3y=$CI-zm&4$Te>~XR>~s@jsu5eiojwtqkqBm@MET z7M~PtEj+Q`HQqQ$+ou5KIoFu~AiI=07*_8#XJFLlBGUh1&oT#6qyII=e=fWQ{A^Tw zDI9@BFFYkCxs4!_x&7gXBIk{}r$m$p989IrGCflt!sMY0h7+Liy0-M{5MQfPAeD?X zMxUlbG`N73UyE?}QOxDZij8J03%7qQVuHsop39}F46^w%jWG^Uw~fEP7W9JZA{Lw# zeMLZ^@y=PXTqKTTF15uR%d9G{v02EeltcW=rK;y@Odn<_hx(_)2kUM3%Rnt9b#8_gsFWP&|A_=!n<8x#_xHZ-j6@k1-t2P z{F$!G7%XIoMGP{m=GzM%h5q>QC2;}z8C!o6AAs#|ZcKFwaL#2B3;l5GWzhjn8kaAN z-z5Br-~1+)z>h}JRgopZ%{X?QmVH|RH;~I>Y|0#k3lpClZS;2bcGu?CuY;#kr6}HC4=Ql-wY$RE&CutC)9rdGZig5^c zgrBdf(TE&JMR^La>M~*~#@`Wx>1Q(w?}&|7MJ~mJzeW4X`!ryWP)%F7`bHM2nx4j* z%pgsoolIX;Q&IWiRMziB=Byv0X=#nxh(KOPyCK|Jx zWHg*MR@h{J-U1_&+ zzDD{OQ`}`RK)ms+htz>y+DlK_gx*F*dCIY|4_iksuDcv@RZ#wOQ_9c z;~!5s(n=mWB0wIe1F)8XGL}O6$Ur#?q_I0tZsudN2|;o^y^1;-BnQ)0B_deH5YK>M znMKL!_F&nco((~We4cKSaapKLwJamiUmE8^Ws!gnjEpAoBSH72{*m%)y7svdDPt|A z#Btt;j*>lvbqnG82RJoa4r;NL@$C%$!(bbMa>vmlT8=Ck89S;)xnms`p>M|P(ejC| zyO?bq`;(g9Z}R6327+V7PR7*aHW*W$r9c`Rr;N&CabI)!s90mg^nXNSqjd}UrU+0$ zfa73|OG$B2Y2Nr5S!QlEX<4jnLDx<(vGNZ5jnQ#30!lGGPBsO=(l{Arv!fBy|KX{2 z7pvoB2&};aadMSqIklCA+3~Up4jJFY%N(HFvt9{uARNM#338BSA2Dn+t|iF!0`_2B zqV)IOLq*Y|++}1*^PJrLvgx^mM9|e-Rw9l39-K%2L^6+lgZuvxb6fPoT<|f2BloaR z@RLLtNL7AJlv8N1hbK`lj^M&1+1&OibG^v|j^R5=AA=r%jAt^A6(ySI}O z{!O?`57=)%RlRD=X(u}iVmr`YHnHxdBKHvEQhOO_PY)0*-DNkrQ0~=TM%zyyQl{P? zr+1ezw)!ypg0Z!`jFR5t zrF^8YD}<0w@mNoJ0Y1PTz2sio92U2T875#wZ}Rane7(0!v9TYTC&shzx88C%y({hW zi1PAvkH|i5=b5bJB4OdiUysQ163*f`>GC6*0vr3wb?)_w*XsOehFoS;=R!Yx@cwz(RTUsyWRYaIS(x@Ly+)3t5 z@G&w|vuf-)5-W1#SHjL7AI+6P^bDdbSAM7QiTTpwuXy8>@iG}Y8=J<~K4bo4RZU?yZ=l9tWH6f-$~S(lbPAw#K9TI-vczRAySu+y_(3WSP}Wa_~TzjH2^`AIr#Z)V|RJ8%>pw^z)T= zQ)Q@|QcCG_hNeZSF>$Kw3pS;X`VHzj+&@i534bewxl13b-k9uo#?YqAbV<)x2hEhO zK<5u*D`b}drT3T)7*_Mmy%yYIVg3TtEwWh!+c1XEti~D>d&O zM(J+&>_X`+&ep!`@FnJab>t z{oe1ar9WA^;x{mWU%YXb_2<2ZossN{6t!`zbxZ{d9WGq&1k(#hY;HPiM-8}EN zy&-+Aym#`AFg9+H1(184RX@j7p5cxwmr#2xwaxl}b_w2-1xMiYZIXVyW1QF~J*59s zZnEBMBFU$EM^KT5cixo$btoY+9cxU(Q#)ih49359$Z~t-eS7Tiv$v!#F5M{uX!+c- zQwBAe#=?}uml;c=p47PLWrbNqbVr@d&tN*@uRG;p=!_L_$zE19d%EGrZ^?*&K|Err zu97m4KNUR_9SqsjZ2%XrM7@Ayw>3H#vNvCoF5D#_gLe(rw`Dip$PL&d6KrZ@`y;F1 zicjy6evN7$7v^&HSq$3Xu00g1D~z*yjcOmoz$vSKpI=Tl@$;W?Xxp)@3>(Xz`)Uu&I}*s<|Ru_@PXNFN{w< zq;5eLUi(P)GvDVw#(k(|$~a7m&_!eQVcI0YE$nkd_UrN+D|D3sjeYGaM%pE+O_{2u zcAsj$>B07KXW+u%b*|)zr;f-8aKq^GiEJaSj!Za;<;N(IJ~51x_%c=(tM zwpTLuXr}jAK9hwau<6q58-e)jXYwLEg42%66*dPJ^BwCm9s^Ivpva>vtB`G^q&DN& zr@|x8wYpog$vFB1d1C?2I3b$|*QUmr6SNC`*o}A|mi$+)cl(5!QBF01L=Q0{K9^Gk zz4%=Dr5s8|y#A#OHC4I9s^nwHDcRGl?A}OCB&^UVJ0vt)xex%Of5=kU>>$8 zwcz`=`XzavrMqC>`q3|W$7qrMUVPb##z0os3r)H|09EN#;Lx=O*Bcl8F6YwINtbIf z9;O?eu90Y1hHI}=qO%HjU8mILXKeWgl_J6|>FY~FxQy+lVw4)VC+V})*z*T%tm%Zp z>!xf2|H0ljP^|P@p59QeZyGea_^3Na_)>0eFX~*w>&`{Ta9M7WQe3AlU{e^ zS7AfgKx(jA?`V74oR^Io$3NpR?-$x(x4&fu{U~+m-}0hu4Xc#PU0sFq|Dk>QVchhO zoJ1OU-IZM$-KT-RnpxL!yMAt~7+0NGMA!$$;=8h)W>vltho4C8l}d%H6tez4kZ(54 zt3c(Ezw_rc27fU4L=aF;R==n!`;XwbqLyK`0@p9TC%M`?RE=C-nYG|vZ>$;QJo*=S zQ`4d-4u)E^6rk6uBdl7yWgT&4ZTFJjlu#kE86h15jWDJ81M) z-4Ta4X<^VDr#op8^sB*24{gCi?y5uV^=s@ObB#MT?F6{?CBwVuKWdQbe?MQeTE zZ;GjTI*Vn}eUBP2)>R8}@61xvZ)W~t><*5iQrq8*-(qkZA9K}$;d$KXsttpZx7@T) zRx->(YZ9nlc(y08<&Fuh&0DULIt{WsG=KX`%edjW26ckA=jsAI=Dy$DDYew^nH|~S zjTorA@i%b0w-yn$ovm$SpK>#;U9ap0?#v0i;jNAHRy%k;#H9T%{njTxj~>lz#zG&h z6(t7MKH6;9ZG`x0Rl=r@%IEN4@F2>LPS{uGj=10Be3y?)PFi?xI-IJ;B#;QQA zt^Y7?FqONbfbzsQNm6&?M4(nK0`?QGA7F5h!663kGI$Ti2Wv;%>$mO)SV$-A8ltuK z0p_Sba4kvPsNLw# zrpnu}I9wYE^Ndf!HOjL4V_s9ODJ_f7G}Zp_uGgm%`|SlK4_8Ez)6oyPBQ^hK?^1b< zo0;7gmK9{t1KV*E^`E%ZX)OI5FN=OesOQozmG4GsEyddw^W43P=!cC*qO{GT!P6vY zu7z2>qN%Cpk+$!HAG~fpVsAce@-tapYpx|%Hf7EDO0CSD)cbbTtD%GFx9E9=6X>Ef zKUCeNMhEHY`tKHT)yU$a;{P8P%+xC1FIPVFf?3@_)^ES!Sw|JGZ}9M_o4?ve;P>4n z^Gv$Rparul52{~IS%jc&mn2Xxtrjb2;7tFI1RRXBEi`)Sk&MS;wJDT`bdA&6RhnxM zH>DCXb*IkBmA;UHT2WL!*oj&4x$Jdrau8#a7^wAh4EtSQ{v6Ag#;U1g>L8b?Bt@+} zoH45fu-%rqDyrWnrwf*yEOzq;jqqVgbR@sybA{jJS zBv$uJR??k&xt9aFO5gb>2lxFJ+MhefZ{zhA3}P5eWiXe)Fa|jc_@S)+Bm;Gy{t9C| z8N9{7u&~r!xV5zwRk@W*)-&K&T{^$W(giDVgFl@aQ?Gye@h7{5&aXktOMM^4zGZ?p zV|??j^X0eRk}>tHfiIQSJ+ZDHL0n)e--PPwC-L7~DhXwO(Q~-4HDkjVQ}-$A>Szjo z@@0>@snHiO_9TM?%*;0%`m+q4W5AaVdJ+?qyYNMUZXT5~wu$Y^C*}G+2A>nC)cKTI z=W}J9&tP>vG}ZY4ROf?ColhEdJ`2>{d7$|8OC4_Md-!7>3qJUCo)K2 zz-Kf%pOxr*e4+C}gwE#$dMbaWG3d=Xs(H?!t|rwrB=4flD@WcOnm=&y<$Ann(v{CE zcOTDnRZ7YEzRvl(&dIpWX|~RJvd$^4&Uvc7fWblrDvw;u80As@DHJox*@#}vfERgv zJ%bGlwlR2z0WTA}x}8g819NEBIZWy*cJN%%kK3zXAOA#ZpE5coX*~gc!Uf6NRLV2& zBx~h1b=s(I=GqxmZMC)#YCgi?RVk4>JDb5q21gkDq%C!K@WCtXv^g%#?JDd3bMJ)} IDO$k)0vx0+(EtDd delta 20017 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

a4rn}vN_TC^2Ml|%D~ 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 diff --git a/ui/pages/downloads.py b/ui/pages/downloads.py index 6176e3f8..cfb06dd0 100644 --- a/ui/pages/downloads.py +++ b/ui/pages/downloads.py @@ -2475,17 +2475,19 @@ class AlbumResultItem(QFrame): self.setStyleSheet(""" AlbumResultItem { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, - stop:0 rgba(45, 45, 45, 0.9), - stop:1 rgba(35, 35, 35, 0.95)); - border-radius: 16px; - border: 1px solid rgba(80, 80, 80, 0.4); - margin: 8px 4px; + stop:0 rgba(52, 52, 58, 0.95), + stop:1 rgba(42, 42, 48, 0.98)); + border-radius: 20px; + border: 1px solid rgba(75, 75, 82, 0.5); + margin: 10px 5px; + box-shadow: 0 6px 16px rgba(0, 0, 0, 0.35); } AlbumResultItem:hover { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, - stop:0 rgba(55, 55, 55, 0.95), - stop:1 rgba(45, 45, 45, 0.98)); - border: 1px solid rgba(29, 185, 84, 0.7); + stop:0 rgba(60, 60, 68, 0.98), + stop:1 rgba(50, 50, 58, 1.0)); + border: 1px solid rgba(29, 185, 84, 0.8); + box-shadow: 0 8px 24px rgba(29, 185, 84, 0.2); } """) @@ -2505,26 +2507,32 @@ class AlbumResultItem(QFrame): # Album icon with expand indicator icon_container = QVBoxLayout() album_icon = QLabel("💿") - album_icon.setFixedSize(32, 32) + album_icon.setFixedSize(48, 48) # Larger for better presence album_icon.setAlignment(Qt.AlignmentFlag.AlignCenter) album_icon.setStyleSheet(""" QLabel { - font-size: 20px; - background: rgba(29, 185, 84, 0.1); - border-radius: 16px; - border: 1px solid rgba(29, 185, 84, 0.3); + font-size: 24px; + background: qlineargradient(x1:0, y1:0, x2:1, y2:1, + stop:0 rgba(29, 185, 84, 0.2), + stop:1 rgba(24, 156, 71, 0.15)); + border-radius: 24px; + border: 2px solid rgba(29, 185, 84, 0.4); + color: rgba(29, 185, 84, 1.0); } """) # Expand indicator self.expand_indicator = QLabel("▶") - self.expand_indicator.setFixedSize(16, 16) + self.expand_indicator.setFixedSize(20, 20) # Slightly larger self.expand_indicator.setAlignment(Qt.AlignmentFlag.AlignCenter) self.expand_indicator.setStyleSheet(""" QLabel { - color: rgba(29, 185, 84, 0.8); - font-size: 12px; + color: rgba(29, 185, 84, 0.9); + font-size: 14px; font-weight: bold; + background: rgba(29, 185, 84, 0.1); + border-radius: 10px; + border: 1px solid rgba(29, 185, 84, 0.2); } """) @@ -2579,48 +2587,58 @@ class AlbumResultItem(QFrame): # Download button self.download_btn = QPushButton("⬇️ Download Album") - self.download_btn.setFixedSize(150, 32) + self.download_btn.setFixedSize(160, 36) # Slightly larger for better presence self.download_btn.clicked.connect(self.request_album_download) self.download_btn.setStyleSheet(""" QPushButton { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, - stop:0 rgba(29, 185, 84, 0.9), + stop:0 rgba(29, 185, 84, 0.95), stop:1 rgba(24, 156, 71, 0.9)); - border: none; - border-radius: 16px; + border: 2px solid rgba(29, 185, 84, 0.3); + border-radius: 18px; color: #000000; - font-size: 11px; + font-size: 12px; font-weight: bold; - padding: 6px 10px; + padding: 8px 12px; } QPushButton:hover { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 rgba(30, 215, 96, 1.0), stop:1 rgba(25, 180, 80, 1.0)); + border: 2px solid rgba(29, 185, 84, 0.6); + transform: scale(1.02); + } + QPushButton:pressed { + transform: scale(0.98); } """) # Matched Download button - self.matched_download_btn = QPushButton("📱 Matched Album DL") - self.matched_download_btn.setFixedSize(150, 32) + self.matched_download_btn = QPushButton("🎯 Matched Album") + self.matched_download_btn.setFixedSize(160, 36) # Match the other button self.matched_download_btn.clicked.connect(self.request_matched_album_download) self.matched_download_btn.setToolTip("Download Album with Spotify Matching") self.matched_download_btn.setStyleSheet(""" QPushButton { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, - stop:0 rgba(147, 51, 234, 0.9), + stop:0 rgba(147, 51, 234, 0.95), stop:1 rgba(124, 43, 200, 0.9)); - border: none; - border-radius: 16px; - color: #000000; - font-size: 11px; + border: 2px solid rgba(147, 51, 234, 0.3); + border-radius: 18px; + color: #ffffff; + font-size: 12px; font-weight: bold; - padding: 6px 10px; + padding: 8px 12px; } QPushButton:hover { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 rgba(167, 71, 254, 1.0), stop:1 rgba(144, 63, 220, 1.0)); + border: 2px solid rgba(147, 51, 234, 0.6); + transform: scale(1.02); + } + QPushButton:pressed { + transform: scale(0.98); } """) @@ -2628,7 +2646,7 @@ class AlbumResultItem(QFrame): download_buttons_layout.addWidget(self.matched_download_btn) # Set minimum width to ensure buttons always visible - self.setMinimumWidth(380) # Increased to accommodate both buttons + self.setMinimumWidth(420) # Increased to accommodate larger buttons # Assembly header header_layout.addLayout(icon_container) @@ -2753,17 +2771,19 @@ class SearchResultItem(QFrame): self.setStyleSheet(""" SearchResultItem { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, - stop:0 rgba(42, 42, 42, 0.9), - stop:1 rgba(32, 32, 32, 0.95)); - border-radius: 16px; - border: 1px solid rgba(64, 64, 64, 0.4); - margin: 6px 3px; + stop:0 rgba(48, 48, 52, 0.95), + stop:1 rgba(38, 38, 42, 0.98)); + border-radius: 18px; + border: 1px solid rgba(70, 70, 76, 0.5); + margin: 8px 4px; + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3); } SearchResultItem:hover { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, - stop:0 rgba(50, 50, 50, 0.95), - stop:1 rgba(40, 40, 40, 0.98)); - border: 1px solid rgba(29, 185, 84, 0.7); + stop:0 rgba(55, 55, 60, 0.98), + stop:1 rgba(45, 45, 50, 1.0)); + border: 1px solid rgba(29, 185, 84, 0.8); + box-shadow: 0 6px 20px rgba(29, 185, 84, 0.15); } """) @@ -2775,23 +2795,25 @@ class SearchResultItem(QFrame): left_section = QHBoxLayout() left_section.setSpacing(12) # Increased from 8px for better separation - # Enhanced music icon with better sizing + # Enhanced music icon with modern styling music_icon = QLabel("🎵") - music_icon.setFixedSize(40, 40) # Increased from 32x32 for better presence + music_icon.setFixedSize(44, 44) # Slightly larger for better presence music_icon.setAlignment(Qt.AlignmentFlag.AlignCenter) music_icon.setStyleSheet(""" QLabel { background: qlineargradient(x1:0, y1:0, x2:1, y2:1, - stop:0 rgba(29, 185, 84, 0.4), - stop:1 rgba(29, 185, 84, 0.2)); - border-radius: 20px; - border: 1px solid rgba(29, 185, 84, 0.5); - font-size: 16px; + stop:0 rgba(29, 185, 84, 0.3), + stop:1 rgba(24, 156, 71, 0.2)); + border-radius: 22px; + border: 2px solid rgba(29, 185, 84, 0.4); + font-size: 18px; + color: rgba(29, 185, 84, 1.0); } QLabel:hover { background: qlineargradient(x1:0, y1:0, x2:1, y2:1, - stop:0 rgba(29, 185, 84, 0.6), - stop:1 rgba(29, 185, 84, 0.4)); + stop:0 rgba(29, 185, 84, 0.5), + stop:1 rgba(24, 156, 71, 0.3)); + border: 2px solid rgba(29, 185, 84, 0.7); } """) @@ -2813,83 +2835,92 @@ class SearchResultItem(QFrame): # Play button for streaming preview self.play_btn = QPushButton("▶️") - self.play_btn.setFixedSize(42, 42) # Increased from 36x36 for better clickability + self.play_btn.setFixedSize(46, 46) # Larger for better accessibility self.play_btn.clicked.connect(self.request_stream) self.play_btn.setStyleSheet(""" QPushButton { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, - stop:0 rgba(255, 193, 7, 0.9), + stop:0 rgba(255, 193, 7, 0.95), stop:1 rgba(255, 152, 0, 0.9)); - border: none; - border-radius: 21px; + border: 2px solid rgba(255, 193, 7, 0.3); + border-radius: 23px; color: #000000; - font-size: 16px; + font-size: 18px; font-weight: bold; } QPushButton:hover { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 rgba(255, 213, 79, 1.0), stop:1 rgba(255, 171, 64, 1.0)); + border: 2px solid rgba(255, 193, 7, 0.6); + transform: scale(1.05); } QPushButton:pressed { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 rgba(255, 152, 0, 1.0), stop:1 rgba(245, 124, 0, 1.0)); + transform: scale(0.95); } """) # Download button self.download_btn = QPushButton("⬇️") - self.download_btn.setFixedSize(42, 42) # Increased from 36x36 for better clickability + self.download_btn.setFixedSize(46, 46) # Match play button size self.download_btn.clicked.connect(self.request_download) self.download_btn.setStyleSheet(""" QPushButton { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, - stop:0 rgba(29, 185, 84, 0.9), + stop:0 rgba(29, 185, 84, 0.95), stop:1 rgba(24, 156, 71, 0.9)); - border: none; - border-radius: 21px; + border: 2px solid rgba(29, 185, 84, 0.3); + border-radius: 23px; color: #000000; - font-size: 16px; + font-size: 18px; font-weight: bold; } QPushButton:hover { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 rgba(30, 215, 96, 1.0), stop:1 rgba(25, 180, 80, 1.0)); + border: 2px solid rgba(29, 185, 84, 0.6); + transform: scale(1.05); } QPushButton:pressed { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 rgba(24, 156, 71, 1.0), stop:1 rgba(20, 130, 60, 1.0)); + transform: scale(0.95); } """) # Matched Download button - self.matched_download_btn = QPushButton("📱") - self.matched_download_btn.setFixedSize(42, 42) + self.matched_download_btn = QPushButton("🎯") + self.matched_download_btn.setFixedSize(46, 46) # Match other buttons self.matched_download_btn.clicked.connect(self.request_matched_download) self.matched_download_btn.setToolTip("Download with Spotify Matching") self.matched_download_btn.setStyleSheet(""" QPushButton { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, - stop:0 rgba(147, 51, 234, 0.9), + stop:0 rgba(147, 51, 234, 0.95), stop:1 rgba(124, 43, 200, 0.9)); - border: none; - border-radius: 21px; - color: #000000; - font-size: 16px; + border: 2px solid rgba(147, 51, 234, 0.3); + border-radius: 23px; + color: #ffffff; + font-size: 18px; font-weight: bold; } QPushButton:hover { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 rgba(167, 71, 254, 1.0), stop:1 rgba(144, 63, 220, 1.0)); + border: 2px solid rgba(147, 51, 234, 0.6); + transform: scale(1.05); } QPushButton:pressed { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 rgba(124, 43, 200, 1.0), stop:1 rgba(104, 33, 180, 1.0)); + transform: scale(0.95); } """)