From b2becc14a9136518d422b0b94c1a87cf41e95c6b Mon Sep 17 00:00:00 2001 From: Crylia Date: Wed, 10 Apr 2024 15:11:12 +0200 Subject: [PATCH] redid the navbuttons to also work for playlists and added fmt lib --- ...ircularLinkedList.cpp.FD87E6BCC915CCD1.idx | Bin 0 -> 3098 bytes ...lCircularLinkedList.h.B8C8DDA6C2A08E88.idx | Bin 0 -> 1720 bytes .../DatabaseManager.cpp.A503032B25B9DAAF.idx | Bin 0 -> 908 bytes .../DatabaseManager.h.23E39B73DE500DF4.idx | Bin 0 -> 528 bytes .../FloatingControls.cpp.9D6FC09D4D6F0FCF.idx | Bin 0 -> 11226 bytes .../FloatingControls.h.D700FFEBDCCA4F1D.idx | Bin 0 -> 3186 bytes .../index/HomePage.cpp.9F3A1A2E76067ACC.idx | Bin 0 -> 812 bytes .../index/HomePage.h.CF8699CD8CEC90BC.idx | Bin 0 -> 932 bytes .../LocalFolderPage.cpp.54733FBF83D2A274.idx | Bin 0 -> 820 bytes .../LocalFolderPage.h.D9CD5A943852BAF0.idx | Bin 0 -> 630 bytes .../index/MainWidget.cpp.5DFC36EBDED209E4.idx | Bin 0 -> 2430 bytes .../index/MainWidget.h.9D6875C73901EEB4.idx | Bin 0 -> 1886 bytes .../index/MainWindow.cpp.6F03657BD43A954A.idx | Bin 0 -> 1062 bytes .../index/MainWindow.h.86D281384F92517D.idx | Bin 0 -> 1122 bytes .../MusicPlayer.cpp.35246BE0F9B744D8.idx | Bin 0 -> 3434 bytes .../index/MusicPlayer.h.55673DB92FB3CBAC.idx | Bin 0 -> 3552 bytes .../index/NavButton.cpp.232950D13D6E2515.idx | Bin 0 -> 2350 bytes .../index/NavButton.h.B2661538EA8CB03C.idx | Bin 0 -> 2480 bytes .../clangd/index/Page.h.7236B7411CB0711C.idx | Bin 0 -> 898 bytes .../index/PageButton.cpp.BCA2460698AE4C50.idx | Bin 0 -> 1070 bytes .../index/PageButton.h.511EB232CEA388B7.idx | Bin 0 -> 850 bytes .../PageManager.cpp.1B1901F3F7E349D2.idx | Bin 0 -> 616 bytes .../index/PageManager.h.540F872042D01058.idx | Bin 0 -> 1422 bytes .../PageNavModule.cpp.B8A5436AE1D26BC0.idx | Bin 0 -> 2240 bytes .../PageNavModule.h.A94ED7D15479146B.idx | Bin 0 -> 1568 bytes .../PlaylistButton.cpp.D5C68B99FD7FDD82.idx | Bin 0 -> 1072 bytes .../PlaylistButton.h.9600C49697E3BC79.idx | Bin 0 -> 858 bytes ...PlaylistNavModule.cpp.974D2EF27CEAA00B.idx | Bin 0 -> 866 bytes .../PlaylistNavModule.h.73386ED7039B9D14.idx | Bin 0 -> 860 bytes .../PlaylistPage.cpp.C16327D31185E2F1.idx | Bin 0 -> 814 bytes .../index/PlaylistPage.h.3202C9FD0097ABBA.idx | Bin 0 -> 936 bytes .../QOverlayout.cpp.B4E1724C37909521.idx | Bin 0 -> 1742 bytes .../index/QOverlayout.h.35ABCC70DC986F47.idx | Bin 0 -> 1282 bytes .../SettingsPage.cpp.0F7B559628C24FAD.idx | Bin 0 -> 814 bytes .../index/SettingsPage.h.4C6A7DAE17AA1AE9.idx | Bin 0 -> 938 bytes .../SongHistory.hpp.46F986F57DCF6132.idx | Bin 0 -> 1094 bytes .../index/SongQueue.cpp.E3B5F5C8C8F97897.idx | Bin 0 -> 2760 bytes .../index/SongQueue.h.E8386E8A98EC7134.idx | Bin 0 -> 1612 bytes .../SvgToPixmap.hpp.26FC7AEAAFB57F5A.idx | Bin 0 -> 1058 bytes .../index/audio.cpp.D0B3798878719D8D.idx | Bin 0 -> 3514 bytes .../clangd/index/audio.h.F9F96F778B99E274.idx | Bin 0 -> 2382 bytes .../index/main.cpp.6CC56DDB3575B3B3.idx | Bin 0 -> 914 bytes .../index/song.cpp.0710647CC76D17C2.idx | Bin 0 -> 718 bytes .../clangd/index/song.h.B99CA1C6DB8FDD85.idx | Bin 0 -> 1740 bytes CMakeLists.txt | 1 + .../Modules/PageNavModule/PageNavModule.cpp | 50 +++++++-------- .../Modules/PageNavModule/PageNavModule.h | 14 +++-- src/View/Pages/Home/HomePage.cpp | 2 +- .../Pages/LocalFolder/LocalFolderPage.cpp | 2 +- src/View/Pages/Playlist/PlaylistPage.cpp | 2 +- .../NavigationButton/NavigationButton.cpp | 11 ---- .../NavigationButton/NavigationButton.h | 31 ---------- .../PagesButton/PagesButton.cpp | 4 -- .../PagesButton/PagesButton.h | 11 ---- .../PlaylistButton/PlaylistButton.cpp | 4 -- .../PlaylistButton/PlaylistButton.h | 11 ---- .../NavButton.cpp} | 58 +++++------------- src/View/Widgets/NavigatorButton/NavButton.h | 48 +++++++++++++++ .../NavigatorButton/PageButton/PageButton.cpp | 31 ++++++++++ .../NavigatorButton/PageButton/PageButton.h | 15 +++++ .../PlaylistButton/PlaylistButton.cpp | 30 +++++++++ .../PlaylistButton/PlaylistButton.h | 16 +++++ .../Widgets/PageNavigator/PageNavigator.h | 33 ---------- src/main.cpp | 3 +- 64 files changed, 194 insertions(+), 183 deletions(-) create mode 100644 .cache/clangd/index/ConditionalCircularLinkedList.cpp.FD87E6BCC915CCD1.idx create mode 100644 .cache/clangd/index/ConditionalCircularLinkedList.h.B8C8DDA6C2A08E88.idx create mode 100644 .cache/clangd/index/DatabaseManager.cpp.A503032B25B9DAAF.idx create mode 100644 .cache/clangd/index/DatabaseManager.h.23E39B73DE500DF4.idx create mode 100644 .cache/clangd/index/FloatingControls.cpp.9D6FC09D4D6F0FCF.idx create mode 100644 .cache/clangd/index/FloatingControls.h.D700FFEBDCCA4F1D.idx create mode 100644 .cache/clangd/index/HomePage.cpp.9F3A1A2E76067ACC.idx create mode 100644 .cache/clangd/index/HomePage.h.CF8699CD8CEC90BC.idx create mode 100644 .cache/clangd/index/LocalFolderPage.cpp.54733FBF83D2A274.idx create mode 100644 .cache/clangd/index/LocalFolderPage.h.D9CD5A943852BAF0.idx create mode 100644 .cache/clangd/index/MainWidget.cpp.5DFC36EBDED209E4.idx create mode 100644 .cache/clangd/index/MainWidget.h.9D6875C73901EEB4.idx create mode 100644 .cache/clangd/index/MainWindow.cpp.6F03657BD43A954A.idx create mode 100644 .cache/clangd/index/MainWindow.h.86D281384F92517D.idx create mode 100644 .cache/clangd/index/MusicPlayer.cpp.35246BE0F9B744D8.idx create mode 100644 .cache/clangd/index/MusicPlayer.h.55673DB92FB3CBAC.idx create mode 100644 .cache/clangd/index/NavButton.cpp.232950D13D6E2515.idx create mode 100644 .cache/clangd/index/NavButton.h.B2661538EA8CB03C.idx create mode 100644 .cache/clangd/index/Page.h.7236B7411CB0711C.idx create mode 100644 .cache/clangd/index/PageButton.cpp.BCA2460698AE4C50.idx create mode 100644 .cache/clangd/index/PageButton.h.511EB232CEA388B7.idx create mode 100644 .cache/clangd/index/PageManager.cpp.1B1901F3F7E349D2.idx create mode 100644 .cache/clangd/index/PageManager.h.540F872042D01058.idx create mode 100644 .cache/clangd/index/PageNavModule.cpp.B8A5436AE1D26BC0.idx create mode 100644 .cache/clangd/index/PageNavModule.h.A94ED7D15479146B.idx create mode 100644 .cache/clangd/index/PlaylistButton.cpp.D5C68B99FD7FDD82.idx create mode 100644 .cache/clangd/index/PlaylistButton.h.9600C49697E3BC79.idx create mode 100644 .cache/clangd/index/PlaylistNavModule.cpp.974D2EF27CEAA00B.idx create mode 100644 .cache/clangd/index/PlaylistNavModule.h.73386ED7039B9D14.idx create mode 100644 .cache/clangd/index/PlaylistPage.cpp.C16327D31185E2F1.idx create mode 100644 .cache/clangd/index/PlaylistPage.h.3202C9FD0097ABBA.idx create mode 100644 .cache/clangd/index/QOverlayout.cpp.B4E1724C37909521.idx create mode 100644 .cache/clangd/index/QOverlayout.h.35ABCC70DC986F47.idx create mode 100644 .cache/clangd/index/SettingsPage.cpp.0F7B559628C24FAD.idx create mode 100644 .cache/clangd/index/SettingsPage.h.4C6A7DAE17AA1AE9.idx create mode 100644 .cache/clangd/index/SongHistory.hpp.46F986F57DCF6132.idx create mode 100644 .cache/clangd/index/SongQueue.cpp.E3B5F5C8C8F97897.idx create mode 100644 .cache/clangd/index/SongQueue.h.E8386E8A98EC7134.idx create mode 100644 .cache/clangd/index/SvgToPixmap.hpp.26FC7AEAAFB57F5A.idx create mode 100644 .cache/clangd/index/audio.cpp.D0B3798878719D8D.idx create mode 100644 .cache/clangd/index/audio.h.F9F96F778B99E274.idx create mode 100644 .cache/clangd/index/main.cpp.6CC56DDB3575B3B3.idx create mode 100644 .cache/clangd/index/song.cpp.0710647CC76D17C2.idx create mode 100644 .cache/clangd/index/song.h.B99CA1C6DB8FDD85.idx delete mode 100644 src/View/Widgets/NavigationButton/NavigationButton.cpp delete mode 100644 src/View/Widgets/NavigationButton/NavigationButton.h delete mode 100644 src/View/Widgets/NavigationButton/PagesButton/PagesButton.cpp delete mode 100644 src/View/Widgets/NavigationButton/PagesButton/PagesButton.h delete mode 100644 src/View/Widgets/NavigationButton/PlaylistButton/PlaylistButton.cpp delete mode 100644 src/View/Widgets/NavigationButton/PlaylistButton/PlaylistButton.h rename src/View/Widgets/{PageNavigator/PageNavigator.cpp => NavigatorButton/NavButton.cpp} (50%) create mode 100644 src/View/Widgets/NavigatorButton/NavButton.h create mode 100644 src/View/Widgets/NavigatorButton/PageButton/PageButton.cpp create mode 100644 src/View/Widgets/NavigatorButton/PageButton/PageButton.h create mode 100644 src/View/Widgets/NavigatorButton/PlaylistButton/PlaylistButton.cpp create mode 100644 src/View/Widgets/NavigatorButton/PlaylistButton/PlaylistButton.h delete mode 100644 src/View/Widgets/PageNavigator/PageNavigator.h diff --git a/.cache/clangd/index/ConditionalCircularLinkedList.cpp.FD87E6BCC915CCD1.idx b/.cache/clangd/index/ConditionalCircularLinkedList.cpp.FD87E6BCC915CCD1.idx new file mode 100644 index 0000000000000000000000000000000000000000..70f80b3e7878147c2182da0eaab20a420d0ca631 GIT binary patch literal 3098 zcmY+G4OCO-8OQV9eBC5BH#c85Apt`^1#gJhLN>rfz64>wKxzHLMk5qCBd1LWoq`@Y zP<1J5L7+vZRLX?a+HMSOv0FW*$5}sm>cG{t)z#_hx>M%XdF;omt?s5hFV8jSz~T4) z-}^q#`~08hhLvR{B|1tZDylEr8g7Vfl88hi9sko3i#DA{BGC@1NVN69seuiTUCK1< z{&r_?%U{BydYvgN)1bbzdnOXEyW?6Dx$&Njy8CSfnk`>7_(<)E$t&;oT)%bG^W@6H z!xPc&=lmsCC+5B&Q~vo*YunVmmm5EPx2DoI*?oN2yZUF{L6h^~pM0Zdf=~VJ&)sVp zKK`_RZSvEUf4t!86TfwJ{qAs4*Cl7|g`%&UuW+xGs(K0*-8{GM=+(+ymP4N`B3%Re zbyphGUogIK;orljcUKp^xV*9RA1ihpJGolpIrsSZba>zLne`v$pFA)-^S~oVl_`&( zin*&!e?6CbyKlSLZR?@yHt6TxFh898d0WjJNA{mTb~O2T+{l)!-ZtIQYsok?Sn}Yr z<42?SHaCA1f7g03&OM(Sz5J4Xs&BOLvuAGDP4}+<^3tnkQV#s})|sAb zd2d$#qA_@O#m`Unm5!CRvp-m~pd?SXetg@~%j~PEpB}jQzf~`pFAQ!f3%$K8H8XBM zT=?kO{nt0te4@?wfyl-wDx$tY2%Y86uUJ1FpalZ$KU} z;HR%emsMRJ5!W(=iiWHYE%U0un6z7-tRRW^@Mxb0-t{TUtxI9&!4rl-=1`vaHAN@rW+*`N0KB1iLxXsplYhxfQ_TLozzYP4ujq1 z&rMj3&wZu5y>g_qaIuU}){tk0WJ|TBMmVWa+i1j@QQTJTRwF)_;yRJL6Qu*kkvk5I z11TwvkP;3^+$yy?a8eY47fSTsWa-5J@KpJpBVnJ!p0f|Lq5hooX2ll#IK>sP1r{8d;zDf5g0F@v#-H{5AmX#IMZAz0K)lSZ+@HMg znVCrgAA%6eAjJIvX$eh&W+&`2Xon0*28l1sr$!XWAhr7wEh35pS}{>9pbD~rg6Bd+ zNQSR;{{<`o*ID(QuKY}Dj5Q({= zYU=Yl+SC(vic?Su!5A|PV}R0VwOS*PUZGb5nKULnkb`#UpomV5QxD`(c+@~?iZlWF zv_2!0+i&t)v9%OerY#e^2r82*Q=p_(wkju3jiJU2R7=X}h3n9IV3v zS{jpP0P-rlYUq;;Cc^;allTN9>r?qOpe>UvQ-a?`x*`^+%v_cXR8E!)Mz$iULeOoM z_DVPGtg+VEfa=&f!P{%2Y@-tTq+VCg0)^S|{F{y9qOzzGe2(d2EKnQSCK&bhq;^4n zbs%d8vccY7#P%W!@DQShgdH)8$WcV$j-a>+L`=YoLKJOi-jw*4ttGm-#gzENoA~wJ zN6ZcUeyYzuQureBiZ+Mqo74Ga-9iH)mPloCQlX?5(8;usX6Y2#L?_W^+Dcp0lvd+Z IF-R}^KitzjE&u=k literal 0 HcmV?d00001 diff --git a/.cache/clangd/index/ConditionalCircularLinkedList.h.B8C8DDA6C2A08E88.idx b/.cache/clangd/index/ConditionalCircularLinkedList.h.B8C8DDA6C2A08E88.idx new file mode 100644 index 0000000000000000000000000000000000000000..0a775e3a817cb37a7d479b205a3408c856698d30 GIT binary patch literal 1720 zcmY*aeQXnD7=Qb&y}MrTuJ^WEKLBlEpF|zjZ4qJCt{Y_#X^_mAWs+sGspzV)Euo7> z{J^L&d~D)mFa%-5KgRsPKa|a(#ONFm>>$hjATd^gm}vwP0vNL4dpCdEyyTwC`~2SL z`}edP*2H3;3WU_QuE`|Y(k)g(h>O3ebaL~L{5xPFB-49f{aF0ldzEY6+>Mhv?pxd! zvP`{JcH-FBxxQrY+tX8Br&67n&n^v}Kag0l{QgVn2QqJDuUu6Q+7g33txe636|LU1 zoh?WuYii>qJ8Rl^#NvxL=Hegz9$u+z`}^{r*@jQD6(`^O`Sc5oTaIYwz1=U>Ht#BV zdgAM?nSK2?SZlx3)m8D#4{yHpYR~1bUKwZ)`CcBK7_7A2bnO`tZ?ZE&Zb^4yXz$Ri zr&ignln?$CK6Cr*vU_envTsDWShgq7yml(Em5ldxr#cc(JVy!f{8ckt@#}J;QKv|l zTXH*1K_p%;e;N-Te*B+ZV^*Ci;*5qxrKk&V^Mc>roe15n>C^%^B1YVR-}fA`K0m#* zK%@EGxkvOkO#%3qvyI~mk2VzPRE2f9SU&4~VC{?R4y}$Z)2J>H=8zqlDPZmU?vD2K z^k|((`N)_c2!*B~b~8^4v+W%w=PEyPuGcAr`>+_!hkY*jQ2fH7yat`x0GEg*3gA?4 zDBZDWNr#6DJa-@U1xx{Wcjx56fU~$$r&d@8#h?oK!Q7Yir}tm&(Wwl$POQ@aH$9tw zqGhtb&qE!&G}Wp~rT{#8A)L6r`<MFp#Sa=0OeS@c;(xpymN8ebw^_ z&;_n3teRE}n1I5<1z|r(&QC?*vbj?vKjK4g6c#Crl+K-^G%BE-3X8gc4}wXq^lqmLH(e{~{Ve%n|H+{Q|9wXq6Nqg3w1*aP$zE5L6X)W>a5pQ{bZLk%mN zY*HO+g~?V~0^xaU=LO)zq`CmUD$GsY0)7l(!Dnvl2fT9!g=#4h25)%c^XH23@C=Q` zKq?5t8DeY&)SMy3zNKg+XGq9j1;-@W*4|=JDV5xm^71cb;m@P}$D_qtEH3kp=|7(R E3*s^2Z~y=R literal 0 HcmV?d00001 diff --git a/.cache/clangd/index/DatabaseManager.cpp.A503032B25B9DAAF.idx b/.cache/clangd/index/DatabaseManager.cpp.A503032B25B9DAAF.idx new file mode 100644 index 0000000000000000000000000000000000000000..153c422533b973e140471d379e7d7e5cbd98c81f GIT binary patch literal 908 zcmWIYbaQKAW?*nm@vO*AElFfyU| z_L8DQURrwN#wBZK=j=2Q=?rB#9kgoxnw>W{`>&1N!OC`qwMunfGrx-KqyR4sQNOtt zE?(oBbNXb@;$2Bc=zs|zY;xJd!>#ntJ1C0W#6dX{WNL! z%N`-VZLSaAtr2ZLWVX>&SYQd)1pC?BXU)BM&`wMDUW94)K`)a9Jl6vi7S6fw`?isK zh|sD(H`#MIx3*Y)F|+Cm(J-$MHn=>^nD^fSnI_AXVo}f5HYz{no&2IPJ8j8}`M(}% z{hkur6!!aEW4E?btw3?+qm)TUcGnrt`qsz1eWmk3rrXB-0bdTznt5f}=^r0G6n;&K zkbIC?d47>Rk4@d&YnSyyw1wp}vqa?%efiH4qUi7H-gtV2Tj6zyy6EdYNvp&9ADQth z@0=`i^zD=h5;e!|*8Z9wbNh#K5&z!bMxWlzi_^;Kx|%*|ePr|fseaeLRIQG*I#xLQ ztd8cly>g3g_S{*%#JHi~b}_$yl|p^nxBpDu>sp-{iYs%I?0_+IP{hMKD7u zYQNMRadO)PRLvsJA_r5wyf}Kj$jS9bL57GjE5L-al8rZ>-TnGBGfEMnnNVq#$8gb4$Az|eq6@+k2z@NmMM2;}kbh{ELVPEwRxA3pCE$c5}I zVlV^F|4#oo!@T=86N?hFBC{4u7}Xm^sX2+DfG#ddE*1wdltBa-Fe@c`KlFF{R(qFG znISnhB}Wq|ETk^N#LU9V#?HaX#V5xn!zaoo#wW`s&L_zy!6(fp#mgheFV8K&D9iu= DKg&R( literal 0 HcmV?d00001 diff --git a/.cache/clangd/index/DatabaseManager.h.23E39B73DE500DF4.idx b/.cache/clangd/index/DatabaseManager.h.23E39B73DE500DF4.idx new file mode 100644 index 0000000000000000000000000000000000000000..0dd1c5f928107d0814e311ce0209ab6259fb4b08 GIT binary patch literal 528 zcmWIYbaUfiVqkDi@vO*AElFfyU|(D?1WyXxz!8P?w`GAgdjO{xRB@}P*R zjRNC(b1^1HCI)6EZYB{HE+#H+1`ePc5IDGQ{g{3`v|XGD=v8JOZXO;MZYFMKm~>XM z@y4^eU!UeG1`{ypDyI5{6`fL-*_nW0!NSJI#t$YKIKgH!valAVrWN-C zIWSi+a)ND#>3d}Cym0Q>r|FD5EF4T6d@$Q!j$&j4I|im2Ce6qNb_7fqMl*9kEC<`o zz`%oI6VO}C+&nO)3`MCqi6C{wMajj=K$?kVL2PwX%Ch$YOl+(SY)~VB6f1%W0Bii3 AZvX%Q literal 0 HcmV?d00001 diff --git a/.cache/clangd/index/FloatingControls.cpp.9D6FC09D4D6F0FCF.idx b/.cache/clangd/index/FloatingControls.cpp.9D6FC09D4D6F0FCF.idx new file mode 100644 index 0000000000000000000000000000000000000000..e119601feee85c3cbdc2956d50a081c8b86baafc GIT binary patch literal 11226 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 literal 0 HcmV?d00001 diff --git a/.cache/clangd/index/FloatingControls.h.D700FFEBDCCA4F1D.idx b/.cache/clangd/index/FloatingControls.h.D700FFEBDCCA4F1D.idx new file mode 100644 index 0000000000000000000000000000000000000000..a6c0e1ce6211f66a741ffcbc8cebedc275e15d8e GIT binary patch literal 3186 zcmZ9O3sh9)7RS%|fHT8z=A1K(%nSo4$T%->c#a4%CO(EYH=adicY!F8m;nldbh|-W zqJ@fyLYiI^EfqlwOARk&xWE)wmM#IGO<|ydVtLh;dcSjILvhw(uXFZ)@BKaZk4cHO zT3@3HVopx1ZRw)rS&jrjxZ=N}<%N02NrJFY1Yz4+pZ-lsZy@&vTW;D$Z}iZt>ZeJM z_X|(!hkLGAFYG;M)F_X8bx)6tPbxN@>)mvMLP-TB;Dd|$Z zaclPBn%xzX4aq0c#L1}+vyZe|4SioYOI1{|&)Uq*2`!i2kzXGS| z&7h_O#8)4K9kF*0?BYNV(c_%KY1g z)0R~Q^OSe%TK`ko75&4H*KQtbiyS73K5TDtDcRYa=Ak!Te58yywWH+)rcHAuZeYc$ z%)JJ?BEovL;_1wv=1xnRcK?Gkik(`V7Jlc+c|~}-J(q(ga>Akjf4Oge%Xx*l`zsdLI zVz=WTF;kz~Z+-s2(ZO+sy{L3)_HGA)Nc_aU*jV4>%AiSzpez#0B*743eA4()&CD;Z z9=@VtkT;ft*UuDg6Y!7YhF8k}#EnB; zIgAbS5Ddu8f41~%_Ymm}Qe)X5F-#B)$nTcC&KYtRW^l+K2?G+8Rb*vAuFA;Q62Gtu z803SqL)lPw!GIjMrKOzwxHnIMNXYg^-mV}YmG$gCvHC^{hx|Z}5yfyI=af{Ln3QrG zgQno(;V$9sf&rOM->`J$8)y}W93gwQX!dCFP3_BGzcasYl@oyvPSy4t z$piy(^Nm^3N4mbN4D!WtfFwXJ7?6#7GsB*~RQD@~0$^%!qBs`hua;c5eO#4$i$NYZ zTPxAJ3I^m2O|f|c*`>EQG!?SviRO)N%Y~%6*k!i|h8U#B+5QrLgNuM3b8v^|mc>~f>n9qo>7ROjBB<6~k81ln&{{aHce+M|v^bO`0+wgBW_0ru>kf7WbpTSikR zWD)}lXes~&h~X#!KzPzTePGg12)lXefcxl2WnK30`Ljs!Z~FwYgX9^1Mw*JI_>KmV zrhFWHo*MMKR2oEnP z0(*kpJhZ?Kyds?iPJtUZg`;^$fxGuTYq|Mw|EuGc3fRI${<^qhQGHB6+q&YBdj-ir zF&xd)3u*(s@Q^&Zzl3_QGF>nLHu$#vhxPe@FNS;{WzTS9qFmuoMwIhqyPP|{* z9oM%TK!%I(6oY7x$MxFs11CQboqX7Y+aw%?JHr;yR0N7}hH2XV_4}LO&9*j=8wr?* z&x&Uuj0AmyC%}Uc+}Q`K_n#iv(mGP4p;Z?}yI*dHONFC(E;oDm;T>Dg&F% zDXXWqUKlqOXk{GDBN?JC{wu$4>{$6Tz6f*0bEVKq0BL-NJe(m~baDOHwQZICI68`m z5`G<=89!g%8gtuL$_R!z&X&CJ6c1>*#?HglyD{sDCC$EHT#R4Z1ps7`F*x Z1;@H7WfI!OSuQ1*(Ktde_R5aE{vWZ3eO~|o literal 0 HcmV?d00001 diff --git a/.cache/clangd/index/HomePage.cpp.9F3A1A2E76067ACC.idx b/.cache/clangd/index/HomePage.cpp.9F3A1A2E76067ACC.idx new file mode 100644 index 0000000000000000000000000000000000000000..3599da6f300ac006378f669adb37a9b5a8a05ed5 GIT binary patch literal 812 zcmWIYbaPW-W?*nm@vO*AElFfyU|yFkfxbx$-Y!AP$&kRoU*Z0i*{r!K-IcY95*bs^NjPsd%Z-Kq!bvGvC zV5NfHA(I@>i!5|`E7AhX}F@hljXwv#VTqc0$O)3 zRqAk>wnUYvMf90W-}d|U0T0P@B0D5Eb5tpMYs@s3de$TEvw(Ts46&bSC;jvnPktdY zrDmO0qx zKC6AGyn61Ic!;O0UFKEQJ-@#tG6l&?clRD}oY1?2{fqoDvECb7LV9<6tai>*lqw9K z$^B(rTDa!_lT%w~E0=F5-0mOOf9YFGVSa_%qw25+y&<6)_RPJjENvvRQci@utFw~* z6c+lLK_<7PFEZb4Uzu(_vqfIj+~UgIBs*Y?a4orbsZ;)>s2G!iB7+hW7n6`OFB2~p z0|!tJ2v|yNGA!R`Ylt(c0Ht}jc(|4MnE04s(nYCh#gBl>V5Tr~fsMFuNL}9AC#V6Y zn~@2u6(;=5>>q>suf0W#JW4D~Ec`IdC0bW!-&6Th3KV8iW72{N!*sC#g&CMQV8TEi z(6KN{9wi3~xZ&}v8`rWQ11EE`C^AobZxp^qo&CL*jLKcZGq!9T@wwN0uBa(3-FhmyUU=!*)a8}d z*|*BBEGnO{ENG)zN%xm2=Y&;#-v}itty6Rr?As(JV$-!%`rWVepPX+D;^ z@#!DvFM~SwSnJxa(^f2f3X^8$f_M{Z3J;3od06loI3ze^V5;{vO?XzAd8-d7%*)Ly1Ph*r>tDZ%Tz+~c)HyJ(!e}(JkJMMk_=FE6u5+f{5i;I$rtw8|?O@JUKD~NyqHW-6}fgR3dV$t`U+MRIi MYc>l9I~ywl02TZip8x;= literal 0 HcmV?d00001 diff --git a/.cache/clangd/index/LocalFolderPage.cpp.54733FBF83D2A274.idx b/.cache/clangd/index/LocalFolderPage.cpp.54733FBF83D2A274.idx new file mode 100644 index 0000000000000000000000000000000000000000..46b41d5dd8c1985f2324dcb71cb59cc62cf9c9fd GIT binary patch literal 820 zcmWIYbaT^TW?*nm@vO*AElFfyU|+`R6|}5IFj`c7pNk zw_WQd>@W!s(arT-_*6o&I%|!E*;n}}z27&@1q4LaUiot1WZilD%42oT8md#cmS203 zk;?ilb-D8kh54c{A79=ek-oiG$~N8oqrsfB^7H@6^!}-<5xM*)WKU0D(mY2L)M|4($LTE!tx}VAI1<@^~KDpFGS<|{}6+V(~NoRPRcYzuIAEuwzg69vFhX(joE2SZs;Gq>ibD~ zC)--FUgmJ~mR}0LE*e?Sa6MwL92(-d~%#_Qsw|Yj?bi z_RiCdE-Y46VY|QK_L={uLzl)Ye&0~eAAgVM+QLI62LC)SRfj#Ad#SW#`A4;{A$7)& zj!ZKC9`n8G$<}pOn0H*55c}?%>d)$bJL;1U&N$9cT$!6>2aK5`hGL5%KXxaJF)1iA zC@~2#DJb(W@dz?-0Of!nD{i6ZiSLd7#hFxq(maAZLdv{Myv#7^qSUnFM?htp=l-65 zQ99jJ+S6XH>X$-#6ma-nE>X7-Q4{ny?iMjj;= zCKkB4C0bW!-&6Th3KV8CVX}Z}zOd-2{_Qp2o6v;!Hcfa|n0c!YB&^7!0aHEeg`0O` zS=nWvFeeiyFH9KbK1L?6cVP}JO3g_G1xRsGa)e)^<2F*d+{|!Wd>!C3nL_F!Ow25-Z0sDITzqnTGJK+ZVtlfE;(U^P5`5BpQoKBZ{PNrajKT~6jcq?= literal 0 HcmV?d00001 diff --git a/.cache/clangd/index/LocalFolderPage.h.D9CD5A943852BAF0.idx b/.cache/clangd/index/LocalFolderPage.h.D9CD5A943852BAF0.idx new file mode 100644 index 0000000000000000000000000000000000000000..680b80644ba9b7718da38da721377ea37701de89 GIT binary patch literal 630 zcmWIYbaTsNVqkDi@vO*AElFfyU|eEF`P974 zl!{%lNW>vmifQ}aNj%cUyu6wI0+*8i+CA&~n(|QRc;F>w=R1i{5|i{RZvP8hpMJ}D z;w6cv1v|PgJ=v5Uv3rI4d$x2%)9{5#C99vz(MeVUYNuP(^y=TTx<>U1SA;2-eCiiV1gaNga#u}fQdD5 S=e@wHZ!#RVL(^uo-2yx~vZOfvb-`Mq<`IrpBMnDDT$ zReTH!T@;?46rUQ$#xP6-iStiw!f{@@LlEo06;jw%yD#mB=&CIASajmWr{#g+b*xQ}Z0` zOWOrYt5z5yOYTQzw*=T1>!)uv$I z$_nz}G)3>5(qE3%4O#9!;n%I?bby)tsXl)f`*t=Iqw;A&vDQZP@#htrL^e9%&zvQ7@id zXkni^U9)@G#NyO*=94An_Np`IO~3uK;zT6T@y(sI0M}>g##EQVGYYE9N5z*Kk z-9GWqI#1G`kXhaP^!7SdR81CzrDP;6SPS`7+b}b-40rvc zPKA3wcN7sNGI`)0EaXm(U!3xggJDjEO;^rN?_@g>0C<2=D5z@O<~{d6HB0);IN&2Q z%GgQJpKcgy*8N!*TQ>UMaxR+WyW0rWR?@0Ns`^(yd)6%3;W;Qs-1)e;m1}i@Y&I}y zOga>s4a^3!ae({`eheCE7)cXq49udhD<}(}*Xo|$YU>0R0hG8>gd)KTgg`k!R@^E= z88#P(wps55P3y~0158NN;ArU3RK1IZ=1_L15UG(H7xcFqtxJFiJVJ^@Ky-Y=h;Fxe zI00ljnJ0RO04iKX(zHDOw)sKUe7Jy;RMIWznbd5*zNB&iG_!D)0;wY&bgJ6A?k{8$ zK!^(&g$cDncO)W!1eY*;5+E6leD&q~Tg%2P5?}zOQE5hIn3F`M9U!$_tsfwbL__;H zzn>P%YQahg0o*BfI$r{KP#z5Oq&yiklp4w)Z_1lNK9moGhEc;9G@KgFAb-lAK><_% zg952Q292ObFlZDtib12P(F__xjbTtQ6--mk;_m!c=f>LL?hR@#qn(GglxIr1+Ed{+ zv2ixt^ZA`_ZzG<1%OQ?BYO&CHLQ~j~=6C#vI0_b=;nx2&gzT6lX&Wek!_|UdTLS4j>^Lb-*XZjrn(c`lZZbZjCiGSiYuGLF} z4;0GU)aqo8XQA)S=>eVd!4zcBCe@a}B8lGar{YdmtQ;JJ7B!%uBXiW6ido2=G; zoy60Z;LUZB{I*`_*MAthu<6Sz{)gE{zuW7dsf0V79C|vG;WjC~@dnw?;^Vr>`?;UZ z2;JXFo%HzU(Y=&ft+aP`q~_e%pfql0(P%_{Rl~xGcR#XwCh?yieBe_S6wt1Z^S_&+ zE;YJT^tGi9%Fb?G+t7Gz=vwb5XX~hn;JKz3?j^y83O$cj@%-x_sf?k<-^HGhzwVoA zb*P(9j?!80_B>UdYOj8|c~1GX|GUEpc0QF~bU!b=^XKEeu@3`0FFZSQrG63#>5EA_ z-oN6WE+4r4{H>9Oz@Ay<(C(qbw;GV)$ibvy(zl$MV}Fd5^@-$|!la$#;yPnz0pc${ zWb*U$X}Vm05#|8Aj<-$$u*bAwexWh+O&Z%^#MM}9RICBGLX$Us)oChTgq3hw%hSpM zb`oAc?K|VRi^jI(v_hn?V-3K&ryK+5bgx4+mJwJcmMK^Ra0n-6IHqIZ3=fksxMHqY z#2RG5W=?Uf_7d1GYa=(~m26CN|le9E6>}DFT{*5o z2nA8#l_OYG%*d8u+w`iGnj5E$qnZ2r3rN$%DzO&M5?-OR4afdpc3dbf>1-&9zz-P=K{z8p`~OHqL;mkZ!Y%P^!jD)MN0vg vI~SZ_XwH7QMj)cC&3Swafu)tu3^CtA(?!0Ja4jtiLe}6z$ZGl4eEIf&{#G=b literal 0 HcmV?d00001 diff --git a/.cache/clangd/index/MainWindow.cpp.6F03657BD43A954A.idx b/.cache/clangd/index/MainWindow.cpp.6F03657BD43A954A.idx new file mode 100644 index 0000000000000000000000000000000000000000..a0a3f780b1d94cfd9d1dcaf262fc88cec9da0b89 GIT binary patch literal 1062 zcmWIYbaRtqVPJ4h@vO*AElC728H9kixTGkvgOP#34Jc4CXYHhX|Jw!v$Ntu8Jx_3E z4Sh9xX{_i)riHS#l9Im*)>@Q(m_Kdb&GdM;E+Lf*M!D;2&M%(-?p(RMhUyfq<=^4p=8In2{8W6>x`@vEQ}f;}-+z3G<^J3WaN%5u(Ys(b&vIl7-gy1&ApxH2~>78oyVzG^CQ(i23*nN$@Sltg(% zd6flN1Xvk3fO0_ak)?Ty(NtzD0VWloG?O5cg0d*5s02*<@*a!!txx9v5o1ySN(=A^ zh$-{2@bST<8H!TVinjq{ed3QP8_%hFGBWZgv52uq!%T%)&d3C|x$w};=@QwTm*(#* zHmwfbYYJ4&#>B=CQw^h;xWEp9spe4sjDK^8%Nm?3+cCOj+5ywwL377!PZg9%^eN^+4m&e;VN zX69fPgP9F;2rG{g6Dt$kY@l8S0WO$cAP*QiFr_?7q70&3Fz*9-yrSYTx%0o%f6g%P zzRk#@#3I9@4ztB)P7ybE^@n?CPK~`K{GhU}=P6K_mxEUVrut^CQ)=1D$Y(%dHE$l8Sx$@%)ufGQw?(@BNvJ*i&AqEL5ZNaD7jc1#83tiV8E>8zfAMwGOwc|jLHnj zxhXlCKw%+u5hi99RyKAHPA)zz>% literal 0 HcmV?d00001 diff --git a/.cache/clangd/index/MainWindow.h.86D281384F92517D.idx b/.cache/clangd/index/MainWindow.h.86D281384F92517D.idx new file mode 100644 index 0000000000000000000000000000000000000000..47291d4950452d1607746a052c88808b9657fce6 GIT binary patch literal 1122 zcmWIYbaRVhVPJ4h@vO*AElC728H9kixTGj^J&^v+$iPrBXXylA?j{F;w(tBmW1J2p zv&M3LNje@;a%th;4W;bYz4zOCt=hY6dwb*ex$WU|RAw5_yv6sZJyLDm5(DOjYgsL) zdb?EKyzMoW>c23d{qFA>+Lnu&?}Y{k@fl3L!uu<9_l75_LQ@OgH~1{w;l?rh%cOO} zu5HejB-(cSFZ{r+rcuNdRrddg+I_jM#WK3TBQItgxBOU?eYokpywES}{Vy&Si)Y#@ z)iFs{Zn9x0uFOr^19Uf=ubN7n^aN3HCLSgr7YJAcSOi!ZI3S#lEX`YtrZQUzFmc1A zML9(!VA2ZiNrI}&k4B3zF~X$zS@`*2()0gtgb5XIOyy(ZVq#zs77&&K6ENw*Lo=sK zWOH6(X95Nu3pX3L0GMFl1l!HX!g_g+Mf=t#^Zy_j&&R?CH@+w}t=Iu*uNGggr@^YT z%#187JS;ps9+&$U7M-#TZ8HeFI(1Km03#Dv7-k#H$Bc|%pTdOySE@e}O14r23WE%R z3G*@3ruQyV)j|`7g$pAm3n)BbsykLJi8b*k@@E7Z0W<^>h71fa7crrl4RJ2anXs?~ z8VL$Rn31qBWaI*e9ZYz)<1;?}1N~)CKf|2)tafvG(Z}_5KnHM3ajU{qyD^773_EqZ z87M5wBFqOfb8pjxXN8%!`j~iF`1tw6V8PA9!mrJ51ar^B^{?MWEgLx1b#K;yDrRF3m0j*{)u9o0uIiSc0 zOCqq)WPn*$T$EfK3{=U)lJVP{S90G+b2fHP4mMV124+}XGcd3snCu898-fW*-(Ws8 Hn}OH>Zth1n literal 0 HcmV?d00001 diff --git a/.cache/clangd/index/MusicPlayer.cpp.35246BE0F9B744D8.idx b/.cache/clangd/index/MusicPlayer.cpp.35246BE0F9B744D8.idx new file mode 100644 index 0000000000000000000000000000000000000000..905e549a71db9df44034f95bfb7fa25a724c0f2f GIT binary patch literal 3434 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 VRQsxZ)MmAbp|u*Dik0Yy{{uafqHzEK literal 0 HcmV?d00001 diff --git a/.cache/clangd/index/MusicPlayer.h.55673DB92FB3CBAC.idx b/.cache/clangd/index/MusicPlayer.h.55673DB92FB3CBAC.idx new file mode 100644 index 0000000000000000000000000000000000000000..5d873292bc2fe45cbc5ff01a495b1f58cec7b07b GIT binary patch literal 3552 zcmZ8i3sh5Q5>Ea=E+jXXn*foUPy#W$B3P`kRkRB&iiB1Kv|TI$rGUHyN?t$$^t2k0 zqjf9p(fX);xCPg8jzwJyC{@JZQS7=!RHPOkJPLwcT&--6kKO-X9H8VJhWpR=&;0Yx zKl4qZK03Nv!sA6{>Pri53M`4>U-Cre}`_}4Z zcUuizy2Q&p=C1r@W9_y4s{_(SyDDw`#UCFom>YH?>_9qGbH!|LzMekZDp<3jqrdl? zi;bI&MPyFkC3|M}mwUTy(W7@#|MBeoPpV~}Z})};#;4sq^KQoJo`&DHbexC-X&OI-FsNZuouJxpSuB2A4P<93Ls{e6y|jE2VdBlVn7qeR-k2 zV`*D*lzp)CTIA!$j&pYk1MH8U*8jM_vdK9##iwat&x+pd1c+TkKV|LJ%1#lzWr(SaQKr~8?N2dmu~JG*9}IT9F8eBmKD60 ziXXw@SeaP7AWlG`*%BV(O?XqB;JM(p!N2Nri8TokC!A-YVElOOkI^En0N{X4D>EM6 zcL-?|0B`^i;0f@)wqvU^f9i0f5dmA-Mim3ZB*d|o2unOU0rsuOOoA3spoT_La34#=x&tgV z{@uQ3eV0FtJg{{EQ6S|6z(uRnw=^T`UZRmZhK+=g;sn6K*6|As8@FJX56;VovdNq0 zFTdA19CmCzjhwKxi7-)|0PBdY8DD7E<}IL*7lt*i8j2GDE7ptd@N@m+Wylx9l$`S8 z1i&9;ZYVc5jVIBFg0mMBi`@V&Y)R;w@3@ywBTsB?AuKc}0RHM?{OX^FEd?}k1?ys> zc+&cmt$oZZ_w7O&$pKCv669dLD?QhGY1tkqF>iB6rgHnk@NGIgNL&(#RQyW*`hw zPJr|9x^jVE-PUU~Qe!xj2zBEG!2e#>`f~lZQS-W!2PdAy12+T13V_>_nVzE$tNueF zKWwca6k<*QJWxDtJ=(eNcN&S|Y#U*ltQJGoI%6_1#WH*m$1c#>w|bnjs=mw=Ad>Nv zc`6|kl2IX*7~)eVW4?PCR7^g4K)KKh*QflAeaF8;V@a! z12tp-?`9bf)aQMTHw_oI1o26xB&cK|_yi8byIBH+-N1d=H_LgT2F}B~S;7M~B+g01 zaU7^g#_VhMhn^)F%WO*!Fc*$OT@naUytB+OJMhf!kvKSwmu5Eji|{H**juVtjthXT z3-Eg`+?8IuJu}9IWYm;e2An}MI$GxeT}(1jbd(3s4auaTG$BwI$&|^<6mUn9u_~=9 zcyyAn&9W(>=QE%gzKi*HQE4Xk@Ro0$)`@ zDP-WO`t0T6m5;(Iu{s~+y8?^BGhip|j+( zGcvnQt1_v@3zB*J@W`)g>N<8m&&T0ks>E9=mmg^hxOA_!+57Vu`G6O~0kD$?PAaW< zSbp~P=p!?nfHOY&LvcPE{clLbU%MOeoh`wZmmreg{&zWx{@_qER!`@__Zn*IFW&vM z1>Zuf6szIL2_D?&g64PZxc?OHhT~#K9&CbXhZDn2IZ(rt!)kWAfg1V(tJ$drYM5$R z%}z5=!!*N3vZD;tz)1Mc><9xjOfP|mn_8eInL<&a6!?f_3_b>ba16D8&t)eWm;m*o zKX&{?J|N>THrScs}x*EqYWcI!Ci`}P%50eqfhX;<0h798>Hrf{^LT07+)Te6d(`V{a bIrXWS{6tKbDP;T0{QerDkIGx2e1Z3Wj-M&p literal 0 HcmV?d00001 diff --git a/.cache/clangd/index/NavButton.cpp.232950D13D6E2515.idx b/.cache/clangd/index/NavButton.cpp.232950D13D6E2515.idx new file mode 100644 index 0000000000000000000000000000000000000000..7d95c655e419abd23e04459790b3387481c7ece8 GIT binary patch literal 2350 zcmaJ?c~BEq7~ed|wJb{l8-hRx*#&Z7#3Y=GTA+e>;#CoW3W$J$9AOl^2N4xesJG&M z6ud=>1v!+CS`R!C53qxHp^n<2qEzwd!}cv{|7d11$?x}Fzi;37?VAu99PB2C zSt;?EG3FSCS;Ma}Gb5>pgJC6*$l6x9_VUd(Qv!4sLZ1z~F&8Yk@zekIQB zDt5Xu`y83rK6J$7`U>2(R$LY^>uBJr+>Ai^(Teq90cDx|j&iqKqFFb#O!vDvq2+l^ z?kfE@b=u&W;;!i1VTJ@x&%!CAcbOgCY#ZNADHARhJ*L*zrpkQ%m|O2NG?{j*_xw4* zXIWB$-~G^qIY;_)=kwi9Zpz7yySA*m{C-)hs(nn5bJga6Sr5_+LT-!^>{wD%(CKk- zA9>C5Hc_X%U%$Etl#a5C*#&epTIr#XT6?(yl@doSktpKViOZJFV1-92l3 zyLLYx^r6+K+p0yhr35o(r^H6V^QoT6HSA9-47UZ&3XIlS=qQE(j0GluHu%Xk#&6$r zwc@cCLNE#eZi7>EUkCTN9~Lehs^fQyMuMXBujYzANupdO_DE4H?e z(1>6aHBbwY(`a?i(qEn}q09-I5>XC_hDb#j`jFOEt1viroD`B0YuX$g?959S_rkheVF zXD+1mKyQgk@><+wSC_@lgS6>{t~%S4KJMMX#gOI#E<3oWG+YnB1tcm-&^k=VHU|-0 zTI5R5{+PcIwEz*}FG05Jd!Bf-9`4S8RdmC3p-2=^{#*Sfk(-2lTQ$OeT zJovyV8RgbjobsZEA~eXnD11=NlmZwl7s+WvpVxHepKEF?gfxK@?31m_DSn!s)Uu{m zz<6Ca5}>+Wl6~RIsV$HeSP0l5irM%!^&8Ke5=fIcX@hd#DLH2C_;kn)jyWxG6tE>n zrCB+tmb}^py=gwpdIzmr`OanO!~Kv}NEPhv&%Kww;P~{8Qb?PgL+iAfo{r@&${=mJ zMpu$HDic3M9E7yiPaBAoSlN`yYYYbu_0o)1gXpY9T?@|!2A_a$3!Oygh`NM`(P>PO zUgy_`O!v^*yG2{(@ohcKs}XAKP~JzI1r3tuf^)qG0w{LUU~z$#eOcO^3W=&x+xSlV)4`Y?Ml07VfR^ciZ+3#4_ zDmPlR!B`&2V`BvqnX#QUCmujKav--rDF+Ownp_pp@&wWXMxaErQ;zZciI)*wkY@M{ zn*^Bw{`JyA8$!^2z>i&4czY$s^j?C-j5wnd{+iMDKUDB6e=Kz8Fc{No`TG->G9y_H r|5__4U}nzc@dZMhbRr!|3295pNGaKmv?CozdrLxWCASc9Y_Puo5sShY literal 0 HcmV?d00001 diff --git a/.cache/clangd/index/NavButton.h.B2661538EA8CB03C.idx b/.cache/clangd/index/NavButton.h.B2661538EA8CB03C.idx new file mode 100644 index 0000000000000000000000000000000000000000..8dc277a568c169e6a137ecb557997380f8d0e3b5 GIT binary patch literal 2480 zcmZ8j3s6*L6u$RgU|;vOz_Ki?yRy5u>msYDU?slLuvH5+hf&Z70ToGkEEy;<4MPa2 zAwn4mnu#NYN-)9Tm_~~Ef;6{GR5B*S1hgR^MEK~x7Y>X3GaUYV-sk+^Ik40g9$qOW zh`I5$j139tu`UEbxZ@vtdRn4^B#1B(L1dKG6~7*FdJ>iQU~5Rs<=jmxi$W@-btQ#= zdM+)Fs<7>T>EP|gWK*CDWW@Bpb zl=!$=j*wG(Rf|(PL&KKTnyN0fUoHCLTz23<^)l;tTj;ic>E(Gn4`*DLJL(ZOpShxZ*DCw@x^$f!Pf1* z&+%SAQr$E45cbRst0yDeC-s?`VNrc99C8y8v`K7Y1VTt~Kk@lZwWWPCb5z10B^GOC zT6ckfxbW5|&o1@qIR<%SvA4{d69|YSJ-U+GB(JC$q{3n~qxKXCh?}2qkM!{u)Esib zFUB9*!djFdUXZL=Rk&x{7zU}awML?$1OnpHU0D{3qk9&Id?f_UNEl8aAU?Lnb;`k% z?aRFo5)o98JjjzaAcGvleO-R(0U0abW{?+l?j!ec7YK-F&CNAl>1|joMq->5XM8yN6s4teiOSB!^s~b5^m{3#_lC z9Pm?rxafBV$*^;sOvefY#CM`H739X&e>o%t>i{-D1>$?X)%Egycb;>|2bYF$e`!Cl zpF4=t64uxgT?rz;`49TR=5~^#Xim*(;W;eK4%?)!TSTM_?S;H#=`F#RoB!@x12`jP z0=}R>fG^DE!3Au@I4bUuh0jGh+ia<$*vIE|G7}pMHw{4wjKLX+ zUP#{5w0pY4u{aBNz+^E60a^;09H|kHCuL){QET*v0fV$%WP<}bT_2(2@G>Ni}^rYmeeuN8&Ey{fAjiVd1s% z7axP7eUOh75JJ&fq?N*4QnU`~q_9tLDwM&)nTkPa(2V%f8vLDKM#|^`Y2xygMve2! z#G1U|UGNkmvlN;DIvCX>TfVwx*Wu=_&rS^039yA0Vr_o?LF*Ju)uH>x+4H!3rCMnO zHdKKd&96jY6ZCxL-CG5JVQtRLSz%(t*LHqa+E{QGvjd4h{8wP`d`e7xSNE*AXB0#a z)TE!RB)9gC!Xj*1oFKnpA!OIGb<-1;T^+!_&Ew1#C>|Cs*5(&3XcK7(@5Ii-;bA)w zFrUMV1d`5+$hTLYC_YWXa6&5xaAr@7vnTPTC8T;iT?o>c>(hP literal 0 HcmV?d00001 diff --git a/.cache/clangd/index/Page.h.7236B7411CB0711C.idx b/.cache/clangd/index/Page.h.7236B7411CB0711C.idx new file mode 100644 index 0000000000000000000000000000000000000000..e76b2cc24ef86c6d791ac96eaab3ef71295d9eab GIT binary patch literal 898 zcmWIYbaSg>W?*nm@vO*AElFfyU|JLWt*WGhpuxbv3Bs;&Rnldnu>mSi|A!KtU;sO$H5 zwVRjI2OW#NWa&3flB(8sX55Q-pZYlOhj-S=2Tz>da(;HS|FVyB&Z|2=LJT|I)XU%5 zdODV$%RZH!{gdhPN0TGPmAOfEK$nzgU7dYT*X4MMpOFzo*kG4Usr~6ZK{Vm6H5?DCKh76p;$dMCVUdCv!o$L?%&iIY z{?{l;)(tIbj%YS@tXL9j;!)(!$OE?@9Ck3(Fq#<}W>CX{?gB;vOp=F%hnt5V##?A6!}xQtLKm73_cl#tJCI^b;uHVTL?h|N33z^3yY+u7rhgMeUcGBTjCc(1epVPFi#3)r`GR zVVDbGF~o!#1(4{283_vjH0REmb0}B0YsPnwbCIH;C^aWh2^a{l_+o%LxMqXLv$N-u iH!;FIR9uu?EDlu3#KNZ;%ijCDaXTX`11mKAfD{1v_&Z7f literal 0 HcmV?d00001 diff --git a/.cache/clangd/index/PageButton.cpp.BCA2460698AE4C50.idx b/.cache/clangd/index/PageButton.cpp.BCA2460698AE4C50.idx new file mode 100644 index 0000000000000000000000000000000000000000..9425ff5f1df08cdb89b1d3c0a721d9664aa1e420 GIT binary patch literal 1070 zcmWIYbaPWB*ikFaZEMwo3mxAIwtSheZ?^Z*Zy65_Jwj_Yd5P^2T;Z6t&Z)Jf$Z7txNUs$N zA-nc|z9EpsvGs+|2ANFNw?Bdt7V)HW-D!(t**lrnM+U-|Nvf6X$hP}=2hxa*8)Mn{?V@h}Y_DJkSe9zkI zjg^b53Xc~1=c!i}wx8Vo=Jvn;Crr2ARw^$juy?yBchlX;aOV7pU)ru#=!V*Cd>pF& z(dmEk-A={1g&}=zOB`D7Os;-=>yc(!Kf}IEs`9Y&@H21#<$&OA#FzW-dzsS3nbd&NtURo|s+>%m%rNQx z>fc8THlCR$#-sq0X5wKIQ)Opj=YdJ{#1w6weB0IExGFb0H!n=OC^fBk z5-^3FmJ2>}Iemg5Gm8o{53>NwP#{l;SsaNc$t(-w!JN&=1$Oha894&g>AxrMOk*`( zTF?{0$fLr{#LNv-4f6#f6W9wd)z8fSF}VNQTLe@s$|TAUGjon}d}3R{lR7j*E-ZSg ze|ydMCZI5r6O$Xv?7dABo)u=^>H`V;F@?f}VRoo06jm6c$n! sVPa-sWn<^yX#li?HP6XTQR6X%oUli-u)lj7wO)SAb!qI(YcyoTRMN;rkAk~>VnRmT$8cZ((ux1%jLHo=uH$mFv0!M zbjz;8hW5)QdUh&w9bW%t@$ATe?&GdM4u$45MqS*woMrh=lf&lbw|MLC$MxqFeB5K6 zZvVA6T9cu;GB;@t&;|2OUS1w@r&K|ViIEA&1p+n>CJr734hUyo|Bv3Dq^n^9Oe`>I z9(EpnnDpC-FZbQ|GNp?%vBRV}nK+qY($i+-2vn#4p3Kg~2sD?4jYR-VFmQqmXJljT zul{|sVB?v2NVc;xvBPcWi7DDV`Nq!!0!+*>k$0xQGJOK%_NU2XXrRIo}+a^|^NxbYLFjYXF7`rSIPo7;3 z!Q-iXr~y5ESv|83ZN~ZD1cecP?VaJ=mK=}nLh$wl~PVgGQ#4lr8sr&^c%mE y8DZfK3rPl;-se%3f{b}Le=x!#s<a+d zzLl&K`_DZd@8#Q$TI|lt_%h?|!#s=lJN9?pHP;y3JFH{hvizc)*v$l!Ip=37G%sB# zxZ|$I$%KSe0gJzJI8}LUe;BfnH>!d!XsUbQ!6tJiQ;)Nu8WRKjUYs`Z<`ix5+FmG^ z?ZmrKY%b?CW!>sWcZG4bay0Y;&UtZ#O zs}FTob$5w}c*@?(w9()5>)m^{Cw8V{(VdGGqASZ^-0xW%wXWJ(c=`2& z_nI5bKiVCC%|GS+sj%UR@a(*9b%x@~+$4EmjNFaXS^bH>@QFB+vI2u56E72=k}#7n zGXn=u4g`u)(~50?^sULxkGvk31~Ty|GBGf5!?Xc;d`yxsNth@j6WAn}a8YVbBFL=b zqU2(65JL$>fC01OzkBVa8?u~R7?l{3b5n9Ofx<%SB23IItZeKYoLqczd@_8Zd}4gE YeBykPd=h-pd{VqTg8cH_0*t~80E3P1B>(^b literal 0 HcmV?d00001 diff --git a/.cache/clangd/index/PageManager.h.540F872042D01058.idx b/.cache/clangd/index/PageManager.h.540F872042D01058.idx new file mode 100644 index 0000000000000000000000000000000000000000..83faf519f6a6a9b4d19ae2195c3d76da34c20b41 GIT binary patch literal 1422 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 literal 0 HcmV?d00001 diff --git a/.cache/clangd/index/PlaylistButton.h.9600C49697E3BC79.idx b/.cache/clangd/index/PlaylistButton.h.9600C49697E3BC79.idx new file mode 100644 index 0000000000000000000000000000000000000000..c5cc8b7dfb1d9cd2875533fcad241edbe406742d GIT binary patch literal 858 zcmWIYbaM-0W?*nm@vO*AElFfyU|v((bs;wJdvms`wfFwAC4A`5F0RZ?+5>dWtaX$2wz8@?urmRj#m>UUA_68DIDv8u42+p#T#LP?}GaPnMmRotGab z-R}K{Mb`ArOfe=#ptO{LlpH$;6NdmyI)hWU+=6YM9LaOaWBh5p|R>KK7WDsyVV96851KC!Lf2}qbljzt}&`of~8`nT77 zZ(;&EM~A}z79c>qI-CYDy?dJ`JS)t+)dx~!%wdJ3$e7a#rU)hqbPgyCVHQ->eyKU) zv>eAAY4TuIFoZ$N7w`46M-D1X2L$9Sq?B literal 0 HcmV?d00001 diff --git a/.cache/clangd/index/PlaylistNavModule.cpp.974D2EF27CEAA00B.idx b/.cache/clangd/index/PlaylistNavModule.cpp.974D2EF27CEAA00B.idx new file mode 100644 index 0000000000000000000000000000000000000000..c663a3d78dc6617058a347dc1036625d0a74348e GIT binary patch literal 866 zcmWIYbaRVhW?*nm@vO*AElFfyU|A_;C;TC zEoH+dQKs_fwGuozlG-MWj;k16YVWz4)6FNh_|hW|Q5`nziw#CG?u{))PSdwXdaY0i z`MH)qLNJT7^hIuo%*udu^(F=vry29s9hGUixq?gU+1f_a$EuTGG-jtQxgme_XKK;3 zn1--^-p0?~PPGEHnMuoo+x7P@+xk|voxSzE!A7N5zrw87P2~^XmU%(b^GB7h!mp}n zMh9No#UK8+{=w5#(IxdkYkg`Ketr8;v&7z9fq!M`4KEqjtEXlsRcu?A^Yq!&yr*a9 zMO8`PJQb~>X!zsU-L3x@hEJ{Qy>ocpzS_#oN%_KQ%^&$E`9*YI&kBF~d(q@7`~9(H zNhdk&Rrkt8UMsF<_+Rt$-|;!3KZ}38*zfpbT@gcZWp0ukFlJ&qcbdg(@~jtUQc+}3 z5)c*;QRZXfV`kt0$^n5zpCVKy={fxQj0a{lguzAZm1wgFZ1@bO5%RKsXSE)>VlnsX>uw`<0Ckl9Ec zFG|fx1O;DlQF5_3kY-j=nf~7+qe-@iQJFy*Bm)7-xhXlCK&Fto2op04D;qlpCl{X_ gpA4TUpBSGkpE#c+p9G&YpA;{TAiq4f0HZJi0NG|i`~Uy| literal 0 HcmV?d00001 diff --git a/.cache/clangd/index/PlaylistNavModule.h.73386ED7039B9D14.idx b/.cache/clangd/index/PlaylistNavModule.h.73386ED7039B9D14.idx new file mode 100644 index 0000000000000000000000000000000000000000..aa9cf1546c9646d6ff4ddc442a4aa143159b0c10 GIT binary patch literal 860 zcmWIYbaM+~W?*nm@vO*AElFfyU|#cEn#h^ z{ipPQ8X4a@X16-`$lT&7HP=FYWdic{=44LWIk~yp#(S>VN3Z!`*lsG%pUhBPnVS?3 zbZLRAZgj!AC~bBopp#kH*x1Cu1Oq2fj)8%Zg*CQwr&+uv&w6nt4kiX>0bv0V7Ct6E zW(E$h0tSo5!!b?EjLwQNF#@HTgqc)Wc$s*GVbTmmscFS0fJSTa^?DktI?K$+!otDC z!F9d)+dlmuoARzT91p8M&KG0kVPR8bQ-`@GQn@Uat;AA>kqN9CCJdvQxgd^&IDvr& zY$Z&RhlP)sPXxy6Sg|D5#G}X`XaUGxs1AnRj?eh?5A>HoopVJm_0ZL&mruZ)#l(nW zFT~A}kAj&T-^}QS(P)m_+ce=>VdkwqpiR6Yywb3MdAR=dyU69IXF_d)X@&(WBO^FC zVa~0n{Zezp$!!yw>N^I@U7Am6Zw0Cb`2waoY2&0dXI{YM6@{IZ?vv zV9XWXgIL?vJ-!XgfyfNC~)JUe?nc@rbdXT?Ry#rmM| fW`_kj0|Og^$qHvOv25{f*&}>8yN8*bm5l)aiJu4I literal 0 HcmV?d00001 diff --git a/.cache/clangd/index/PlaylistPage.cpp.C16327D31185E2F1.idx b/.cache/clangd/index/PlaylistPage.cpp.C16327D31185E2F1.idx new file mode 100644 index 0000000000000000000000000000000000000000..79fed89e8b3e17d47e3bb28286633fdf8f44a35e GIT binary patch literal 814 zcmWIYbaPWl1Z^Dt}L)bwe`%DW3qZs%?kpCVqro4cE-vom{<|69wSMwib?I%zI6*-#YQY zp(z}9)=f>hVCXG8 zbB|97a9-h>-t^R?ICHlnNo_r)+BLDuD!l@94dM*aYNwN{@%mAJeFJf zT$VdO3;oJ>VE+0m^;cpid|$l2hGEjRJ_m;4%G@M7V4Q4Sw&P9POnygkCKW{nB_2K= zeq}x;K4u0Epd1j~zc%^oHP$^(#h4U;(oB3zQp&tcynHa}qSUnFM?hs2;^sbnn-vvU zc$AnJn0R2ifIOfMm?V!94+9Sm%t9cKpGO)d2NPvv0=oew{LJhhgZr<&MT|U3EKDr? zFmp?^uFk%v@~0Fi%%sa?2ot`r=&AngHQ$@ig!eX0cvhHss}CeB&7=fVJ?n*=cVb!D zWuP!86DKcB7)CR4p*X%MH75}iAjL(=#o{1_GKc^JW~G8}#~wUiWAKPknISnhB}Wq| vETk^N#LU9V#?HaX#V5xn!zaoo#wW`s&L_zy!6(fp#mgheFV8K&D9iu=5fwn& literal 0 HcmV?d00001 diff --git a/.cache/clangd/index/PlaylistPage.h.3202C9FD0097ABBA.idx b/.cache/clangd/index/PlaylistPage.h.3202C9FD0097ABBA.idx new file mode 100644 index 0000000000000000000000000000000000000000..95eb717eaec3466595cc1673c4af35f3203c3ece GIT binary patch literal 936 zcmWIYbaPw4%)sEB;#rZKT9U}Zz`!5`#Kk2=nQMUbL`DXNiaARsSaTn85NLVNuX@>I z!j`TwA;Sz!_f2tp?*-p4-1u>O_M(nV-_38%ed0a5!L*h4`Vp?9@4bEn6d2llnlpFF zA{mEd(}hLr#gAW_w^&V>!--9YZR7D12X}K-dzydQA)j{3$MmPlq5LhJ>y~akm0T{m zR5xXLW?U{%uT8Ty17E!+{bUTq5?Y;69WS)2OEbFm|)-p$}uo7va)Vnw&P9POnygk zCQhK&L4cKyiI16q1Hw7JdD0c$7puYrm>8KESOxe5M8O11`u?@aXRopDc`C-l1k=sS z#LEYhE=o-+z7GsFExuk)gH>ml8Ch64nK-%p7JQy|;&sJ|oO!++R}@!@F*1UMVQz)d z%v=z+LR`YY!wNDQCdtFf$IQnM?F);Z>fc`Ty$NUthYW`TO!eNT3C{{MZ}kC%dHH$8 zU?K5v{p)v;%TLdQ8glp3p{pO>1)TU~zuRT+$sKbUnNYkM|9_^C>G>54(Lqy;?if7MuvaybcZqH}4$)hQviz~DewTI~FFgxwJ_T9@%lcwwyE;YAZ zC~(_P{Msst$%>o)%dGPub^9+hZEur~sX91kqw!cqOF;i?#m;SOJc;kujNLB^%dY4% zt@~nq$9(m(qK2*`D}xRQH@~Wl9V1oUHOKCDh2CzU%6|W0a?aX4H(eQ@5DBFZW(|y( zk*Wz^+BfN#a-f$Op8PiF!owV{TT#*1)7u`N-8Q%Q*1eV7@%$U>(S<`4 z-%mMJ@ASs?xVC~WLF^LRrMlcmfnFO^;{er#kaw&JeIB-b-ZbGn@(&_~T zuAqROJLTqEDeDqS7Sjt26-je_ASwbf4eJ;E@P6Ys^CgT23(7E5yz-}GLytfDi8*RMXq?O z3JPFUlDtGLQ9*r?0*cTNQb1AqK?)=+<5Qr;v`UChz7(9~b(l`+Q>UYK21rQqoP=Y* zA7sAN%=(mDrB)V{gC?Zh+i(!TQ_^|X&KzHjqnu`Kj8B0PHxdvRM#S}YBXB#)H{UDB zxmt~?q%~+wz=e$HZEthJ+o#%_w$@K_?Le7E>qnb>Ds6h32{^EexZchM?)IillQ%D@ z-s8GyhUyyfK2j(`%KKo%i{@1P~J7FeAzdLI#48z=fdG+^~P&G z!Q;6zXnQC*R1Mqnm?u50AEsXSYF3Q)_a(3?Z2l0k>}kZo*0SVY#5F370l**nMAVspOU?trSGt88CUFwW+enJeHt8ONqymL zpB@=2e4jY7YSf7Q32zpE+x~J`ujSB!jHdMF`J)3@)hP8#?9siY0mgdQ9GqPd*?cvZ zZ#@t`&=s~~)!VqA9|l^&LY$#TCqM2h9&ZkNAGjbs|K04UfKT=}XD*#C*>lI|?dOa= zUq$nU?McX5khMOM_ObbqF>+b?SU-h$6WSVm7`?0?iul2goBq1E%93@Xe2EOSj_5Q% zo0gS^Rl8;`REPw$K{ou|eZHe`#D`o{nh(K1Yl&8b-8Chr?TWj{#t~Ww!?LX2GazqI zZp<*7p6u=NH+{*Kh?XFR_u);R0rqFazFHHtE4)A(cOk@rU2GQw}s@SkMNZx<9 zba&DsEHFIbInXY=VBe-Oy|&d}6y|v&zyc%6q6xYX7(LO8a2Eu|Knx#-4Fu#qNE?E|>2;O31;<*J?b!wzQy00viSwCX0n zjgGROE$N*HXtY++4uzsYGa9X$3(+7fg;i4lcH9qfY`j(1NDndk8An1YP>DvX9z!(s zIMZ^R_8r&xq~c_EWi*CP(50T;>%0qNFlacXZ(54^U~o2udZ0N3hcz`gkDQ3vT8W{w z+m86ymSK6fF}O1CW4}h2@85=@oVAJ9?5uT2H-^hp)E{*5T#?z0p>Sl)Nw!W?o%!=S bt4mHD1|Jp{h%kFshAvD_sXe9PSRVZbkBpQ# literal 0 HcmV?d00001 diff --git a/.cache/clangd/index/SettingsPage.cpp.0F7B559628C24FAD.idx b/.cache/clangd/index/SettingsPage.cpp.0F7B559628C24FAD.idx new file mode 100644 index 0000000000000000000000000000000000000000..bb9309d3eed5c75d72319b7a53a6adce8a2eecd2 GIT binary patch literal 814 zcmWIYbaPWT-}_$4YVz%bopjfDP82lg04-LAV6<>$M*U)0q2 zdBvij#&5;vqX922yuSJ(dVdA8DW2mVfF(^-9<3pIemoMG11OTc>OK!D|27 z8)w<>>HVtw-=nqiu=Lt^ZvB1#jTu+=_a60opmM_Rj_$AU-i?AlQ8Q!1aHwf4+$`sQ{&U_;~o0`Iz{aVbVpZX~mC#%3!82a)FJo3Yk5x zQ-wVdkwqkgzn95=`~17jE8(Wo4Iv z!kkQ;yf9&yLl~LB-i5iOC^aV$6d=V#$;ILzhBAl%17;;Zo8QZKTsUOPsLYU@o06jm w6c$n!VPa-sWn<^yX#li?HP6XTQR6X%oUli-u)lj7wO@-J5KI1+r9qd-P=xBFEqTRY%KY*SaG@9=|#qx zXBZZ2lv-G{SBWvZnp28b*&`{U_k2vJoNPt-!Nw1K&UgA}nHVe1cl!{X%eHk(*xm&5 z$Xj!)bZ;%mysfWW!JeWen$?mwbKWJ_H78p1rl}p68m#fdW2?)zfSfx9_w7%97qnHo zY|psmbANDgWo}X((A5QjdfhgA7Rw4SF)}l-3h)Vtf(Zr=pd1j)j@0zp{6|SijEM>8 zbr4|XW#Z+7Nn3@?p4X|urOD331eD=m;}8N944h!4jI6AiFCV!6&-KqYaVAcfem*8X zW|;n>)U@LJz;M&z>-98Pb(Wctg_Vtq-i!NM@xU~XpQ z0=pF^409_ZC)kZJVHnNK1#uhLX$%ZJD2jMk`I!0mVM<~4GojiGaa{BInYS8Kw}*AC zSQ2aEQRL6a19lwLSO%ChBNK|7PcG|xGE-=2CYo1vJ3iynKhR$W^*Bt`g+)*GZ?E~@ z1T>pNhC>17uDwkYo)u=^>H`Y%^7D$pJp6F|>vxgMPtSxJ0&~G6%~e6hJ9jKVbBX(b z&=n^leAb}3q@wmq%@HTJO=yPr9+@6wTIaYKO?A@7No&r$nz0wE8WvHo=mx3=MKjFZ z3`MCqiAul_g87R9CbQ$-$8XMz7bY>nbQTvS7h8kE5}E)(Oi)gP04CP6tNj+0J$WL_ R!okkQ!oUWTU|?WJFah228}$GH literal 0 HcmV?d00001 diff --git a/.cache/clangd/index/SongHistory.hpp.46F986F57DCF6132.idx b/.cache/clangd/index/SongHistory.hpp.46F986F57DCF6132.idx new file mode 100644 index 0000000000000000000000000000000000000000..a795930ae65a2f278358e402a29f813b939c9f9d GIT binary patch literal 1094 zcmY*XT}TvB6ux_Rc4p4(-Pv(h$6bGRl}bfgGAZaGr9TXj0yT+{9;}qiHFL*uQ!B{W z3Nq-SB$dFP5-d@qUlLlWhl)aau%K9z2rI)PWHAuBJ963@m~ZCXk8{p<&-tp#%gRax zLbe|&4>#Ah)$w2A;;+#bYV70R@B9r9?7#d(i56));?} zs~EF&&)uu-99=B>(cp<#9-ThgqYuu}+jmBk`PVhaW+OAv(URZ81J4I~_C0KAzy7Xu zu=VTA=g#5_Z(DPQtG_&+EQy`pQVF#q_xq#9g0kl2(6c`G$6(W|{@p@XsW3&a_>?Fu z{-m~@t9-K%k6m@1n&0CyPBtIdYa!%AzSy!DSS_p6X(Pa7<}`uGTseRGYBt6rfm&mlx8;p>BE!$p$%n4H+3p;+DV-b6Og{Ns&IO_ep6JV3a0~7Ks5pBUl(sR zACHiwbgFS$qngzOq)Dj0!H{TjzFd4_xHu68PPa1yB{1-$dNNTj1FztazSgFtSe0B`YkkBYg!qzn*1#xXNsl!@pF2D+fjNg29F&q_u< z(WhWzbb)1M``8PcSe2Enn}#BUU!BhyNd}r#Q!zsEyi&ppc#H!1al!=H0Q*x0F3|)* YU|nJWM(Chn=U)o37qeAQA-9K+KL{H%@&Et; literal 0 HcmV?d00001 diff --git a/.cache/clangd/index/SongQueue.cpp.E3B5F5C8C8F97897.idx b/.cache/clangd/index/SongQueue.cpp.E3B5F5C8C8F97897.idx new file mode 100644 index 0000000000000000000000000000000000000000..ae202aadbbbb13688ea3351ddf334890f5ecd75a GIT binary patch literal 2760 zcmbVOeNcVotqphc%*X`vC|b=v6B|<*rAopjn#EdrfhGz^KkR`a!yY2 zdw$A_Cv6nZ{MYAtX9w2@Y_epZj8!1l}xqGIn zSJ{4@{Oq~j`+c#wE#>vgH~b{Wu&3c>M#q6{dehA5?I$TBM-|4t(yV&GX zwv8YBN>lRpiM;vwlD_*7-~FiP=BW>wKYu&>9#8F>Yx((ju{z_kqqgVP%J-f6eq8); z_f)uITF!1-=v>^MzMrMaPqwVT-Q4-gZ`pDj)+`jy?u1|eqr4y=PCp|H{!TH7{R?85tUQuy=B*{fV0S zi)qtC+p)UFnyqJ0XB!7M&j0EL8OPxc9uwAa>#U-ia_g~J)P3}7{LAJCfB0sDio=&7 zTE(ffqK&dCfDZh4@~{8iH|yZ=<%m{r3X5o_%vzvZ{JoaN)3dw*&pXDlqj>*<= zxDC-3&SDbNsdN?4!K|J=m+}%fa(D`&bGclDC{O|mw7!EDZa+G*jl)+U+QWJDViuJZ z4|MmTJwKh{J9l$<8lt_N*D2;uIX0kMnLw+1x2}i7S0dW2a%;tm*o>vJeE4{KOz`*& zqOFL|l$om)ip!JaA^#|Suv(~uM)ln_WppfQ?;J|M)NC&|&ao^e&RBbZNzJ4>4XHj%O z6R^VLKp2XSxEP}ETo2zcpLjMEMOV_5T6iQB1w}_p4bf1?82no^!!n3K(Ge5Fa>56e zo%M@jJ~<=ESea955UD4#B@{A*av%dEgxRnYl#S-ooTt62ghJggTdYytuxF-8-Ed=W zc~t!k9&=Rvd2a?34AtM^`EdK(F{^S}JIbA<$})gV?-%Dvu6E8JiDd+} zPMrwtWCW|hngqvW1V_9>DGQgo2!L`zrBcTFaK_VQ15sG!ii6Da!g8HBZS^||t z$BfK59P{g8>%oaDyLx1d5W+(oL^HyAa=jKBh}y}A^8tYrlqqs0K&G*&f|`FGZaskn zm(gWQnS7&_a~itI(2aOJCHTk4N^yWt3z% z4Xe>e3AA!8Eg=W#P(T7kaMI4GJAjw-w8Xh+SJWL4B!dd620>*|E1^(sC|^Qlco`+3 zFdn9$K4=8-N(!6^=S9_uzR*hkRhItC?up;9j6mX~5~7eRNOhDdBV#m5s!X^^DIsgD zRVV4NDQpQ6vXgd=gtG7~C3Fq>C&}fE@()>{k^EDL7b+!GOcrY-H~Hm$m4pKFz!FLu zn_25DY`*+|-w-21AJzXk>BbyNpwVffrow18+9bs`lPyJ3<>Z_OK(*7C8b5hSe~&~7 zxpjfX9auu{G<$|UX-w*!U*UH{8GJPbUDMlFo|ih<#=+UlKKB7ZLG zYPZ!H(5FmzFsNM^&c1LpM#RJj^S{@&nyQ^E&{uVu7MIBhl8U9{*d#WQ)v@m5fkxaI71`Jjq9LM#)rs30*N*NP zbvOcKF({CLikO1&56GOuWHX3F90V4#m~5c)g(C}<#LX>3C_dOcr}Mkeq^I|MzUOyO z&+mS2g@5(xBCRAnS>a;Ua-M^@{WOO0nolP1O^H{|YPhDiDMJ5w5pZZ3Q6W^M0uuC{XDu1`wVJ@L%m zik=PE*%zg=Zwya)K8-y0@zOxa!bhZxku2|H12s+8!rqsYqj~LZ+Pnw~L&p^* z)VoaI)3u}YtY3`}zc-RuF+DjxJf;3s6Ic4)UJ={B;^){`FYIf1>eaICCd+#3rjfzf zme$30jDHWDyBuz=+ZyC29sMymusd2MD}+iC(`j{TVvzK_6OyE1$<4i+r#`!)H87%2 zO)!ZSCe=+{Ut!GV)Xc6ZqIVp(Owtx4>KRaU&Frpw{q%1Nc?(iR9GSeM% zrjvBUHe!{47t#Mb?K*RTJ+yNwY8VvpiUMQmvtt=}_wy@nABVyj|R z5g*+fIXLEgzn&2tVz1)OLEK5#b{5oIqKp_3yLImQu1%k@?;g4oj2ekKRbr-W(?f{? z)!*E$)|4F^|E1{^)AQ|&} zuer0q(Q|a@Ya>bH)#hxoD>0xtbhW?va*K7sNUS`jI;tiH#MRv=>x#23PBM~=oBI@B zCgM=wrSQRftdk9Mw#~UDQ6~Ngl%&ii+bCx6P@_-yH;@1Kk7MB-Fudbf_y!E$G#Vy6 z1BPdOweSl#F)oql^-&MYkw( zq&ch*k}~H)XC|H^Wp3iu!U)PdMo${#qs*J@&4Wyo`Ru-2w3yEx_C1Oj-UWUH@ebe! z*pg%6J}}(pSU3-iZ8;XM1H*NWh2y~ZTO13wfpHR!h10<3m&TBA85mvQtA)eB=rvz0 z1O|q?eD%Gip!S!j0A|B6$w#}ab<3j6EHN7e`Mas>Z`%Q!@$PCz{SbWDFG%JIGGt4SUDKESZBR(^G+-)yUfGD z4pbn*BO(qa7&uv&7z850|K(s5{KK zz1w^WuM0j81Pb$T^6QvqfZ50^-UNIcA>zPgob>i8T^FtTuQ@pFm86bbKgkBYs#^aRje zE+#Ixn~e^nemRztc^W9pBg7*MQw=i=7zLn+fhr(T zf6g%Pz6}%>$q*@oY2G6~t0!yr(K|q40Zsvam};qclW)rxbKeIF^YHP&4cWJH@AKCC z6W;<|BEcsC4=;wI)SN_+{l!Je#lawk0EmD9J{W_6ffvqX;_6ArD%SlNaD`2Pmz$4= PpMe`L$H0SN@*|i4WI=2e literal 0 HcmV?d00001 diff --git a/.cache/clangd/index/audio.cpp.D0B3798878719D8D.idx b/.cache/clangd/index/audio.cpp.D0B3798878719D8D.idx new file mode 100644 index 0000000000000000000000000000000000000000..a36530bf7f355135fef5adbf46cac9d9b5f7e36f GIT binary patch literal 3514 zcmaJ@X;c(f7OpOOt$uVDOE*i?>^n9~HL{7If~=x|h$x_dAd8^TfEX17;ovwXiilfW zh%qj>ASeQE*~T~$2h=bIMG=XjAUaXw0y2SlP0pqLHJk&7`+c|WyYIVSy;sqpK|yD= z2_hghbWKiLK{A^l2wnV}U!cmo&mxE+46NCIdVb=nZdd(x<1;%FTQ<)P@hvDjlyQq} z``L==INg|=@?0FdD`PKSJv8u+FIW7% z@MD9?nPc~!{mr)btgzM0;N+(ME@9)I2p99E3FZH6F~uf^c6@o;=M?`=g>h52 zY->}^^5LV&U%RJMFLoJKd^C4DzUR)=7e>8qWzyD^^Y-($y=%{T<2*uyt+dqgY^hkh zP&E7Hx+}!kbN2&xe$9R4^P*}b`gyDE`tR%><-Dq%`l@Q7aBdOHrS{{{Sn!F|mrFD5 z%6%`5)k+$2GY2|Dy7myYOWIw>U;cjI5zp~kmZl#pDK2x>o=RPn7Oz)EhM1dCpWyQ z?^4Lqg%3yWF-8As-SPck@hM7C@#D24Q*Gw;UDYbxVESgf@0^W)img8@a`@b4BLB0T z6jzcUe*Xv3o>}u1hbC>z2_{AuBUL(coplI4_5uFMnd5w)juX%{>4<4pz$YHrAa4DnVrFO?#%O9VlNe4^^qhMpD56?#ePmjGAp5k9~x0NQH zFc|d>031Ef@ukoNR^&E&q;c&vhmfDB|d{RX@}`zVX?l_kLx$NHJ8V| zCiQQ%hiK9j( zF(KxFWpTt8Yil?OM?%5W5M#nIpc&8DQ#81)& z5fD?%E*5~b5H>ZZj75Rbiz`abJ&QsztQ=pT?*KEpVCYizWyYvAhI3`PmQbrJh??Co zR$zx=FSeH+Y!DX4wosoWpdNINVf6_DFg%4Psy;aYMvNcZPYf#E4?E@@d(FlVyVTIk z&`L7`gOccE8(#k~bZ}`TE-5GFVz5SZq0o9$ z$(d*j^PTw9K~$JIE;*e$T@SWOO&o#HJeU-V_NhzHyPpgG(=9R61hHWWZ3G^j8czW64L7hysdTc|TPt+q7Vo3VYvG#CKCCb)948^7pEQ}akQkT-~ z*OBdr;E^M5(;Dw3d9TFFF>FQ`>^^=}EYrFmU5l67$U+-g#;{|=l(VREmLbHOuXg6m zd+%Dp!4@Twc(4n^qzY4YHBqK8^OH!Wtb1B7iTgOAiWLA61R_`~Q~vbOG((_U+@GkKZZ8CZK7FMifI`Lj#Sf7F-J< zNQ4cdYiXc~Y)M<5CbHw%O^S&a1+ADI8TP7agcW!dF;Qkw*6;%16VY^mmFCq?lqH(O zJ2#@8L_P>;+J!fpXPV~?O80Lo9~N8~-Gw(R>^$|Y z3WjX{XfQHR9`O|(uE0wW2n!&_-qqe0qRLnO<2m*1M{yT?fBt-cL3&(LeG@~;wg;by zs@ly?;OtfODmi39BRE@qF+;YzxFh$;m+eh>D=F?NUQioHJ}G{hDBU{U9wIp1aHYTQ zaHzG|?ah0iYQ;soa+Dy-6a)s@alZOWhwSVrL-W>t9K4LPlMR!dq0fSq*QSZQwzOeb z6{3m&7!G4xM1Ao?ktzLo?+4QTJ8(9i%h!X~EcvFr@s*uTH!++jNHm6V-XUtMt*cnK zFuX{xNDeh&ez>;!s{v}aKZr9MCk}Vw+31iuw8ozfYzJMKXEv+H=B9u4uQ+KLdzld0 zMN9@eV={W$(Uf)BwB;U7DiM?zYOae47Fog40YTf=wYQ~*+~~&brEpV>pwi|)gLp^wN2!VK5#KNCM%%xcfrJ>Am&vn(aCEGIQveP`<0>62P)4wuIl hP$E;2iAW-nisT{#k&(zyBoi5HBOS4YkY?!-{{yiQqeK7z literal 0 HcmV?d00001 diff --git a/.cache/clangd/index/audio.h.F9F96F778B99E274.idx b/.cache/clangd/index/audio.h.F9F96F778B99E274.idx new file mode 100644 index 0000000000000000000000000000000000000000..17442ea66989bcd5efa3e8e505a3b60a37b1a7f4 GIT binary patch literal 2382 zcmYk6dr(wW9LMh-*uDF_dzQzpc41jomR$uGT2Mh&L@)}(2TH73$LD<#ol3M8DT==~AvQYQOl%k@)K9 zz{7)H=2E_V>80DILgz+DO7M-gf^wOCTZOjUUV6wTxi+@zbMw7vhYkC?17rOjFWPgq zF%4IwXDnEM@>n%;69h*8ZwtH*q#q$>3^}=#7 z6L8jO`N)>lS-mSO`;4@vVEd3GBT;=SY{`&j)s8n;_o;tORqBsqhK}IgJA=mhs`i%7 zoY&6xzZ>;Kz@&RCqnh6G{;K1_QFDpubliC1NR&FayR|8I#^M?OHnd%?su|lCos_zx zWX{GX7yBBk`c+SBvx57w9ra6#e!ft=Leqa`7k*Nhz99bNx)Gcs+E;n2k8!OpUODW= zF!xU@Rr9KMi!qXtFZ$!H603%hPJ9%nS+C+{GK>)hJBE#M+iRBvCl7yj$d^UrNO(Vq zpF#)>IXv$gySJs?P59%3jcSG?4b(_25rWV_^%6Oj?Rol+%*q>^I21|-2;>5N zga8Am26yfhw=J*XPzbS&Dx;4Oz~)Mx-QHj=sK-bHvyWz@)nG3=crQB<#H2&+7~ zIbtDrMqlfwxi!TY+>DVJ@@;aP`_y%t%}qzkZyvx%3HEGuwm)?L{O)-8-0CYwG4ca@ z4m$^f9g_b0u?TPL_ZZ2*p2kgcZ|%A2%N+?rH_l-6m|Ho6)R@n!AK5vyd>Ve^1k=S0td>>!)iuNR<1!Bi4Z(1kGOd~;M-BvpBQN& zeBojyngn@J-Q^G-pr&K;c_C#4=l)P4^$7S}8z=N+FU96#`_a5TrG& z3?M^gAgyUx02vlQWLgeDhDsn3@w5Vf3>AR%P00rt$VcA1PNSO)eaiS3HwE}7xs-dz zg|&;2z&psmJCaXu?mhzpGDu)8z&x2e1s-xLx-P9-{3vphNXgrfO$O*e0U)g@{V)=M zPh?6x$N)TC1JttqG=1EZuh zWfNq$znCRquHX K_PhpoUjG9wGklu> literal 0 HcmV?d00001 diff --git a/.cache/clangd/index/main.cpp.6CC56DDB3575B3B3.idx b/.cache/clangd/index/main.cpp.6CC56DDB3575B3B3.idx new file mode 100644 index 0000000000000000000000000000000000000000..b83d0bf5bcf509320dbfc554ee9f8878014d558e GIT binary patch literal 914 zcmWIYbaU%sW?*nm@vO*AElFfyU|C)aCR_^oPZ>{BjJg0D-Ozy>x zx3pxYHZwkcTobvZoPToCw7)N|d?_yz+dlc}uXhix-#qbr^X7;r`A4&=#9rsv%+(Q} zJMrMLYaEx}nsQ3qUbXfjOUoptCF`H<6{{}!aAQ)Kc$ng?1aA`uw^w0`k0*Ux{#z$? zPs*G>_t@7+Ztt=FvaM8Tr;_=uj2Ri)t!(=R`3~l+Y>TSMULd$hNVRH0)Qlk6?T=om z{hU(6=G#A)Io!PG_X4-2ne5FPc3)=Q+fr_HuiHmycAMkt$CXA3k9*>de*F94Q)vXx z{sP}+wGThKeUNGUucpAivh)V`oNZUScOTubdEKj{&$hlhsynZ`==LV@?P{S(A7ra% zyx1KR`;%>H`{L?fpY+U@^L2lGGizya;6wjQh9>##(~q2q;Yu#>yrPCZMtmMX71U z>cBXjah%&IZN+sVMjj7BB4$>9yp_kx7Q*~P_S!o~Y;T+61QR}-W_-@6^J5)e2f!3Fa-n#=@X*ZZ64{)WfHsM-i1EQxnO2{vO62-|2d|MZ zzX6Q|g&8ckfZ>&s2;vkMB^N7$7>XbQ0>FGQlUYgjv9x=-DO)v@qB28rZc2_OP+Uk| sgo&Ajm5rT)lZ#J|PlivFPmE8NPn=JZPl8XHPl}gEkYAo#fKiwM00cB%cmMzZ literal 0 HcmV?d00001 diff --git a/.cache/clangd/index/song.cpp.0710647CC76D17C2.idx b/.cache/clangd/index/song.cpp.0710647CC76D17C2.idx new file mode 100644 index 0000000000000000000000000000000000000000..6a34ce7afd76fbef504507efa9dddcc2b1967357 GIT binary patch literal 718 zcmWIYbaOk##K7R3;#rZKT9U}Zz`!5`#Kk2=nGK8#3<^MjiaARs-OYPsAkg~P?!?Tu z@4CV~?wD-Q&|CqkJ}T? zd$No*g*N--QoZADZHi-5Ps{8muFOrc1IEXR2dgC0p0o;yF)1iAC^4}yaVg6%$*?hS z0Of$->ithsYdI3y#F@Ky38=?qSUnFHlQ+?DU4iTBaT~f3Rq7}@p!&- zxk|0tVMRtBC3yyUHkc}yGz*Us69W?qOc=-mS`U-tQBr15W`WrcKq@CW3w88{!`ie7nYpyp@Bg3QwQjrbjnC(K#_qY# zzjAeX`AD*<ov!HpW`ES`zns=9ci*;I#>Sv&{IRTN7q;U zS}}Ot<4Cj*4^ObJp%VyuH4}wJ7jD-;p2q;`S?hOGD@F&qP1V zN*wBs^`~E-Uh&e(r0F#`s(L%Vimt2u(!A_}+1Kh{-gR}*y`gXH?n!m=6U#?N>&8sM z%&v8R9($|hpIb8-x-ZUS>ZanVdv8}CzgYTQ+lI}TXI5E%%IR(NJbCrVJD*zS$Jv^! zTk)NR7@r*Fj=|t$M+eQy}|S*pT+lt19}OGdF3?(EM_s51xCtVd&|ilbmtVPQ#fY2YT~? z?xSma%Fb}+C7r6Ky5&IYqZ=Dee^>r9XQ`xhL-)&pj?~PqKUT1Fjx!Hwx8V-Sfi8A< zqWPO@e&@_Z+F>|?a-c8n4qsbvsPYeuSxD#ee4iZX=2$$@$^JVpCYwAb2m$BBWS8dy z80UkqI2^z@7lg&30LFPBEDi%O&H-U@2!PQ)VG%ztx+g562S)FNMeM-noY`gHz)n3c zl$VW&LCtq6mys)q^M6mksppz=Ra}Z&>EDU?fzdr-5j`+^CoEzIM&~AzF8T&W-*mNz z8yH;^7EuGEXTl<8V027aL=23635$4v(Jf&SEiiherzc_scIx3!cnQ8Ms-=5HvbYGf s5*Dcfqf){mQDD?bSfmNu9BbGrevL%);|T|SGQFg$%(ZmIjUh$(7cUI3oB#j- literal 0 HcmV?d00001 diff --git a/CMakeLists.txt b/CMakeLists.txt index d74d2a1..4da0f8e 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -60,6 +60,7 @@ target_link_libraries(CryliaPlayer PRIVATE ${SDL_LIBRARIES} ${SDL_MIXER_LIBRARY} PkgConfig::LIBAV + fmt ) install(TARGETS CryliaPlayer diff --git a/src/View/Modules/PageNavModule/PageNavModule.cpp b/src/View/Modules/PageNavModule/PageNavModule.cpp index 3bebd8c..9cc59d8 100755 --- a/src/View/Modules/PageNavModule/PageNavModule.cpp +++ b/src/View/Modules/PageNavModule/PageNavModule.cpp @@ -2,10 +2,10 @@ PageNavModule::PageNavModule(QWidget* parent) : QFrame(parent), - home(new PageNavigator(new HomePage( ), "Home", ":icons/home-outline.svg", "#81D4FA")), - localFiles(new PageNavigator(new LocalFolderPage( ), "Local Files", ":icons/folder-outline.svg", "#FFE082")), - playlist(new PageNavigator(new PlaylistPage( ), "Playlist", ":icons/magnify.svg", "#CE93D8")), - settings(new PageNavigator(new SettingsPage( ), "Settings", ":icons/magnify.svg", "#C5E1A5")) { + home(new PageButton(QString("Home"), QString("#81D4FA"), QString(":icons/home-outline.svg"), new HomePage( ), this)), + localFiles(new PageButton("Local Files", QString("#FFE082"), QString(":icons/folder-outline.svg"), new LocalFolderPage( ), this)), + playlist(new PageButton("Playlist", QString("#CE93D8"), QString(":icons/magnify.svg"), new PlaylistPage( ), this)), + settings(new PageButton("Settings", QString("#C5E1A5"), QString(":icons/magnify.svg"), new SettingsPage( ), this)) { this->setStyleSheet(R"( background-color: #282828; @@ -23,35 +23,35 @@ PageNavModule::PageNavModule(QWidget* parent) : layout->addWidget(localFiles); layout->addWidget(playlist); - home->select( ); + home->Select( ); PageManager& pageManager = PageManager::getInstance( ); - connect(home, &PageNavigator::SelectedChanged, [&pageManager, this](Page* page) { - home->select( ); - localFiles->unselect( ); - playlist->unselect( ); - settings->unselect( ); + connect(home, &NavButton::SelectedChanged, [&pageManager, this](Page* page) { + home->Select( ); + localFiles->Unselect( ); + playlist->Unselect( ); + settings->Unselect( ); emit pageManager.ActivePageChanged(page); }); - connect(localFiles, &PageNavigator::SelectedChanged, [&pageManager, this](Page* page) { - home->unselect( ); - localFiles->select( ); - playlist->unselect( ); - settings->unselect( ); + connect(localFiles, &NavButton::SelectedChanged, [&pageManager, this](Page* page) { + home->Unselect( ); + localFiles->Select( ); + playlist->Unselect( ); + settings->Unselect( ); emit pageManager.ActivePageChanged(page); }); - connect(playlist, &PageNavigator::SelectedChanged, [&pageManager, this](Page* page) { - home->unselect( ); - localFiles->unselect( ); - playlist->select( ); - settings->unselect( ); + connect(playlist, &NavButton::SelectedChanged, [&pageManager, this](Page* page) { + home->Unselect( ); + localFiles->Unselect( ); + playlist->Select( ); + settings->Unselect( ); emit pageManager.ActivePageChanged(page); }); - connect(settings, &PageNavigator::SelectedChanged, [&pageManager, this](Page* page) { - home->unselect( ); - localFiles->unselect( ); - playlist->unselect( ); - settings->select( ); + connect(settings, &NavButton::SelectedChanged, [&pageManager, this](Page* page) { + home->Unselect( ); + localFiles->Unselect( ); + playlist->Unselect( ); + settings->Select( ); emit pageManager.ActivePageChanged(page); }); } diff --git a/src/View/Modules/PageNavModule/PageNavModule.h b/src/View/Modules/PageNavModule/PageNavModule.h index 8fce25a..20871e1 100755 --- a/src/View/Modules/PageNavModule/PageNavModule.h +++ b/src/View/Modules/PageNavModule/PageNavModule.h @@ -4,8 +4,10 @@ #include #include #include +#include -#include "../../Widgets/PageNavigator/PageNavigator.h" +#include "../../Widgets/NavigatorButton/NavButton.h" +#include "../../Widgets/NavigatorButton/PageButton/PageButton.h" #include "../../Tools/SvgToPixmap.hpp" #include "../../Pages/Home/HomePage.h" #include "../../Pages/Playlist/PlaylistPage.h" @@ -16,12 +18,12 @@ class PageNavModule : public QFrame { Q_OBJECT private: - QVector* pages; + QVector* pages; - PageNavigator* home; - PageNavigator* localFiles; - PageNavigator* playlist; - PageNavigator* settings; + NavButton* home; + NavButton* localFiles; + NavButton* playlist; + NavButton* settings; public: PageNavModule(QWidget* parent = nullptr); diff --git a/src/View/Pages/Home/HomePage.cpp b/src/View/Pages/Home/HomePage.cpp index 500ebb8..4dd8e5b 100644 --- a/src/View/Pages/Home/HomePage.cpp +++ b/src/View/Pages/Home/HomePage.cpp @@ -3,7 +3,7 @@ HomePage::HomePage(QWidget* parent) : Page(parent) { setStyleSheet(R"( - background-color: #28FF28; + background-color: #282828; border-radius: 12px; )"); diff --git a/src/View/Pages/LocalFolder/LocalFolderPage.cpp b/src/View/Pages/LocalFolder/LocalFolderPage.cpp index 0efacaf..552cb7e 100644 --- a/src/View/Pages/LocalFolder/LocalFolderPage.cpp +++ b/src/View/Pages/LocalFolder/LocalFolderPage.cpp @@ -3,7 +3,7 @@ LocalFolderPage::LocalFolderPage(QWidget* parent) : Page(parent) { setStyleSheet(R"( - background-color: #FF2828; + background-color: #282828; border-radius: 12px; )"); diff --git a/src/View/Pages/Playlist/PlaylistPage.cpp b/src/View/Pages/Playlist/PlaylistPage.cpp index a036a31..36f9d4a 100755 --- a/src/View/Pages/Playlist/PlaylistPage.cpp +++ b/src/View/Pages/Playlist/PlaylistPage.cpp @@ -3,7 +3,7 @@ PlaylistPage::PlaylistPage(QWidget* parent) :Page(parent) { setStyleSheet(R"( - background-color: #2828ff; + background-color: #282828; border-radius: 12px; )"); diff --git a/src/View/Widgets/NavigationButton/NavigationButton.cpp b/src/View/Widgets/NavigationButton/NavigationButton.cpp deleted file mode 100644 index e5bf25b..0000000 --- a/src/View/Widgets/NavigationButton/NavigationButton.cpp +++ /dev/null @@ -1,11 +0,0 @@ -#include "NavigationButton.h" - -NavigationButton::NavigationButton( ) { } - -NavigationButton::~NavigationButton( ) { } - -void setSelected(NavigationButton* newSelected); -NavigationButton getSelected( ) { } - -void NavigationButton::select( ) { } -void NavigationButton::unselect( ) { } diff --git a/src/View/Widgets/NavigationButton/NavigationButton.h b/src/View/Widgets/NavigationButton/NavigationButton.h deleted file mode 100644 index 2772088..0000000 --- a/src/View/Widgets/NavigationButton/NavigationButton.h +++ /dev/null @@ -1,31 +0,0 @@ -#pragma once - -#include -#include -#include - -class NavigationButton : public QPushButton { - Q_OBJECT -private: - QLabel* m_icon; - QLabel* m_name; - QString* m_colorHex; - - static NavigationButton* m_selected; - -public: - static void setSelected(NavigationButton* newSelected); - static NavigationButton* getSelected( ); - - NavigationButton( ); - ~NavigationButton( ); - -signals: - void unselected( ); - void selected( ); - -private slots: - void select( ); - void unselect( ); - -}; diff --git a/src/View/Widgets/NavigationButton/PagesButton/PagesButton.cpp b/src/View/Widgets/NavigationButton/PagesButton/PagesButton.cpp deleted file mode 100644 index a7689d5..0000000 --- a/src/View/Widgets/NavigationButton/PagesButton/PagesButton.cpp +++ /dev/null @@ -1,4 +0,0 @@ -#include "PagesButton.h" - -PagesButton::PagesButton( ) { } -PagesButton::~PagesButton( ) { } diff --git a/src/View/Widgets/NavigationButton/PagesButton/PagesButton.h b/src/View/Widgets/NavigationButton/PagesButton/PagesButton.h deleted file mode 100644 index 6f72cd1..0000000 --- a/src/View/Widgets/NavigationButton/PagesButton/PagesButton.h +++ /dev/null @@ -1,11 +0,0 @@ -#pragma once - -#include "../NavigationButton.h" - -class PagesButton : NavigationButton { -private: - -public: - PagesButton( ); - ~PagesButton( ); -}; diff --git a/src/View/Widgets/NavigationButton/PlaylistButton/PlaylistButton.cpp b/src/View/Widgets/NavigationButton/PlaylistButton/PlaylistButton.cpp deleted file mode 100644 index 6016e2d..0000000 --- a/src/View/Widgets/NavigationButton/PlaylistButton/PlaylistButton.cpp +++ /dev/null @@ -1,4 +0,0 @@ -#include "PlaylistButton.h" - -PlaylistButton::PlaylistButton( ) { } -PlaylistButton::~PlaylistButton( ) { } diff --git a/src/View/Widgets/NavigationButton/PlaylistButton/PlaylistButton.h b/src/View/Widgets/NavigationButton/PlaylistButton/PlaylistButton.h deleted file mode 100644 index 43c2584..0000000 --- a/src/View/Widgets/NavigationButton/PlaylistButton/PlaylistButton.h +++ /dev/null @@ -1,11 +0,0 @@ -#pragma once - -#include "../NavigationButton.h" - -class PlaylistButton : NavigationButton { -private: - -public: - PlaylistButton( ); - ~PlaylistButton( ); -}; diff --git a/src/View/Widgets/PageNavigator/PageNavigator.cpp b/src/View/Widgets/NavigatorButton/NavButton.cpp similarity index 50% rename from src/View/Widgets/PageNavigator/PageNavigator.cpp rename to src/View/Widgets/NavigatorButton/NavButton.cpp index 260eda5..b178ebb 100644 --- a/src/View/Widgets/PageNavigator/PageNavigator.cpp +++ b/src/View/Widgets/NavigatorButton/NavButton.cpp @@ -1,20 +1,7 @@ -#include "PageNavigator.h" -#include +#include "NavButton.h" -class SquareIcon : public QLabel { -public: - QSize sizeHint( ) const override { - QSize hint = QLabel::sizeHint( ); - int side = qMin(hint.width( ), hint.height( )); - return QSize(side, side); - } -}; - -PageNavigator::PageNavigator(Page* page, QString text, QString icon, QString color, QWidget* parent) - :page(page), m_text(new QLabel(text)), m_icon(new SquareIcon( )), m_color(color), m_iconPath(icon) { - - - QSvgRenderer renderer(icon); +void NavButton::setupButton( ) { + QSvgRenderer renderer(iconPath); QPixmap pixmap(32, 32); pixmap.fill(Qt::transparent); @@ -30,10 +17,10 @@ PageNavigator::PageNavigator(Page* page, QString text, QString icon, QString col m_icon->setObjectName("icon"); m_text->setObjectName("Text"); - setObjectName("PageNavigator"); + setObjectName("NavButton"); setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); setStyleSheet(R"( - #PageNavigator{ + #NavButton{ border: 4px solid #414141; border-radius: 6px; } @@ -60,30 +47,15 @@ PageNavigator::PageNavigator(Page* page, QString text, QString icon, QString col } -void PageNavigator::unselect( ) { - setStyleSheet(R"( - #PageNavigator{ - border: 4px solid #414141; - border-radius: 6px; - } - #Text{ - color: #E0E0E0; - } - )"); +NavButton::NavButton(QString text, QString color, QString icon_path, Page* page, QWidget* parent = nullptr) : + QPushButton(parent), + m_text(new QLabel(text)), + m_color(new QString(color)), + m_icon(new SquareIcon( )), + page(page), + iconPath(icon_path), + color(color) { + setupButton( ); } -void PageNavigator::select( ) { - setStyleSheet(R"( - #PageNavigator{ - border: 4px solid )" + m_color + R"(; - border-radius: 6px; - } - #Text{ - color: #E0E0E0; - } - )"); -} - -QString PageNavigator::GetText( ) { - return m_text->text( ); -} +NavButton::~NavButton( ) { } diff --git a/src/View/Widgets/NavigatorButton/NavButton.h b/src/View/Widgets/NavigatorButton/NavButton.h new file mode 100644 index 0000000..649c3fe --- /dev/null +++ b/src/View/Widgets/NavigatorButton/NavButton.h @@ -0,0 +1,48 @@ +#pragma once + +#include +#include +#include +#include +#include +#include +#include + +#include "../../../View/Pages/Page.h" + +class SquareIcon : public QLabel { +public: + QSize sizeHint( ) const override { + QSize hint = QLabel::sizeHint( ); + int side = qMin(hint.width( ), hint.height( )); + return QSize(side, side); + } +}; + +class NavButton : public QPushButton { + Q_OBJECT +protected: + QLabel* m_text; + SquareIcon* m_icon; + QString* m_color; + + Page* page; + + QString iconPath; + QString color; +private: + void setupButton( ); +public: + NavButton(QString, QString, QString, Page*, QWidget*); + NavButton(QString, QString, QPixmap, Page*, QWidget*); + ~NavButton( ); + + void SetText(QString newText) { m_text->setText(newText); } + QString GetText( ) { return m_text->text( ); } + + virtual void Select( ) = 0; + virtual void Unselect( ) = 0; + +signals: + void SelectedChanged(Page* page); +}; diff --git a/src/View/Widgets/NavigatorButton/PageButton/PageButton.cpp b/src/View/Widgets/NavigatorButton/PageButton/PageButton.cpp new file mode 100644 index 0000000..0b0bb63 --- /dev/null +++ b/src/View/Widgets/NavigatorButton/PageButton/PageButton.cpp @@ -0,0 +1,31 @@ +#include "PageButton.h" + +PageButton::PageButton(QString text, QString color, QString path, Page* page, QWidget* parent = nullptr) : + NavButton(text, color, path, page, parent) { } + +PageButton::~PageButton( ) { } + + +void PageButton::Select( ) { + setStyleSheet(R"( + #NavButton{ + border: 4px solid )" + color + R"(; + border-radius: 6px; + } + #Text{ + color: #E0E0E0; + } + )"); +} + +void PageButton::Unselect( ) { + setStyleSheet(R"( + #NavButton{ + border: 4px solid #414141; + border-radius: 6px; + } + #Text{ + color: #E0E0E0; + } + )"); +} diff --git a/src/View/Widgets/NavigatorButton/PageButton/PageButton.h b/src/View/Widgets/NavigatorButton/PageButton/PageButton.h new file mode 100644 index 0000000..0bdf26c --- /dev/null +++ b/src/View/Widgets/NavigatorButton/PageButton/PageButton.h @@ -0,0 +1,15 @@ +#pragma once + +#include "../NavButton.h" + +class PageButton : public NavButton { + +public: + PageButton(QString, QString, QString, Page*, QWidget*); + PageButton(QString, QString, QPixmap, Page*, QWidget*); + ~PageButton( ); + + void Select( ); + void Unselect( ); +}; + diff --git a/src/View/Widgets/NavigatorButton/PlaylistButton/PlaylistButton.cpp b/src/View/Widgets/NavigatorButton/PlaylistButton/PlaylistButton.cpp new file mode 100644 index 0000000..01fd435 --- /dev/null +++ b/src/View/Widgets/NavigatorButton/PlaylistButton/PlaylistButton.cpp @@ -0,0 +1,30 @@ +#include "PlaylistButton.h" + +void PlaylistButton::Select( ) { + setStyleSheet(R"( + #NavButton{ + border: 4px solid )" + color + R"(; + border-radius: 6px; + } + #Text{ + color: #E0E0E0; + } + )"); +} + +void PlaylistButton::Unselect( ) { + setStyleSheet(R"( + #NavButton{ + border: 4px solid #414141; + border-radius: 6px; + } + #Text{ + color: #E0E0E0; + } + )"); +} + +PlaylistButton::PlaylistButton(QString text, QString color, QString path, Page* page, QWidget* parent = nullptr) : + NavButton(text, color, path, page, parent) { } + +PlaylistButton::~PlaylistButton( ) { } diff --git a/src/View/Widgets/NavigatorButton/PlaylistButton/PlaylistButton.h b/src/View/Widgets/NavigatorButton/PlaylistButton/PlaylistButton.h new file mode 100644 index 0000000..bff6b00 --- /dev/null +++ b/src/View/Widgets/NavigatorButton/PlaylistButton/PlaylistButton.h @@ -0,0 +1,16 @@ +#pragma once + +#include "../NavButton.h" + +class PlaylistButton : public NavButton { +private: + //!Add Associated Playlist +public: + PlaylistButton(QString, QString, QString, Page*, QWidget*); + PlaylistButton(QString, QString, QPixmap, Page*, QWidget*); + ~PlaylistButton( ); + + void Select( ); + void Unselect( ); +}; + diff --git a/src/View/Widgets/PageNavigator/PageNavigator.h b/src/View/Widgets/PageNavigator/PageNavigator.h deleted file mode 100644 index 566b911..0000000 --- a/src/View/Widgets/PageNavigator/PageNavigator.h +++ /dev/null @@ -1,33 +0,0 @@ -#pragma once - -#include -#include -#include -#include -#include -#include -#include - -#include "../../Tools/SvgToPixmap.hpp" -#include "../../Pages/Page.h" - -class PageNavigator :public QPushButton { - Q_OBJECT -private: - QLabel* m_text; - QLabel* m_icon; - QString m_iconPath; - QString m_color; - Page* page; - -public: - PageNavigator(Page* page, QString text, QString icon, QString color, QWidget* parent = nullptr); - - void unselect( ); - void select( ); - - QString GetText( ); - -signals: - void SelectedChanged(Page* page); -}; diff --git a/src/main.cpp b/src/main.cpp index 6e0d5a1..a488350 100755 --- a/src/main.cpp +++ b/src/main.cpp @@ -3,11 +3,12 @@ #include #include #include +#include bool CheckValidFile(std::filesystem::path path) { //Allow to start with a song if (!std::filesystem::exists(path) || !std::filesystem::is_regular_file(path)) { - std::cerr << "ERROR: Path or file doesn't exist / is valid" << std::endl; + fmt::print("ERROR: Path or file doesn't exist / is valid"); return false; } std::string extension = path.extension( ).string( );