From 1da95fdcdda7ace6d0a21a6afb7833672004411a Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Fri, 4 Oct 2019 11:45:31 +0200 Subject: [PATCH] More code moved to the theme --- radio/src/bitmaps/colorlcd/mask_dropdown.png | Bin 254 -> 2817 bytes radio/src/bitmaps/colorlcd/mask_folder.png | Bin 297 -> 3597 bytes radio/src/gui/colorlcd/CMakeLists.txt | 1 - radio/src/gui/colorlcd/libopenui.h | 5 +++ radio/src/gui/colorlcd/message_dialog.cpp | 39 ------------------ radio/src/gui/colorlcd/message_dialog.h | 40 ------------------- radio/src/gui/colorlcd/theme.cpp | 24 +++++++++++ radio/src/gui/colorlcd/theme.h | 2 + radio/src/thirdparty/libopenui | 2 +- 9 files changed, 32 insertions(+), 81 deletions(-) delete mode 100644 radio/src/gui/colorlcd/message_dialog.cpp delete mode 100644 radio/src/gui/colorlcd/message_dialog.h diff --git a/radio/src/bitmaps/colorlcd/mask_dropdown.png b/radio/src/bitmaps/colorlcd/mask_dropdown.png index 5e876fd9fe60acf4e5c2bbec49eebc21496f7180..6b4b038df1a31764021a0721fa03c38e87165e59 100644 GIT binary patch literal 2817 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 TN?Nk500000NkvXXu0mjf37AHL literal 254 zcmeAS@N?(olHy`uVBq!ia0vp^oIuRV!3HF!2OrA@Qfx`y?k+$Y2!1;6t_M<_1s;*b z3=G`DAk4@xYmNj^kiEpy*OmPdyS$*e?BVBqQ9vQt%#er@=ltB<)VvZPmw~~#C^fMp zHASI3vm`^o-P1Q9MK6^dD4yi$;uyklz4Vl!AhRKl%f+?0?Gb6Lto;veA#$4&T;pIhJSPMYT@O1TaS?83{1OVo1P$U2V diff --git a/radio/src/bitmaps/colorlcd/mask_folder.png b/radio/src/bitmaps/colorlcd/mask_folder.png index 0edea4cb23aa8d48f28242482a7a1f2448584a13..24a45582f6164891d9c198d96aaa49c3e1e911ee 100644 GIT binary patch delta 3433 zcmV-v4VLn$0*xGyBYz7_dQ@0+Qek%>aB^>EX>4U6ba`-PAZ2)IW&i+q+O3&sa^tYB zh5vIEcM0ME4$I+K^>*-%8jzv{%@l=e6#m{XA~2cK_fQ@*Ms7n&Uk_8Gm`m~?__MqqQ=5eV5lbhc9Yk#_f(z66#eARJ2FVAB*x15JP z;+b%xHMk52oPU?wwzpCL^!gKe^AY~-_RsEqoISa_J$c(ayb#@eiGT7^d^^4zxAK_i z$*tRWAD$fZeda!okM-ujn~?e4g=>wx);z1LA+qFnFY2+xea3Z7t+nrpywep8B+Q)X zyYSA0MaQM%>TtesUaZ4q%LY4awad7!JePL&37+cJ0`4ETeh}s1umzo1I1-=zaF>@ zkJxn^Rknd2@8_5L)#E|gX3i|IUd@~-n%H-8`R!=Wg~IW~l1<~D02A?O0SuuM>=msS z8$pzuOMlj4$c%$3&>aEQ@PHL@1CTCwA8`&b%(J;C*?p-KcZLx|AB-0teZn_{Ce8{$ z;7T3>BWeDRqv6CePfmVu6ZvQKv_`5vt%(_A zmIVfgF&PNawyf9H6`~%;HC!8hmTYpFU59{OJRF-M70X~h9knZzwQqHGpuYZ(sLXd@ ze>nOXo!@8=hF~gWnTF6scD>DS&7K?V)8On-0M#W;T^}0GUZKH=#66(6Y zg)7!2p=yz%uwNa`pMH3KToCj1Pv*mVH%d4>hW^*tAD#% z2U*ZoZ(^!*)?HqdCD#gRP5x>tSq1kPuTBPJ<15yrkT?&y)%?bV(EN)5dFMFi(VGJJu}=Gs(W` z8O(w5hQk~nR09tvAA#I39w0Om0e|BL!95>Pm@hDH5U}Y5jCY$no5cLoCeJ1@KefrT zNzAiN5Y7dkyZG8?gEL{pQS+FojH?m?P%QNtgc2x`8Iai z9v|t6(rB?)kL0#6(VwzP>aCkePR*JKYTMSia>Gx4E3|s4jhJV~5$;0jwx6uZd58_b zWL{V@E$L{*Ce?RMBV$S&B=R^G51+Fm_!AdO9hXKSOju(3VH2d9xV83mWnHJCv0#NP zTq!3=s8XbJHHLtOBc#otjeoYObi5v4CiMElTR-1vetzrcE6mSt{d}kS`K_PF&ChTB ze5d&r1An~2{ELD26$2(!%44OewRs2$lzabJI4Q1aH%fs(Xz4(fJao*Hfdy zm8=mq0>woxk@9k(DRm4HLrJAVfNW4M`yzhSqGm&QH0CM4>P`&=ayZ#zHk6(6^b{MI zc4>uYR4Q^@l%b+YzklyMCP^ivtbmJH(Wsgb(oP7Jrx%7v!=FsoR@_sXE+gf&D}gi1 z^_WKssE;#g)AnMnGgCLu^ZW#jf-%2=M!}fhK%-#HZ=g{y<~PtN81oxw6pZ-|H2uWd zzoXG7m_MOeyIP64AVtkOx~zIx8nPID=$avuOd^UjNtou1h=01t?mU0_vBS(Svb-Xg zv}0(KoESSXmv_X4dRBl`fN`Q9^lP;)e@dtF=vUB@c9CN>kIzEy=X#3t42S@2DUFSz zBcYSFW7e*#_lUoqtX*pb9%d_DSJ-APHl@(-?o7))>>(AaF5D1U8fVGR@tBK<6f{-P25iw?3CI&>dsYeJ}% zWH2F6zXsLnu$y4IEwnbG%bi9yjO)@OFKd}aZNyBgX@5aP?ixX2-N~j?v{7ZljFiLf z08+Qrc*?i5z2v*wjA`>4y6dVXA#D?umei4Q-A&HUjp%ewizJ|RCbTUg^rjn8fr?or zy!CW?fLt4{52>`o3KMCKFNr?ORoAXj3i;&nE7_=NYCM+a$LTNHq)zvJr(~bUPD(>d z%fSsWL4VUjN)n27p%rl%I{HZDh%aW&NS|+YAv@vz^k_Z}(1OxP`y9xmex$2%u+^#yd1t~3j z+-|x2@wTO-H*TaAWmcVM}Rl@Y5`X=lNgn+MabAg9)+8VUZE zgqNO^DT@Q)Mb!ZJ+C0_CxUw=*;~7=jnYP%z!x1O$fte}bDKjcfHTXBf93sVBBJ$@g z0rTy>gD*$G=nlx<|Il{*Y=Km*hE|Td1reuPNGN6RqMP-Ch4Qu@f>D|~9m&CejZmaE ziht2|EQDCE_q`CWw#*M+#5C@rZer;#Cff!xbesfRrI6A+!B``q>i|Bd{(~c;-^)uG zq>i(fRpvS&4vi2n89}Q*%41pGFIpm+Ri^9&Nh!G@TQ!tkYWS|z%r`Go(!yv@cA8^m zYQoX-=-%h4#b;@TDtOw{s$V5=B7HN(TYrfVa>R8@%pKNrs$%CA8gmyfy<`-I&R+GX z_q6|oK)0^53&k`7v}sA<+hCKr2nUgoWV8Kv5WZ`9yn5X`5hT<`q~#b82Z`khQTK*i zM<49Uh^FL6y7Me*okwV9k@B8dOlCRL?i{as1`Ms!&+Y~4e<7zrwRa7R=Iniem4D6- z2|S>Us9lT#^RxOS9t~;u%1I*jbB~;&`DDlM^#0~AHwz$IKE?h1oG8hNjoRC^Lf4?e zpqt9jo5mgSq8V~v#g?9qhb&AU$1TTB4U}jN{J!^3E95js6pC(NYMT^E=c+$v6Vd4g z&k(AU6a-%dCW$I@18FK29+P-cAAinF0#ZEt3{O&=@>_`YG1Lud=+5UN*nFjkkyh?J zP5w8;3<$*juK3?aLEWe1q~8j=(jN5Qq=;KyRs!Nplu z2UkH5`~Y!rby9SZ691PJTEuv8+>dwn9(V5mf1|=wGdK>Ynq{Pu2_c(X6+*8FBZwXh z!zVFQpA*FtJjd5Pe0;r&^M5SwbAOIrC2umoClJpv-LQx^h^IF#o%23%l$9if_?&pm zpbHW|a$R=$jdRgqKhKOBne;qylvpTsu-w6{WT?bb#4$zHDBquTS>e3JS*_Gq>z@3D zk-WCD%ypVWNMaF75FtQD4P{hdAx^7CiitGsCp`Rvj$b5~Os+B*Ie!*Vg$l{>ga5(r zZq35vgqsve09`M({V@WBc7bNyw!e>UyLkcxo`EZ^?XNa~nNQN|Z7p^L^lbwd*KJMS z11@)ffhS!uBu5I+^cM=i`x$*x4(PuH!fS4Ct$mz602%5kbpsq60;5IBUiWx+cV}<^ zo@w>>1NJO(b+Kd4?_U4_00v@9M??T-0A>JY2f9ja00009a7bBm000XU000XU0RWnu z7ytkO2XskIMF-;w1PLf68CP7Q0000PbVXQnLvL+uWo~o;Lvm$dbY)~9cWHEJAV*0} LP*;Ht7m & getRegisteredThemes() { static std::list themes; @@ -154,6 +162,22 @@ void ThemeBase::drawCheckBox(BitmapBuffer * dc, bool value, bool focus) const } } +void ThemeBase::drawChoice(BitmapBuffer * dc, ChoiceBase * choice, const char * str) const +{ + LcdFlags textColor; + if (choice->isEditMode()) + textColor = TEXT_INVERTED_COLOR; + else if (choice->hasFocus()) + textColor = TEXT_INVERTED_BGCOLOR; + else if (!str || str[0] == '\0') + textColor = CURVE_AXIS_COLOR; + else + textColor = TEXT_COLOR; + + dc->drawText(FIELD_PADDING_LEFT, FIELD_PADDING_TOP, str[0] == '\0' ? "---" : str, textColor); + dc->drawBitmapPattern(choice->getRect().w - 20, (choice->getRect().h - 11) / 2, choice->getType() == CHOICE_TYPE_FOLDER ? LBM_FOLDER : LBM_DROPDOWN, textColor); +} + void ThemeBase::drawSlider(BitmapBuffer * dc, int vmin, int vmax, int value, const rect_t & rect, bool edit, bool focus) const { int val = limit(vmin, value, vmax); diff --git a/radio/src/gui/colorlcd/theme.h b/radio/src/gui/colorlcd/theme.h index 2215b87ed..fd5815913 100644 --- a/radio/src/gui/colorlcd/theme.h +++ b/radio/src/gui/colorlcd/theme.h @@ -84,6 +84,8 @@ class ThemeBase: public Theme void drawCheckBox(BitmapBuffer * dc, bool value, bool focus) const override; + void drawChoice(BitmapBuffer * dc, ChoiceBase * choice, const char * str) const override; + void drawSlider(BitmapBuffer * dc, int vmin, int vmax, int value, const rect_t & rect, bool edit, bool focus) const override; void drawPageHeader(BitmapBuffer * dc, const PageHeader * page) const override; diff --git a/radio/src/thirdparty/libopenui b/radio/src/thirdparty/libopenui index aacc3e382..67cf7faea 160000 --- a/radio/src/thirdparty/libopenui +++ b/radio/src/thirdparty/libopenui @@ -1 +1 @@ -Subproject commit aacc3e382e914a8c38f039df4f2f1976d0ff44eb +Subproject commit 67cf7faeafd8dc9c57319e5deae624c82aefe83a