From adb8af06f959e8417f284df4016ec128db26bed9 Mon Sep 17 00:00:00 2001 From: Cacodemon345 Date: Thu, 25 Dec 2025 15:17:46 +0600 Subject: [PATCH] Add CD audio play/pause indicators to icons --- src/qt/icons/pause.ico | Bin 43006 -> 43350 bytes src/qt/icons/run.ico | Bin 43006 -> 43350 bytes src/qt/qt_iconindicators.cpp | 15 +++++++++++--- src/qt/qt_iconindicators.hpp | 6 +++++- src/qt/qt_machinestatus.cpp | 37 +++++++++++++++++++++++++++++++++-- 5 files changed, 52 insertions(+), 6 deletions(-) diff --git a/src/qt/icons/pause.ico b/src/qt/icons/pause.ico index a71a38e91f8a963f8927dc6b18c1aa0a31f590f9..a6456910d90ba5b53cb4ff103a2162b628e93934 100644 GIT binary patch delta 592 zcmex&p6S{prg{bjMg|TB4h|5lz~I5iz|h9Pz#t$1;b*WgFq{L5iHJb>JJ=W)%z#)z z0>ba$WMFv5!@!`R0O79y>MIjtV9?Nj>X%|*kW*)1Fff41s{+k;WMFV`fbcbBofsJO z(t#R)mIB?t0Mrk52#{h>V4OHnynfaH{|r?-|APd;fX@7S20B}aX5ZwuO9dwv@bYXd z(_oqWZmGcJf((Pr_gFI6pd9Oo3s^T#)ex8*m+lKxZM^xIs)i(x jVU2+sbR;+HIcTV0NWc_-aFyG9Emgw-rvjM5f(#7+`T3;_ literal 43006 zcmeI5v2G+q5QZCpun++k9MXw^bAsdu-5Z?66YvO^An^nQM3zX15E0LScml|{geO3R z$d5qi;H05@cfY;a^7L#?U3FP-HPYzco~in(x@voNyt}qbd8b^IM~_O?%kuSmrF>IL zdHi@k{`LJ*{;tQKJlT)G|DcqgJ}l+(azFmL`hEIwDOXnq|4&N!TfAvKve|=T$YmDkzkL-_EDc3d5$~M(=a>raAZ{ySL+ux=#-}kJ&&HQ+KJU<7e z9{=IbX)3?eUD~XjOaEhyvwr{m=TGb5u8;FIa(MnPo|`@YPuAal4IQ5wy>l+B2Wq@c7iW&2zrb>vn2cPVDyeY0T5D9`CNBQ_CIi ztZnk{*O)qLYNN49-u>6iEj8I!-DYi)#I}c5qRxpVkg8s`b;_!9}%xT06L?)=z5(7uEV5?6_Cjy%w+itSb0t z{VM<7eO5bmZad@m`}FQKa&Pxxmvz6cJMSOdv^Or-H}0W&y6*k@Y|o$LuPx_~dNteE zyZP!iE2sLM+{?B5xh?l}WM}1A{fLWNIaWX7qE?R8kGQCnWA!60YUNn{h>Kb|RzKpR zR*uz=xTuw5^&>87&BQ9#?SpA5LS~*rf;-XfL)sMKS zm1FfIE^6gi{fLWNIaWX7qE?R8kGQCnWA!60YUNn{h>Kb|RzKpRR*uz=xTuw5^&>87 z> zJmlWqr)c|^b?1GG>-t?R#m0LHYpTF3nyfK7x9E60*sDFqw>+PY(8B{5J=L(QZ+mX; z-rwMT4zzJK44D^W54Hz`e587?Js2`C#vW`B2Kh+!V0$oRUW`519t`r4>cRG4$h;VP zuss;$Bh`cL!H{_|_F#K3$VaLN+k+wVV(h{8V33bg54HzG=Ec~9?ZF@)sUB<(hRlnx z2it=|K2kl{9t@cmV-L0mgM6fVuss+uFUB5h4+i;2^k?O(rV92}} zd$2ti1 z&221eZ|<*oyd_5Ebw8`(Gb^;k-omDEBV&wYXZ}>6uUY?oZ8$TsMkCpoKNaX}*1umH z&Wx7AYc!Ib`BQF%=da4sX-a*VI<)U;UDy4l?tD+H)c?J*VdMKh7TpkLlc^;a zd^QEzyv|q`Th{ZojBIPOmK`n7A+;@>skJ7Q9;v9xuF%qcQf&RYmN5G6nRaGjFt1(RUon_k+F2M&)5IR zouK&oMM8?Yg>naf0lgL=Q+2{I? z>`7#-?7yx8kv)lwrJH@O|Hz(1#>)QdDiGO|$XL4B=lYNANo1_-zpet2J&BB^n|-eT z$eu*T%Kqyr5ZRN+Si0Hg`j6~MWUTDJt^$!giHxP2eXjq=ouK&oMM8?Yg>naf0lgL=Q+2{I?>`7#-?7yx8kv)lwrJMbO ytbhJafmZ8Ow*Ri-#`$Y=!OoOZ?f)D64!Cwk+w2D9^r~D;({1}>4XJNq9sUJQO5i2{ diff --git a/src/qt/icons/run.ico b/src/qt/icons/run.ico index dfb43b05bcbd8d268fc25ac9277fdd8ef7506348..b4bd9bf922c2418dd92b34ef1c42ac991859bc01 100644 GIT binary patch delta 302 zcmXYru}%U(5QhId53+|suHXPQUN%u=5)*QjEen;M_BL1;cmi6tGWL_$(^+b^@d+%| zSWwCvnCne|;g(D$Gv7@9nSb>aE`GuXAb^5W+p2LD0FMBY#Pc))K4sQydVa40my(^1 z=cgF>I{>uy{35zp3n1F*kASQP!w^r9;jqOPSuezM-=cteLyTJ(&`=+aeup0B1gh6ov1`maPaRy9g*yWL$vQDoRB=CQra4&>->zX$KnM325EYZ$r5e60IeQ z(4m!5q(h778P2&s4xm`N{^tIjduR6Y>)!9}UJ+?zF3TmklC!DExriJbnEz=e@*T0m zL-XJ7i+s2vvRaw{5q(GZMB3K-ABuc=EOK(UZ6O<;{1&x|pL8rHIB1M8m7&SuYf`bQ;s2RnsUV9AYV#6p#|l^J^ZV_xY%%3CtfysIf}x|w?R)IqOM)$6 z6PVBnEWzfmi5t(1F;}gYJ?w=BwWvvL&ZssMvzyu-J!v248i?vDx)8L)rX7{ zl1g0Cn4S1i_;CfJ6>v58lT(!tr&2+KRgf7Gl2Rn4{$|9Zu2^1ILR|wf>bIjR4I~`BxjPGNm5Fgosd!=Qc6e}i!(Xr z&c-Rl>Lh!;EIbhOgm^hsxEP;;b2IXK0LXY6*3nPSVzh5? d^VIsHsLM=)iknZRDu^eK7voPu<)@$W{0GHy7@zsetPixmap(write_active ? pixmaps->empty_write_active : (active ? pixmaps->empty_active : pixmaps->empty)); } else { - if (wp) + if (wp && !(play || pause)) label->setPixmap(active ? pixmaps->wp_active : pixmaps->wp); - else if (active && write_active) + else if (active && write_active && !wp) label->setPixmap(pixmaps->read_write_active); + else if ((play || pause) && !write_active) + label->setPixmap(play ? (active ? pixmaps->play_active : pixmaps->play) : (active ? pixmaps->pause_active : pixmaps->pause)); else label->setPixmap(write_active ? pixmaps->write_active : (active ? pixmaps->active : pixmaps->normal)); } @@ -252,6 +278,10 @@ void PixmapSetEmptyActive::load(const QIcon &icon) { normal = getIconWithIndicator(icon, pixmap_size, QIcon::Normal, None); + play = getIconWithIndicator(icon, pixmap_size, QIcon::Normal, Play); + pause = getIconWithIndicator(icon, pixmap_size, QIcon::Normal, Pause); + play_active = getIconWithIndicator(icon, pixmap_size, QIcon::Normal, PlayActive); + pause_active = getIconWithIndicator(icon, pixmap_size, QIcon::Normal, PauseActive); wp = getIconWithIndicator(icon, pixmap_size, QIcon::Normal, WriteProtected); wp_active = getIconWithIndicator(icon, pixmap_size, QIcon::Normal, WriteProtectedActive); active = getIconWithIndicator(icon, pixmap_size, QIcon::Normal, Active); @@ -504,8 +534,11 @@ MachineStatus::refreshIcons() d->fdd[i].setWriteActive(machine_status.fdd[i].write_active); } for (size_t i = 0; i < CDROM_NUM; ++i) { + auto status = cdrom_get_current_status(&cdrom[i]); d->cdrom[i].setActive(machine_status.cdrom[i].active); d->cdrom[i].setWriteActive(machine_status.cdrom[i].write_active); + d->cdrom[i].setPlay(status == 0x11); + d->cdrom[i].setPause((!cdrom[i].is_chinon) ? (status == 0x12) : (status == 0x15)); if (machine_status.cdrom[i].active) { ui_sb_update_icon(SB_CDROM | i, 0); }