From 6f379c4913236933ee0bffdac0d00732604c851c Mon Sep 17 00:00:00 2001
From: Kai Folf <git@fcd.im>
Date: Thu, 1 Aug 2024 10:37:20 +0700
Subject: [PATCH] =?UTF-8?q?feat:=20pizza=20cursor=20=F0=9F=8D=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 contents/images/pizza.png     | Bin 0 -> 4458 bytes
 contents/ui/configGeneral.qml |   6 +++++-
 contents/ui/main.qml          |  22 ++++++++++++++++++++++
 3 files changed, 27 insertions(+), 1 deletion(-)
 create mode 100644 contents/images/pizza.png

diff --git a/contents/images/pizza.png b/contents/images/pizza.png
new file mode 100644
index 0000000000000000000000000000000000000000..245df2671d0ed6afb35d326ced212bfc8bf451f9
GIT binary patch
literal 4458
zcmV-w5tZ(VP)<h;3K|Lk000e1NJLTq003kF003kN1^@s6aN?Cz00001b5ch_0Itp)
z=>Px#1ZP1_K>z@;j|==^1pojM6iGxuRCr$Poqcc|<$cG0_af<J$+FKfvd)raj+nS4
z2ERdV=s3k;8Uh|dNN3Wf8QK9tY11|x+9or3=|7#xWZK3FCB!sMfC(9zrkRlD&C~=O
zCI*A*7hxpg7~9A`TSz`Ebb2}Kd@s6wzt8U8?e5*_UUVnjiTilI+GqDxd)nu_&-?SN
z9TPA9iIkTaeVYrXzAY5{^{l_2Na_JFHW(7`+7@lc<<d6lry2YA&wl+(tmi-Yk1xpZ
zxrn|8k_kPK1BbrNL9ww@r^3_?sWR$@R2g+cs*JiJRYu*ADx*+CmOxi%!8(-$hOl0p
zSF50pLVgIwm_MsiPKwF0J_!9M^f9QOS}H`Lh73ag0U?FRzeE26eE^~{nT_E(B~wfa
zIRpJl3(8FpP5BD65o(3%#*~3#3^@;d3o<%xywH6pNB#@q_A02D>($9ZF%cMpPC`Fd
zduiSSeGU3I=vHVcRHsCWeWHU9Qba11n4uXo>z|?Dh3dwXK(U4}mAnDjQ;C_sgnkOK
zHbzsLpgIKtL+D9S`VI6FghmLJaRNcRMIMJ}+-(pCDGYH$z^pnZj0h|irjmVHFekh=
ztHw`5%*IgY*U3kzhR_U}QYfE>eynfVmZ_72QVk)`LZ`K0K`@0drLa=)=TP04ER<r1
z(TVj8^kyRI6tlt;QM(*wC6aOj^mS+tbQdm#Lf^O~_3oyWNe<?M_-;h%SFu%nTY<h2
zIq^JuSr9%pthS_QqfdIacgk99Jxe|MQN^^&G4nFE{{Z!=BN@+#-6ZSh`2G}&VUmOE
z^Y>n>2Mfl0$=47ce}-+xfjxcF|Fe@aIuw%e3sc&sI@}K&8IkexQ_{4wLE2War$y1=
zbR?N|-3eU@jo|W-8B>fataoJoG!lwP^YTV*$EihZX7t))WcKT4Vm*J~ug=KSL|oq^
z_UqZmbNPIaLm@muGXj0-6p;(2n%>8c%K3g<oQrfqe+})0{uO%HmM@N{b}}wX$JyH0
zIXN7DW8z|1wai_49*_i{5dS8h_;2b|Th|gx76xW`1$Jbz9rGQ?=AQK#T69^~eLL5P
zXL)nUYFg6Rio5Qb42C!Hg86PIi9aYbf-EiO5dRH6aW=U1PYhHHFNbzQe+W%NCm{9`
z0P7u@{a*}OmTQ;St!|`Ljh>sFicZDGVa&%aUy3yqVhHheB0)8XtXRWNV>6Z;qA`B}
z-45~5gfR}?7>z||$XruM+o~2SVx*En4Ph!_3Ta*K6_@3gGH!@5+y&{zI4)qz_K!Nz
zeD<O+WY-l)ArpAoOBGYfcw{OWON87mxn+7fzKoG>$Q~hvA!PZ=W@-1skVdz<4GOg`
zo{<vUHc14b2B;(HmRoUX6Lbz5GH2<R@b@fPR^x{J)h%nJ6;FDpa(j_dG({8Bao^=g
z;`*6*I+pCFm<{n=?UgImUm@<MbU6Y;^pFP4FyX?*SZcE-vK{JxAxteSXJmSO5g2l7
zyIZF4l$WZ=JJ6UCBPAS9I6e@Yj-?6)d#!7Zh8Qv25<EHD9e!u}y2wOy<C5hbR@H(q
zWU|%`aXf$jHF~f#Y$H{xhmVilA07>V0j8*!u^Yl_ufgWq{Ic=m8^z^LM;lu1dPsv=
zmcj6$5jlQ9>j^OMELYX$*P&<E-{Svq`<j-+2v65)wb${ZyUN`LOI$y8F8okvB>a2a
zbD>}{lfXaX-_nJ)NVlxp?o;~)W&=p%?U33Y`0juNUJs&T=8>6rIs%N_Z(G?SUDtLT
z^u4d+asSq?0UYY(aaW^#oL`OMn5Zs8To3H@i>K97MmfhqZ-p;=S{rYUOvOA-J?k(?
z>Pgz`Ym+T^UL#Ih60&De@k<eT>T~;L{Oz#Xcf`%vLpp;%m0K>J39XT++$s$Yk9Tz&
z8<b<XzV#QxmM3OpF?nLlc7EB*kUQ5jOJoXVK-qLT-n^`_Au<u$3PXCb8DgXknlhUq
zV<VID%J=$HW)S=HZNL4{(4<@9vdO=_`)=$8aQ#tiC)9_EDmSD8DFkX9bGYO(Quoc#
zOYv0Sh!bVSTGegRtxQqJW-;XW{x{{sug~gx8u<)ijuIN4lu%&84O2dX>;FEEvckb^
z47}S?NGOi>3G$U0=T!63rj;`@(M?TDTtZ!SLzis0ZJoonp#$H{Z$|{rQmZ=noqmap
z$6x~5BFUt<68t6W`AmOiC3y-0p$n7Z-|CYk-X<1OABMI<XK=<4gfB5<Cr^x3*bv8o
z&t9(w%S5_N<7|`d;j!>zT{rmDczXA>sw30#C*`VDogWBFFADO|NC-7GbH!lxLepG}
z+xCeKvT@fseNS--;*{8LLdIyPEe5sk&rM|ub;pS(IGw7DSZ}YX<LdU$V9TLfgQ5(X
zMD}B)a6`JT>5yGt<g8Z<ya3IhDeUeKKv76%fejfuQ0`^X8E^!Qql)Z{BGq7s0gd@G
z#7P@t5R6$^L!69|3hOwu7mDk$e6B@+No=%3u4b1sdz%r#Xt|h_iC!3`lx8NDHFC@+
zzZc>Z*q=Zw{Cl(rpG}n|-{Vj&{ulbC7Ay?k`gT237}?D#2zK#rgZ>-(Cx{gQOTjar
z%$Fg|8aQpJC^}(EOPhT}(TZV&wcyw2d|y$f(iqMU_y)w`WW$&SXx^AFLrC$dWK+9z
zthEndSuq=7P9?r|?a)enuPA83-$I5lTselUY<`S!eg59-uwhA4F(KnsLTquH<dbI_
zw`H{~EhpL=hT2v%qg{arM^TFwxXQvA|K?Ui673j6gpE^oqgy(zS}E`U@YRxZs<D)`
zVwX|wCem^?<obLCw9V;qF*~EPblZVPcnm*N|Mu-KbHlKNX+WjIstBWyPuqHRqyUz!
zT83v6zlM8e3p`(%rWrlg`DDkZHfsm$IoXUBd4X4hGCmTP*Pi~Z1paSG9QclLTz}ar
zE;vr%fFVqxG==iw4vZLQtxU2QvKl`);e)bQ5%U^Sfwuw83i9b0E>mC|VD`d6ClS>g
z7(6m0gD;+!a40Onvsw>uHr{)aKWzpvWi-RbgL3NGfHEVEsmcm^w)V){?H$syu|w^<
z8XK)uE2sPxKRIiY+3)EGzxcu_RC{R_+gl$*(lSruVZYBy&=>S@)fob2ZpM$lgYHnf
zc`yty7<_S184^6D9#9qTTHhhvn>y6idnL<e6S^TZqwo6zGG=ZwC~W&~?Kz<#J094O
z%@AXf#p&==^qDVx<={;)<VO7%5=hS4-h<FXRcMH?Z|N?G3r5>`z>4+$?c*c)aM^A+
z9E`}>{$U9m9+3dH_5m|{o@TBXY`)_f+4Aw+19%UAqc72W<h=C)_6WCrA6GDQK~oyr
z`SV%JGT;<PCi~-RZyqqr$cMcxGk9ny+bl~3%#hxr!}by?AAbSeuLZL+pM|;^<`e8c
z+5y>?yjdS9)_e?@?Y#QKHzaTf5ezxp4w)RClD3Z2Twy__%EGBv&Po41u2t2@d;+y2
zG=o)WqqasOQ<tR~l?1`}nC2rJX6SpiBxg?{nQ##kJ2<D+p6&dFGK90SSqtGB_ii3Y
zlWE9N<o$g=9FUQLpj<c^LhWcuDR5|5E}R&a$zfcMkp^SThD0xmyoy@XcrZQrJC`9&
zeQP#^M5iLsz1f#C#A*g9+7K2}Y$zX9dkb#}%Lv{?648}JjU<UoI@zorQ-ydkfx4xx
zgOBye*;hwo^sPxX%Ox30qUJi2(sVc`!8bz^3QVf<v}JX(#A0!!nPglBesWwQm(tbJ
zOhdHqHN?-&y4bx!+FISx?Qu!(O96TMIZm=L{SG74EFR7evpT+}B!kSqZ~k}-;tY{<
zYA*{1zSXB@nM{nPhj0z-`Tgj*keqm75awCSidZyft*0n@`-AfE6Z)Xz-1!}So54aF
zLRd$C9(qUZnFt(1IbmA#V~6>DHd6uzt%YzjVy(56Lhs?Snn92wWM`obVJbNYSyBnj
zIQvTeT2ZzR#Q;)>Ih8bevfrY4+$0}N9c3ot0W`p0%O_|)l>z5Zv4B&5WF#JuXna}%
zN03(|%yxrW21e@0_PIHgu!GTqijpA%^R>*-C_}?emmEHW252kFVMBI!9kXb(S=r%3
zn3aW2A%rirc?#khkb=pUWf?G)7;H0lqZG-2s{swuVw)NTk#miIH5fu@1{;eil?=U-
zy)kAdTb7lLQcT&eccD}O-sg|BU?$aKNJ*)rP`a=4DHTcu&0u4g6Zmq1cE|=jxZtq2
zu-%nRY)!hQ=_FDKS2bilG4@Q`N>j5(+-|pQxx+7<!|mpNlUuI5ag8i(_sCnn35l!0
zol>NyRT5rLN{6`GPQR8ybr$CSzKk-%ev0+;KZ2gO9kZxfQV3z6I=i%s9_lR={|>)=
za?kCu<AE(|?Yy01{Uegu;wc+{59Q3N464Zx!VX8iI&i|jrSL4qjxm;zi=K_0FlDnc
z=TGn1qEumM24C`)mufSFspK@wc$UkiON9eW#qi`4M^);m5FDE?$P9uqq~c@hMJd_n
z9+n38<V?b`%@LIq6G5~^OnH7R5f}5AI?D|6=l&f&@ongoCEixt9gaC>)cj#X9Ai(-
z%7T9I%%D8icTpl9k5b+;qd0y5eM$=!Mzy67gVXK)<$KrP=9iw$g=bwncl}Pkw6C#^
z8s^~O;UU@kOY4fPGD0){7%IxuYBl5(v<Ie~+VSbl1)0Kg*52qV%8cE+)gr4(a0I$n
z3l_&h4B^g7!etp#{fxxrU$AxaO+#m29+p_dItJc=Y=%bkY|dWhXwy~Ga7fr}hDWUz
zHIZ*_ZhmM62cbCAzG$k>5F1{RnM2s}RkVuf>4e0lqY{n8q|wu$=5Eb~eN6r+3h&)t
z)5eArb^}<HnaP*oSkGrKBpY^btGyDa)-20_jm1YHV=ad=p~c%GUf*)HEr!Fd*~};}
zG~*ViWHU&$8$up|QihZY&3N?N6*ptfgC@0L2${1f6*PmC#SBsdhB&#1=I78cXxzNE
z#9m+%mKkP^y&aNI-m_OCQ=CPD6If=L#WKJwa}y+gg*Ab5J_HR|erFD<l@vl)mb|G2
z3+J)#R-^-&ur_cHRMd?AeAJR59D8RguHgQ^ucB((_d1uUR|J~zJuO&1YRM2%a4Ml0
zFQdItA-)8a-3$UljIr*j6>`>;_#evr0!j^8*vkx#n}73>KIt16)f#>FGQ*CZcc+vO
zhkPCSvZdT9qiQXMFh*y6qxSBH`sCn|{4-Wcgi}B{bH8HLnjwU#gkvU_fj#o*o{F0B
z9P~F@uyWL*AtWP}9PS%|Dr&|qh-2av#WA+Os{68L<4Ndl&H?N_G9nK@WHkJ2<wPOn
z!fZIyoH4%iAm`+^a#E`)gzyd6L70(Dn^AT+8)n|jAhm2rKeP{KuzperXa<+x&6^p-
zao-$YHNL<+Ieac+o99%PEXy$Cw5pEIBaYkOqh8rws~m$kDIhoY2+eO0d%XB2?E`9W
zo~h+5iz8FBn^8PWUJGUhsbxd>CZBRbGx)BP1v7)xvLWS$W^jJ-f>O(d6xOe9^idhg
z&gUS_482cjp;XI;aQexwwcwoK+wRz=sS0X6%bM%N?C(RL)q>SQtsAl%;-tD#pc%8S
z)mR9e+48X(60@yOK)F|C+J8rbZ}Z{I!bFbG7mUSF%i>yh_QV#tRF-D&6;Za=096Nz
z!4N`I_}@J2fihnjromSIM<6!*s?rSNxP4tscb#Ob%JP+PoX+`vwdatF_{o<g(~!*b
wt00>)Q~QQ2G8RjgwP>gtQf1T)sVYSNAM^)JmutQMq5uE@07*qoM6N<$g3m#B=>Px#

literal 0
HcmV?d00001

diff --git a/contents/ui/configGeneral.qml b/contents/ui/configGeneral.qml
index 82b4a19..b7816d8 100644
--- a/contents/ui/configGeneral.qml
+++ b/contents/ui/configGeneral.qml
@@ -7,7 +7,7 @@ import org.kde.kirigami 2.5 as Kirigami
 Item {
     id: page
     property alias cfg_sharkleColor: sharkleColor.currentIndex
-
+    property alias cfg_pizzaCursor: pizzaCursor.checked
 
     Kirigami.FormLayout {
         anchors.left: parent.left
@@ -18,5 +18,9 @@ Item {
             Kirigami.FormData.label: "Sharkle Color:"
             model: ["Black", "White"]
         }
+        CheckBox {
+            id: pizzaCursor
+            Kirigami.FormData.label: "Pizza Cursor:"
+        }
     }
 }
\ No newline at end of file
diff --git a/contents/ui/main.qml b/contents/ui/main.qml
index 2248cbf..08dda92 100644
--- a/contents/ui/main.qml
+++ b/contents/ui/main.qml
@@ -19,6 +19,7 @@ PlasmoidItem {
         property int soundIndex: 0
         property bool isIdle: true
         property string sharkleColor: Plasmoid.configuration.sharkleColor == 1 ? "white" : "black"
+        property bool pizzaCursorEnabled: Plasmoid.configuration.pizzaCursor
 
         Timer {
             id: animationTimer
@@ -57,6 +58,20 @@ PlasmoidItem {
         }
         MouseArea {
             anchors.fill: parent
+            cursorShape: pizzaCursorEnabled ? Qt.BlankCursor : Qt.ArrowCursor
+            hoverEnabled: true
+            onPositionChanged: {
+                pizzaCursor.x = mouseX
+                pizzaCursor.y = mouseY
+            }
+            onEntered: {
+                pizzaCursor.visible = pizzaCursorEnabled && true
+                pizzaCursor.x = mouseX
+                pizzaCursor.y = mouseY
+            }
+            onExited: {
+                pizzaCursor.visible = pizzaCursorEnabled && false
+            }
             onClicked: {
                 // Set animation to hello
                 isIdle = false
@@ -98,5 +113,12 @@ PlasmoidItem {
                 visible: !isIdle
             }
         }
+        Image {
+            id: pizzaCursor
+            source: "../images/pizza.png"
+            visible: false
+            width: 80
+            height: 80
+        }
     }
 }