From e3e365cbfcb68b433ae2de9830b68b5df66d7495 Mon Sep 17 00:00:00 2001 From: Carlo Baratto Date: Sun, 11 Oct 2026 08:05:39 +0200 Subject: [PATCH] 0.6.3: nuova icona (casa con l'onda calda); conteggi del README inglese allineati a 85/85 --- README.it.md | 7 +++-- README.md | 9 ++++-- docs/icona/confronto.png | Bin 0 -> 18413 bytes icons/108x108/harbour-aira.png | Bin 4991 -> 5794 bytes icons/128x128/harbour-aira.png | Bin 6015 -> 6894 bytes icons/172x172/harbour-aira.png | Bin 1960 -> 9042 bytes icons/86x86/harbour-aira.png | Bin 4063 -> 4496 bytes rpm/harbour-aira.spec | 6 +++- scripts/make_icons.py | 51 ++++++++++++++++++--------------- src/main.cpp | 4 +-- 10 files changed, 46 insertions(+), 31 deletions(-) create mode 100644 docs/icona/confronto.png diff --git a/README.it.md b/README.it.md index ee4742c..484da2f 100644 --- a/README.it.md +++ b/README.it.md @@ -1,5 +1,7 @@ # harbour-aira — versione italiana +icona + *English version: [README.md](README.md)* --- @@ -157,8 +159,8 @@ python3 tests/ui_contract_check.py http://192.168.3.21:8790 ## Stato - **85/85** verifiche del nucleo, compilazione senza warning (comprese le frasi - di stato, breve ed estesa: quello che la Home dice dell'impianto è verificato - senza telefono) + di stato, breve ed estesa, e la severita' degli allarmi: quello che la Home + dice dell'impianto è verificato senza telefono) - **48/48** verifiche offline del bridge (`bridge/test_bridge_commands.py`), comprese le conversioni Wh→kWh e degli importi delle statistiche - **191/191** stringhe tradotte nel catalogo italiano: il test carica il `.qm` @@ -225,6 +227,7 @@ docs/PIANO.md piano di progetto e scelte docs/PROTOCOL.md API del bridge docs/UX-STUDIO.md studio UX e cosa è cambiato nella 0.6.0 docs/ux/ schemi dello studio UX +docs/icona/ proposte di icona e confronto prima/dopo translations/ harbour-aira-it.ts (l'inglese è la lingua sorgente) docs/anteprima/ anteprime di layout in inglese (in italiano: it/) ``` diff --git a/README.md b/README.md index ef4ea33..611a5f2 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # harbour-aira +icon + Native Sailfish OS app to monitor and control an **Aira Home** heat pump: plant status, domestic hot water, and the house target temperature per zone. @@ -142,9 +144,9 @@ python3 tests/ui_contract_check.py http://192.168.3.21:8790 Verified so far: -- **79/79** core checks (`tests/core_test.cpp`), compiled with no warnings — - including the one-line and extended status sentences, so what the home says - about the plant is verified without a phone +- **85/85** core checks (`tests/core_test.cpp`), compiled with no warnings — + including the one-line and extended status sentences and the alarm severity, + so what the home says about the plant is verified without a phone - **48/48** bridge checks, offline (`bridge/test_bridge_commands.py`) — including that a zone command always carries every zone, that absurd values are refused (40 °C, zone 3, text), and the Wh→kWh / money conversions of the @@ -235,6 +237,7 @@ docs/PIANO.md project plan and decisions (Italian) docs/PROTOCOL.md bridge API docs/UX-STUDIO.md UX review and what changed in 0.6.0 (Italian) docs/ux/ UX study wireframes +docs/icona/ icon proposals and the before/after comparison docs/anteprima/ layout previews (English; docs/anteprima/it/ Italian) ``` diff --git a/docs/icona/confronto.png b/docs/icona/confronto.png new file mode 100644 index 0000000000000000000000000000000000000000..f9eb77a0034a2945f410df93170dec4e9bfb568f GIT binary patch literal 18413 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ϒgdNsLGxZ8N z?huWy+yo7h`n_rz`tm)k)?c)}R5@VLPI$hCD+;|oj)m{!xZlQ?rW!8Q8bkSql6iNx z_H^y`B1J?*+IGC5%FpUt-)UhkN|mMw>}^BApmn~tT9p_G&}=@Cy{A%Dbmh2A{DG+B z&q0-+JnvnSHku%>$4F8^>{nF(!JR*MIn5sj1;L2}S)Mz$7Dq=%S^RDmm$CD{tS$B< z(}Scple%_%#@mlH8{STX`VS2@E4Gu^_eTqMZ>^2;&noG~S)aWB=6}4?;Uk|vS$ax_ zpywACxAshOKN3~^rqA)%=rGInQK(+;$YNcH_Un3@jm4WY1VUB3dC0f9o>6LXDA*!s z9t*zhCW^t4EjO-+poSJ0e!PG6dU(IxiLFdU71|D~?tGq!sD2rcVA@V6Hd?6Ef0;k! zDJw76WH!9tKV2A9Ow;<9i4}US`TqVQm{Z+@=G*aD9{cfNm^0bDyJE+UgA0*`mgDmr zK6&s0F=s@R-NjtVN!HXqv*#uCGMS&qVPs>1iObn& zl{qqjU7QDQ_b?eq|{I(;vSZUH%H{By~Tf12gL^Jd}iJj>QEO`GYw<>dcGIMc} zl>Fi!sE|dg_@_nl!r<30ZE;|(%L#Xv?dsw`@j8>bW|iqGeg2YJZ9giz^!*T&6DWvI zH(lE<+7Ao>^Dp7%qbV$aCfl{=wFDZpG0)q2ML~lm=Oaa-H+*Cu;VYGY)7df~aZJua zMXBQOWch+K^I?M-Vr2p6@X)mJe1(DjN?f!pu;8jdRY2-!|+k z;OifH=}DYUXZLpp6eamSPNcD;1Gwy^1~^i$Qb5y<@-J;y4_En%$&+opVAW3BqUD>O z7g<>$m3j%6%e7fS6D8F2*EgE#3|pg82@Q_5J%N~d{p=Bo;0plzIR;H*^h!o*N?2Y> z`LxgSb@+`)IW1gNJ$}@7)wv;2BmkOLe;cb}v?>Q16ym zfX&SShO1&4Ng8?PFbb0EoYy@4RCAa}L79JSHoKxJB_$;>hCSN{w)r$S?9j$(u>I& z8c(K_pr)5+H*8Vl^cMW&75#B^lmfw2yg*ZXE1k3WsJ#C+vFip3*2)s!PbJ@HG8fdCgf~;k-PB3e zeh()9@nhb@)UiKb;~QHdC%p&aFx#<|GkIqbOgBf{oS79$aXqdN5Rj9TlS4fD?%Q{6 zYi;=`sE{K;PnV4r>Bs_>jEkBYiv+tCn=R0k1))l+=3UUJF6;$N#;7T61(${cBq!`x z)XGr~2Zc{UCDnjYldFh$@#Vw1iLN2vTk+JTkhnP7Cr4k@=5Trtcjt?nAwc+ z8&pyBM-wt@*s7RA{3{tfKf*^5X>lB~w4j2-UJr934}yfqUu~>w0<}NzprO^6zT6fD zLP_W0KC`ylOno1=AUUO^5%s?Z*`ZV)5^>(q23Pc97bKqGaVbBl?Yrjk#n;!qXvv)3 z`HmS@-V=yxI@c{Dgl_Z9Jt@x?Ya)GGPk|Ge9v-?0K5=ABe@luAkAS>4NzhP%SY5UB z;!0q=<~BjNM4pZASH@>giRR|!INgB;Bm7LsMh80d53)fpxBg<4!UXmo3afjh;RML+GOpS>V z)YUIuUa@P2gb=F~Uv_>J=8InjGl-GYOfx}g56H;ojjCaG5D^bwGfCU$?-~pw9?LNdodz^Yu zu`m-fS%q1uqswns6-Q!m0cJsFJY_sdU8U}4n+7n1ih%KZDZcn`w|g#ud5)8-{Fnz) zdXzM5Sx7ga4H6vaG@>NHMF5;nu7kctugv$B#**F1A~rVNxM;mEsx2=Udj4d!gFUk-zh5|e!2gq7jUTJF4A|Es7PdY6zg=zq f``mbMw(Je^xcm9Fc3|jZVG$N`IGFuo!sUMfr~K}6 literal 0 HcmV?d00001 diff --git a/icons/108x108/harbour-aira.png b/icons/108x108/harbour-aira.png index 5605de35fdba2d7b05eb262ef32742cd02a541d6..b281f0480c0a381b50f8802919a138ff45239c65 100644 GIT binary patch literal 5794 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 literal 4991 zcmV-_6M*cAP) zd6ZmLoyR}Fd*7?7uC88^bZ3DqkOU$jge9!fh%p0M@I)~r!VDN>NnBtUk2<(P0_xF` zaXiQzhBSjCI!8T;j=~v4W(EubM`egI3aAidF@Tyh>81Af?!EKJtLk);?(~xGR8`yG zbACy6)qAh*{r&Fm{3B!j11TcNxyBe^-T3}`AGd+T5k0+FQ@F1{_h;R4w`CJ2z zh;L&C)#vrGz<&UbmA-g_2B*hLJUey(o{k!Hp9e1i?mVC&L5a*5b+ner^x;q6_wOw6 zk`ix6X+~PRRU-gB3QOcBXh>A%mnr?-ji_xU-bTDWEG%3YE4^9| zY-fLss`SXMb?VE*?Ij-f<$1r50Y6!?!DmN%5MOxdwPw$6+HnRV^;UK_GR2Yo~=Z#(4|AHYBB7n7?E2KB1 zAK!d;Sq2APdeF^fVV$@6YKhhVs|#`li~^a^sxgIgpso0I+7&a`q#xUSPk%z&UkGcr zYPPL2sq;2(lz8ecX9@wB52qCTvz^5Q-O9&W2B>{p8zub%x`)wE>7L3rvC7`lX-!u8P&KafOUQslW8pQe|PS zk$Anf#mx6IKfdXbvWygLQXn?D?ABAokFRj15TcYqV1g=0N-1Xwq4@C?$z`{m3SwcC z5|(W7Spun@Z{98OP3N+AoJebPl8>xC zi@*KnhX5E){Tvq%C1i^MGiNk&{LINX;NrI939Lhuj0@ibVEhy)MZm%PmoLUShcS-0 z@A2+)kLL$J`7O;&NkUWmq2{=-VM+_Re83qCkLEpX3wpJwu|CFi?^?p-#ss0Y(X?0v z?L90THXbxgiQuf|`gfmBBBlw9#rG7>IhLL>ht}3ccJA6secZ44sj=p5m=d8U7cy^7 z3s)>V5$hbjj=JSs6hN;&Yd%2`BD(emXYFg45-g4rX14&*%+VKu@Zr@<_~s+eks-bA@t2Y5aNtBR#__4OXOZwV)(&lI6M@MM2_`kvk83)jZde;IkZ+33jrTmc{0{H+z8ek zDiN%6oV8#E7q>0ofu~-gAsNFA(Q&CXYR2j+t;pm97R{YXDiIxJF_N(+0>(K~37>h> zn)eG)x5N9G_ZqI-XXe;vjfRu-0OQD3$N;U{v)Q7UF0~#<*$C8TeY2 zwn>c+ltc;P%gi|Do$9% zFSj^Mx?auO{?dMqiUTFPb<25@?6$-JaeZu z;@rps<-s6Cns&}{(<$Ubv?`zBS$$NM%iKJz`19T@*T3@=zI53+{Vrb{O(-Q8>-fqQ z=VGkmjt755>!j-3JW+L1qNjzfOu%(37xUHkwe7d`dMu$;lobBz`ZgTU{>X1=s`rOg zZ#xpGDyPHKirqbV+7?Xbj`eK>q2WkYs{|nk4R@?>qiw--cK76?n6CM?o)SW1 zS$F0oPGrywHT%^ z0;R#4=>J0?TI8dc(~@FurWhrNN7l_zL&XK=X+=k8hEKfn6pm?W7+K6!?!ya@z_t%W z!q8ryx|zU#e-859aK?IA_4!CxWkL4?C6O&Vrlo<6OBeEqtv_d4bA7)%WR4_c@^#;+ z*q{*+3Sr1GQyTc$XWm6JKFm1Y*@)@+F4(#e{`d?i4|J@5TP6ZQ4&n`P(dXg#3-(Q; z1APUMErgu?x%+szqldWXRdf?YRaBfa#gO{p3ahsV8n$hOSDyqgQJU_;k}wY-Yrw06 zLM9UMt{qVutQqj}0@TMnGR3gsd@5C(EBEEm@@dCKC(kbZw97CA1W#{;hrb9?(#rlWbq)cpJoh*X#!>0Ka7E*=visbbEe`We7im|% z8^R(a8o~6>@BzL#(nc=$|0UJ>^6=OD(lvl=jM?j*LC>cU(7(5ANutohqQTPjmp-;`p(ZIfp^GX z9~>H#7tvri(4JHXwXI?KZVrokqN2DgEDZ7b%4=BVbBT;VX62yxq>D@5-3T~Xo(^Z9 z0jx|-q;X>(1Lnj{t%`;1J z-ND~qu0((4{->#ndqf53%JHo78Ya-0FAi^kji^W?Ce4C{tDuvxj8*e(>v{`!#sm z^)R<>U)JORl-u&_*E{LV22mli(wPpCaxi%035102v8yx39ov6PJ~YGF=pd!sU<{Vs z2-yxOrX!E9KW!6Lir*wE!7Nw~3onXn-~eS7V;%X>aL4xFva2&k!uNp6@k^u%ro_Nl zrZv^^tsO7(Mpv%aW()~RM_P5pm2kGv=dju z39I0~k41uc>G3FMC^`y^XDx|RSZ&wCvFAqj9-3KF-&le2Le(a`;+CzCE_D)1kZ} z*&k!00rFZ`j;}xY5>55dUNKRX=TDg`?j`mTksV9;nwR%xS=GLsJ?UuQ@sXI00%Ori z*pn`>s(m{z@6ASQ5z7};nm;9~c;I{>g$|nPV*GATnx%I=!mh3?zE;t$|1q%o&P68* z_*${6E6dWm9^rR;(lph@2ptvY$AP2(6a7*7(Lr<$1AU<+TKCbN52*7s-+SM=ylrl4@8^NF;G(k-2a=t05ZWk9;rGex|K#_( zS@Vr2$OVSR(l*&@SU-Od1dA6_1jPqEkgrLsZlw#0mMZ+=QcHBqP(#8e7Z@)8_RpD8 zA7ky}SzK}29A-5q2YrUfzN3!*(3$0%zj%dhzxo3mnIb{y*}W$RRNG7gfU^>-Q!WU; z<~flj!SZ?yx5T@8PmkIBH??OL!_vx2i7`~CYgWx593{3!H*@LJjdm;2BCU3 zL-hk8az2y@h0xHI4=~O#yE#dnr}tYIT7I1i4X<`)(IPY@eBz$&J#TR=P9_*tIE*Bc z+7+@tZEEtDdOL4eRhW9q{cj-RdcDOehAUBdXUWut1cHz*8oCSpuT4}U9Mzb_;V{+_ zmhF`E{!`r$apL5Soj0s1L`k)n`na>^J-x%X8Vzqha8R;6ZqW0mg5j(Tt`>*@PMkF& zG4*i(Varqg65y3Ruivec&FgKtGeE?zY)dBqfOCOLHTx#pdGDN-qpsZn2%DVZ7O^e2 z{@_%VsDBI-#IZ)#fE6C+a1Nyn+Ar9A=Da;Ozx$VLa;1Wka|#hV^|SYVS2avpW7Ay* zHNJlCzUE+^QK=?vd-i_s&o{m6lCq4-0u#19>(77VRp~0|?aGgx>GBy1GK3|u6BvEC zP!jdZ2E`|v;^yr;XUul2JuyJUMV4B`@$7E9^M+Lg7Zh(7tyQ$vuL@H%;~4_rKq*9P z<$~hvJ8xK3;Mv_4k=_-N`>@q%)`^+&+50zojm>wtLN+Mbv#QI0j88a=(njJ*KkV-O zK*vq1x0Gd4zG8nttP{hQr~HnaR&O!6^fgkK^br-Eid^w*^*AS-LzI)cq;GQRYdUUP zy@f4L`F({&`O<^1unFMSBd2NMXB>`E{(G$6s5dsPs3F$1e~>@DDA1b6wca5Z9e;NyFb4C z-ZIY*aqA%1x>d7oongZUf7+r;za^;U5=%7LbfJAZYMx!|xJB%Y+aFqDV+~hJQ1~D^GHEWKDP>(nQ6>AP zs|dEdp-mF?5yMP~^W*=biaqzdal`T*Y;uYdx5;3_g5gG4r8E}6wDzAJOS=2ZXx*y( zL>o%siUnLyn8<3C;T+<}kysq8#RmDuF=jWZ#*hAK!`UwZ`|)%r7(QqF84c6E{Ls~C zvCgtqC6X&^p{_RODAloSKKr03wqcz5(?^%z)BAa!S!+0t{eQTJ*DwwaJf#2t002ov JPDHLkV1h%Uw)_A9 diff --git a/icons/128x128/harbour-aira.png b/icons/128x128/harbour-aira.png index 53cf86b82fea831a2b0f604561cee45a2860a51c..82dcd7774ed11b49f8c4cf2d9e7d5b4e610ddc6c 100644 GIT binary patch literal 6894 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 literal 6015 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 diff --git a/icons/172x172/harbour-aira.png b/icons/172x172/harbour-aira.png index 587b6abdbb7ee416ab1a0a522836a7ddddff861f..80974d38c09ec334a470ee61440c816164c07f2b 100644 GIT binary patch literal 9042 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 Ef`OXm%K!iX delta 1947 zcmV;M2W0rtMyL;vBYy{PNkle zAyA%xKrXz|3s6fzlmLPj#{}U;c#Tlm11}ISmcV2)yE}*O{&)ZT`>E=(O3X}8_iz7n zdS=$l$l4G-Kbpx>IWYm%$y<(moQRO7#c8Ho9-N@2%}KUg9DkIcqR48-Y#xlDViGG^ z+hOA%hOlBfD;a5GZDOUhb*BsPV$vFx z>Ix}itL(U40)N5^X{Dj9yAKP9DqF)+T@i|HS)8^@00d>U!ctuknk|`R4U4FBvNwsP zx*}AscMPbohzfVQ5S7hc0+s^^-G(tHqrxI8?871|R9Hl%V=~sSh{i^pce(&^?871| ztYHxqb_pDL`Rt6@`QA^`-B5=Li>T}{nK3lG?d7vG#($Vs{|ul%np*K`EjYmV+C_!6 z+y+liZyDgh)6?R8($rYPA}Z_>_`n!jLxr_y@Z_sn{~q;mr^^?{*@_+Ft7s){usXSl z4*y)fpRqS8tWS(}Yph`{7_6LbSVVsMD}47&v_@U)hI!NZg0?E^nccOyzvSSgHqBdlQ? z>Oc5W^ygE>KCC3hzBVds1O59aq`QzT-Z*H|Ea~4rA%88AHNN>p9OGXH6}D#U-&<%n z)aCm37R0Y9rp6i;QDK*$hW@|D-5i)XsEi650Dos61ckWMRZ;&R$Dv{#D&d{3%FV6e z2SWN9!*5jBkT4fh@w8S2y}R>X&cj?x$3AS8=1K4Fy!^EW-q~z zXWr~ScvZR^!J@(g0cXLjDECOr1(>0>Ed{nv%Bbc8eD(q+r zOmF$9{FnsPSi=_dZiH4{F{+dCn`rQuqc^Cq5$OK)xpWtT!JV#Gx_<^93g*ce!?Og1 z7PjFBN_vds8x__V)4l$gbQh{&uGoi-3x9K!{61{=`VkAm=tuYZ5%KYoZb|PFbpMDa zteax&vrXCVxf@CTf4aKY4oi2Tl|9FnrMn;^$qE~LSdGzf4NWAshSfCD-D`)%$J2LX zmmqp+&0kU#wtMxErC|$4_v#_>arN1fS;KaJKP24+XEa~iD4y0*B9(beqQb8K_J65# z7o1Ds8jVR{4V%hD8uRK}0~m9cja>qDbk8SGYq|2{JLCWC>~nYLRX(5Dp5wRF-kM$i z^%K7*oD|Y=9E5l8!forv3`K`a17++-cM@V)$q1iJ)HoPF;0wyBMr%vH7`2;^XSG@lIFt(we`dDy+$j$H(|1c|4O^rkv>L9ViEQTl<0Q7V%Dh)@rG3&}C^fsdD&2)(Bwt~RZT8}7%i*+d_TsAe zxP;WQe31%UX6@oW(esD+;R!*O4+n>gCY^j~4rcY~8Y0*}r;I-L@rP89Q#@T86EWzeaQ*BX2>mpb7v{uuO z5L!%PC1^IE)}q>?jMb&1i|-{MxG=`i?>H{s=_0ska{9}-k8ge{UI5|M$=i;R?>7!c h&qjdbB(|mbKNL??J(&Hi@-zSd002ovPDHLkV1nEX*`xpf diff --git a/icons/86x86/harbour-aira.png b/icons/86x86/harbour-aira.png index 9e8a81ffc66ebc2947f456ff739d53db49f73e18..f54470a9b237c1918727017818b8b0d434c7d25c 100644 GIT binary patch literal 4496 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 i7PEac_4oN>l>ZMLk64Nn{ZQcm0000 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 RRw@7h002ovPDHLkV1n$%(%b+5 diff --git a/rpm/harbour-aira.spec b/rpm/harbour-aira.spec index 75a9c50..bf13fd9 100644 --- a/rpm/harbour-aira.spec +++ b/rpm/harbour-aira.spec @@ -1,6 +1,6 @@ Name: harbour-aira Summary: Control your Aira heat pump through a local bridge -Version: 0.6.2 +Version: 0.6.3 Release: 1 Group: Qt/Qt License: MIT @@ -37,6 +37,10 @@ Address and token of the bridge live in the app settings (AppConfigLocation); no personal data is stored in the binary. %changelog +* Sun Oct 11 2026 Carlo - 0.6.3-1 +- nuova icona: casa con l'onda calda dentro, scelta fra le quattro proposte in + scripts/icon_proposals.py. Ridisegnata a 344 px e rigenerata alle quattro + misure (86/108/128/172); disegno originale, nessun logo di terzi * Sat Oct 10 2026 Carlo - 0.6.2-1 - pallino di stato: rosso solo per un allarme che ferma la macchina (o di severita' CRITICAL/ERROR); un avviso ora e' ambra. Prima qualunque voce diff --git a/scripts/make_icons.py b/scripts/make_icons.py index 32947d6..ee6ed53 100644 --- a/scripts/make_icons.py +++ b/scripts/make_icons.py @@ -1,20 +1,25 @@ #!/usr/bin/env python3 """Genera le icone di harbour-aira (86/108/128/172 px) in icons//. -Disegno originale (nessun logo di terzi): sfondo blu sfumato, goccia bianca e -un punto caldo arancione — acqua calda + pompa di calore. +Disegno scelto: **casa con l'onda calda dentro** — la proposta A di +scripts/icon_proposals.py, dove restano le altre direzioni provate. E' un +disegno originale: nessun logo di terzi, visto che il permesso per nome e logo +Aira non e' ancora arrivato. + Uso: python3 scripts/make_icons.py """ -from PIL import Image, ImageDraw - +import math import pathlib +from PIL import Image, ImageDraw + SIZES = [86, 108, 128, 172] -BASE = 172 # si disegna grande e si ridimensiona: bordi puliti a ogni taglia +BASE = 344 # si disegna grande e si ridimensiona: bordi puliti a ogni taglia TOP = (12, 62, 130) # blu profondo BOTTOM = (24, 148, 190) # azzurro WARM = (255, 138, 46) # arancione +WHITE = (255, 255, 255, 240) def rounded_mask(size, radius): @@ -32,29 +37,29 @@ def gradient(size): return img.resize((size, size)) +def onda(d, x0, x1, y, ampiezza, spessore, fill, creste=2): + """L'onda calda: due creste dentro il corpo della casa.""" + punti = [] + passi = 120 + for i in range(passi + 1): + t = i / passi + x = x0 + (x1 - x0) * t + punti.append((x, y + ampiezza * math.sin(2 * math.pi * creste * t))) + d.line(punti, fill=fill, width=int(spessore), joint="curve") + + def draw_icon(size): img = gradient(size).convert("RGBA") d = ImageDraw.Draw(img) - # goccia: cerchio + triangolo verso l'alto - cx = size * 0.5 - cy = size * 0.60 - r = size * 0.19 - d.ellipse([cx - r, cy - r, cx + r, cy + r], fill=(255, 255, 255, 235)) - d.polygon([(cx, cy - 2.35 * r), (cx - r * 0.98, cy + r * 0.10), (cx + r * 0.98, cy + r * 0.10)], - fill=(255, 255, 255, 235)) - # ricentra la goccia: il triangolo allunga verso l'alto - shift = -size * 0.05 - img = img.transform(img.size, Image.AFFINE, (1, 0, 0, 0, 1, shift)) - - d = ImageDraw.Draw(img) - # punto caldo in basso a destra, dentro la goccia - wr = size * 0.085 - wx, wy = cx + r * 0.10, cy + r * 0.30 - for i in range(int(wr), 0, -1): - a = int(255 * (1 - i / wr) + 90) - d.ellipse([wx - i, wy - i, wx + i, wy + i], fill=WARM + (a,)) + # tetto e corpo della casa + d.polygon([(size * 0.16, size * 0.50), (size * 0.50, size * 0.24), + (size * 0.84, size * 0.50)], fill=WHITE) + d.rectangle([size * 0.24, size * 0.50, size * 0.76, size * 0.78], fill=WHITE) + # onda calda dentro il corpo: sta sotto il tetto, altrimenti a 86 px si fonde + onda(d, size * 0.26, size * 0.74, size * 0.665, size * 0.040, size * 0.078, + WARM + (255,), creste=2) return img diff --git a/src/main.cpp b/src/main.cpp index b778ff6..c2f2d58 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -21,7 +21,7 @@ Q_DECL_EXPORT int main(int argc, char *argv[]) app->setOrganizationName(QStringLiteral("harbour")); app->setApplicationName(QStringLiteral("aira")); - app->setApplicationVersion(QStringLiteral("0.6.1")); + app->setApplicationVersion(QStringLiteral("0.6.3")); Settings settings; ApiClient api(&settings); @@ -36,7 +36,7 @@ Q_DECL_EXPORT int main(int argc, char *argv[]) // Prima riga del log: dice subito se il device sta girando la build nuova // o una stale (trappola nota del build engine). - qDebug() << "harbour-aira v0.6.1 build" << __DATE__ << __TIME__; + qDebug() << "harbour-aira v0.6.3 build" << __DATE__ << __TIME__; view->rootContext()->setContextProperty(QStringLiteral("appSettings"), &settings); view->rootContext()->setContextProperty(QStringLiteral("api"), &api);