From d449ec9175ba365566bbeac06eeb90dc272504c1 Mon Sep 17 00:00:00 2001 From: Jacob Pargin Date: Sun, 8 Apr 2018 00:49:53 +0100 Subject: [PATCH 1/2] Improve playback control button affordance For https://github.com/kmikiy/SpotMenu/issues/12 This adds: - button alpha change on hover state - more recognisable next/previous icons - smaller target areas to make it harder to hit the wrong button --- SpotMenu.xcodeproj/project.pbxproj | 4 ++ .../Assets.xcassets/Controls/Contents.json | 6 ++ .../PauseButtonImage.imageset/Contents.json | 22 +++++++ .../PauseButtonImage.imageset/pause-1.png | Bin 0 -> 1864 bytes .../PauseButtonImage.imageset/pause.png | Bin 0 -> 1864 bytes .../PlayButtonImage.imageset/Contents.json | 22 +++++++ .../PlayButtonImage.imageset/play-1.png | Bin 0 -> 6668 bytes .../PlayButtonImage.imageset/play.png | Bin 0 -> 6668 bytes .../Contents.json | 22 +++++++ .../play-next-1.png | Bin 0 -> 23946 bytes .../play-next.png | Bin 0 -> 23946 bytes .../Contents.json | 22 +++++++ .../play-previous-1.png | Bin 0 -> 81957 bytes .../play-previous.png | Bin 0 -> 81957 bytes SpotMenu/PopOver/PopOver.xib | 61 ++++++++++-------- SpotMenu/PopOver/PopOverVC.swift | 24 +++++-- 16 files changed, 150 insertions(+), 33 deletions(-) create mode 100644 SpotMenu/Assets.xcassets/Controls/Contents.json create mode 100644 SpotMenu/Assets.xcassets/Controls/PauseButtonImage.imageset/Contents.json create mode 100644 SpotMenu/Assets.xcassets/Controls/PauseButtonImage.imageset/pause-1.png create mode 100644 SpotMenu/Assets.xcassets/Controls/PauseButtonImage.imageset/pause.png create mode 100644 SpotMenu/Assets.xcassets/Controls/PlayButtonImage.imageset/Contents.json create mode 100644 SpotMenu/Assets.xcassets/Controls/PlayButtonImage.imageset/play-1.png create mode 100644 SpotMenu/Assets.xcassets/Controls/PlayButtonImage.imageset/play.png create mode 100644 SpotMenu/Assets.xcassets/Controls/PlayNextButtonImage.imageset/Contents.json create mode 100644 SpotMenu/Assets.xcassets/Controls/PlayNextButtonImage.imageset/play-next-1.png create mode 100644 SpotMenu/Assets.xcassets/Controls/PlayNextButtonImage.imageset/play-next.png create mode 100644 SpotMenu/Assets.xcassets/Controls/PlayPreviousButtonImage.imageset/Contents.json create mode 100644 SpotMenu/Assets.xcassets/Controls/PlayPreviousButtonImage.imageset/play-previous-1.png create mode 100644 SpotMenu/Assets.xcassets/Controls/PlayPreviousButtonImage.imageset/play-previous.png diff --git a/SpotMenu.xcodeproj/project.pbxproj b/SpotMenu.xcodeproj/project.pbxproj index a2cee80..3c1e54f 100644 --- a/SpotMenu.xcodeproj/project.pbxproj +++ b/SpotMenu.xcodeproj/project.pbxproj @@ -7,6 +7,8 @@ objects = { /* Begin PBXBuildFile section */ + 1601B34920793BBC0046B001 /* HoverButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64A908091EB784E400566ED1 /* HoverButton.swift */; }; + 16A21F9D20798EE80096D7DA /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 2133242D1D79801E0060D48C /* Assets.xcassets */; }; 2133242C1D79801E0060D48C /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2133242B1D79801E0060D48C /* AppDelegate.swift */; }; 2133242E1D79801E0060D48C /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 2133242D1D79801E0060D48C /* Assets.xcassets */; }; 2133243A1D79967B0060D48C /* PopOverVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 213324381D79967B0060D48C /* PopOverVC.swift */; }; @@ -758,6 +760,7 @@ files = ( 643746671F76B06900B16214 /* PopOver.xib in Resources */, 64185C1A1F1B8DC400CA23A0 /* InfoPlist.strings in Resources */, + 16A21F9D20798EE80096D7DA /* Assets.xcassets in Resources */, 64185C271F1B98C600CA23A0 /* Assets.xcassets in Resources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -864,6 +867,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 1601B34920793BBC0046B001 /* HoverButton.swift in Sources */, 64BD97A61FDD713800209B2B /* UserPreferences.swift in Sources */, E2D35CD11F60A08800EB5D67 /* PopOverVC.swift in Sources */, E2D35CCF1F60882600EB5D67 /* NSViewExtension.swift in Sources */, diff --git a/SpotMenu/Assets.xcassets/Controls/Contents.json b/SpotMenu/Assets.xcassets/Controls/Contents.json new file mode 100644 index 0000000..da4a164 --- /dev/null +++ b/SpotMenu/Assets.xcassets/Controls/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/SpotMenu/Assets.xcassets/Controls/PauseButtonImage.imageset/Contents.json b/SpotMenu/Assets.xcassets/Controls/PauseButtonImage.imageset/Contents.json new file mode 100644 index 0000000..352e1a6 --- /dev/null +++ b/SpotMenu/Assets.xcassets/Controls/PauseButtonImage.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "pause-1.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "pause.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/SpotMenu/Assets.xcassets/Controls/PauseButtonImage.imageset/pause-1.png b/SpotMenu/Assets.xcassets/Controls/PauseButtonImage.imageset/pause-1.png new file mode 100644 index 0000000000000000000000000000000000000000..096cba76f3dba9b68d921a4af6a7d06451c05b0f GIT binary patch literal 1864 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 literal 0 HcmV?d00001 diff --git a/SpotMenu/Assets.xcassets/Controls/PlayButtonImage.imageset/play.png b/SpotMenu/Assets.xcassets/Controls/PlayButtonImage.imageset/play.png new file mode 100644 index 0000000000000000000000000000000000000000..b33f8632b9ea90f95e2c582e1f8b8ae18b1164dd GIT binary patch literal 6668 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 literal 0 HcmV?d00001 diff --git a/SpotMenu/Assets.xcassets/Controls/PlayNextButtonImage.imageset/Contents.json b/SpotMenu/Assets.xcassets/Controls/PlayNextButtonImage.imageset/Contents.json new file mode 100644 index 0000000..e398b66 --- /dev/null +++ b/SpotMenu/Assets.xcassets/Controls/PlayNextButtonImage.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "play-next-1.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "play-next.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/SpotMenu/Assets.xcassets/Controls/PlayNextButtonImage.imageset/play-next-1.png b/SpotMenu/Assets.xcassets/Controls/PlayNextButtonImage.imageset/play-next-1.png new file mode 100644 index 0000000000000000000000000000000000000000..25ca07865e1b176567149d0a776504f1b1f351f9 GIT binary patch literal 23946 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 W+TZ^2ZtWAYgT+d#71zI^e)u0^`v5us literal 0 HcmV?d00001 diff --git a/SpotMenu/Assets.xcassets/Controls/PlayNextButtonImage.imageset/play-next.png b/SpotMenu/Assets.xcassets/Controls/PlayNextButtonImage.imageset/play-next.png new file mode 100644 index 0000000000000000000000000000000000000000..25ca07865e1b176567149d0a776504f1b1f351f9 GIT binary patch literal 23946 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 W+TZ^2ZtWAYgT+d#71zI^e)u0^`v5us literal 0 HcmV?d00001 diff --git a/SpotMenu/Assets.xcassets/Controls/PlayPreviousButtonImage.imageset/Contents.json b/SpotMenu/Assets.xcassets/Controls/PlayPreviousButtonImage.imageset/Contents.json new file mode 100644 index 0000000..1a970ec --- /dev/null +++ b/SpotMenu/Assets.xcassets/Controls/PlayPreviousButtonImage.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "play-previous-1.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "play-previous.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/SpotMenu/Assets.xcassets/Controls/PlayPreviousButtonImage.imageset/play-previous-1.png b/SpotMenu/Assets.xcassets/Controls/PlayPreviousButtonImage.imageset/play-previous-1.png new file mode 100644 index 0000000000000000000000000000000000000000..a3def8a47bdcd33c463137f1f21e8431fccda8f3 GIT binary patch literal 81957 zcmeIbc|28n7&nSkh6WKz17(atC?f1;Ge@FKDGi1~DD$xER7aCCq-5Bgk|aZeDa0ua zQpk`dW9EuXnR%bz#$Ib}z4v|Z{p0=I`?>3UKIe1x*=zr%=Xt)*{9A&I40g=r65?WE zVVSF~wbht~Wp*k0mtz)u6RA?*1^;1nGv2Y8CAoNM8~hKai`E`D7M7*-e_21A>NJ8M z?6Ei5?Y>)IPu14>sO-K2&ifC_dLDIwU$d}m^i+k9M-RI16Y)HH#K}$7Q+*}<7pm|X zeJ!_Ag#HtENA;Dv^^HWfIJ+JcStqL`E5A~MOGHFuqw9e~s>WNlPY#FwQ(tN4?(U*0 zC+FeeA?u+i>+E`1ZtaE*8|35_L{}>9C z4mwS}3xK@!PrmwqeC-2?0uluz3P=?E{~HC@a((QR6IIJue%QtxRke8{ZTW=TEw7fX zUPz=~h&P0$ZDu1iSG`h7|M>RE`k0%W(;E}~H<``XKC?){Vatm}!zD_iTyqwQ?%A

>NBI$cg6_7!AAH;osK?D?9pXv~07 z4WSuPpP&96x8@JEkxEW6mAnmU;V(4}`~+jnl>a%y$yo1#2_;aY?4t7eX#zs=VB>rz znZUQF%h+L6(_=4>9MhEy8kXJ&9G~UwT;a5pv4N=%rT)3}}es}0iEx_1>Q39-# zQ8tuN;TL|1b`*E=6FfY$&cFt7+*eZ*sv%;ir#NdS`yGq#&)tsAN~vaBUT@t$))q6Z z!bF=*WpCk52>;sd3)?%DWx=2y&!WxwoV_b5szav_5`sY`ai88*lvgSx{e|1hAzl|Y zKZ*6i7(J)XWM?Jv-{8fBw6}xWu+Y$%8^MfeDeO^{{&mwR$0Onr4rFM`>Gf|`%mwe!2M<<{huZ@{fS@su)~jkCD+wZf8w*=oCsd9fiJCade%y&IUL`sjs4^u2S@3RPdcYC4osa%PxNxBZ;0v@N4Yy! zjYI7eF({c3}#P#pjm(nc^r6Ap76rSEL{jUXA+m^-#&?IjPF_%wNrBKr8vTS#dfQwsDE61ZZ45dM8Hu;U;~Y#27sW)NXSQZpLkRk`Q+m zXu0^?w(BL2Dv585o%L=VZrTwoO5m6%uiSJ#Re%`zZWy)Ji`E+KNse4^n1T)C;sZ84 zTfY^rA}41k2jB)snZ+37uC11|+=k(nh3d#XpzNCR^P3ejEm)|}*mZ@h#NJ2c7y$iGs2w!OV7JosNf+_cgQ0Ei(M%OsdLXtNrm&si(!U=2`WaQFI} zC>+&!U{IibDI4>kzHBakK6`B=XwZod<|9Jm5|Q|oC+sAveT z=_O3*%?sR(p;ez@J`bht6|5s@+}RY(4Z8~t%Gr$Zml6y@+yBo`Q*6UiJE`RcnOKnr zLOU|HOA{xw6dM(Q;n_zXhjFx_kII)qx+U!Mn_q`_KI{3*pL>ozV=0;*E35bQ;eTbA z2T?*{dl8Bs2P=%<#OklhDmsIyZljdI9hp_x9;(ySgo!BV%X+2kE8a1JmI=&n zWgoG4dh3hp3_gZRnfx%s2ar-qi&Trz&Ar+!h-b(-q+>rOybPe zZ7|mH?2y@n9fxup7-W`lP)LGV7{Vlh0-xN|u6y6f>2SxCWFQN*4a`|=ap5j(_Nn#M zIK)&mubLNG#De}(TjUjlNek5*Mx`81amNvJ;;EDlXk<0})>9Q-{|c4Q!IS9FLLOQP zM~f}xYbPD52Ql?(c_tu+o!G_> zNn8zU|8zMJ0V=$BoORv%-;*cOv@pW4P_H8@1id>ub#}&r-*`X{b~?zE$LMpGyn68S z4z`lKIVX*_t^Nh8g0Qon2^{!6;d%?FvQiZf`oj*b7j#gCRf8~2NCoS<1NPS{Pu zx%>rKDZ{m8XTtEAwtOp`q>9MrfT#|rm$KsKp`Xh}9#+a|Y5o%IxOeG&PG!81QC1+A z?N64oG#*wuU7^!47##L1$I!PQ11yEM8#r~oTIeEPVbHnKj1Zf3Kj*r)w}wZmG=3}X z3xN{Fe&y@%Um{A_)B==(<34o%XK4Ja$B%mmPu?W3F*QT;aBke>Qyw@}(cqWigfD>v z3z=Wc#?~8cl`~Di?KUHiZE@rCu<>FqJ~ampoV+%#0-vp?B5j%zZzBTB>@ZHu8a*BM z%a`WoVu2gg4qj+(@@UzbX(uv-QO=G3UaUCfWBr2-H-v*{zyRFcPN@-0?kC0ht_AGx zT|$yxR|XKg<7b6BZrT~(w9Te?=n|#^jYo-?j4^s3##q

gR}O37D+q^%_^B*GuB2 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

>NBI$cg6_7!AAH;osK?D?9pXv~07 z4WSuPpP&96x8@JEkxEW6mAnmU;V(4}`~+jnl>a%y$yo1#2_;aY?4t7eX#zs=VB>rz znZUQF%h+L6(_=4>9MhEy8kXJ&9G~UwT;a5pv4N=%rT)3}}es}0iEx_1>Q39-# zQ8tuN;TL|1b`*E=6FfY$&cFt7+*eZ*sv%;ir#NdS`yGq#&)tsAN~vaBUT@t$))q6Z z!bF=*WpCk52>;sd3)?%DWx=2y&!WxwoV_b5szav_5`sY`ai88*lvgSx{e|1hAzl|Y zKZ*6i7(J)XWM?Jv-{8fBw6}xWu+Y$%8^MfeDeO^{{&mwR$0Onr4rFM`>Gf|`%mwe!2M<<{huZ@{fS@su)~jkCD+wZf8w*=oCsd9fiJCade%y&IUL`sjs4^u2S@3RPdcYC4osa%PxNxBZ;0v@N4Yy! zjYI7eF({c3}#P#pjm(nc^r6Ap76rSEL{jUXA+m^-#&?IjPF_%wNrBKr8vTS#dfQwsDE61ZZ45dM8Hu;U;~Y#27sW)NXSQZpLkRk`Q+m zXu0^?w(BL2Dv585o%L=VZrTwoO5m6%uiSJ#Re%`zZWy)Ji`E+KNse4^n1T)C;sZ84 zTfY^rA}41k2jB)snZ+37uC11|+=k(nh3d#XpzNCR^P3ejEm)|}*mZ@h#NJ2c7y$iGs2w!OV7JosNf+_cgQ0Ei(M%OsdLXtNrm&si(!U=2`WaQFI} zC>+&!U{IibDI4>kzHBakK6`B=XwZod<|9Jm5|Q|oC+sAveT z=_O3*%?sR(p;ez@J`bht6|5s@+}RY(4Z8~t%Gr$Zml6y@+yBo`Q*6UiJE`RcnOKnr zLOU|HOA{xw6dM(Q;n_zXhjFx_kII)qx+U!Mn_q`_KI{3*pL>ozV=0;*E35bQ;eTbA z2T?*{dl8Bs2P=%<#OklhDmsIyZljdI9hp_x9;(ySgo!BV%X+2kE8a1JmI=&n zWgoG4dh3hp3_gZRnfx%s2ar-qi&Trz&Ar+!h-b(-q+>rOybPe zZ7|mH?2y@n9fxup7-W`lP)LGV7{Vlh0-xN|u6y6f>2SxCWFQN*4a`|=ap5j(_Nn#M zIK)&mubLNG#De}(TjUjlNek5*Mx`81amNvJ;;EDlXk<0})>9Q-{|c4Q!IS9FLLOQP zM~f}xYbPD52Ql?(c_tu+o!G_> zNn8zU|8zMJ0V=$BoORv%-;*cOv@pW4P_H8@1id>ub#}&r-*`X{b~?zE$LMpGyn68S z4z`lKIVX*_t^Nh8g0Qon2^{!6;d%?FvQiZf`oj*b7j#gCRf8~2NCoS<1NPS{Pu zx%>rKDZ{m8XTtEAwtOp`q>9MrfT#|rm$KsKp`Xh}9#+a|Y5o%IxOeG&PG!81QC1+A z?N64oG#*wuU7^!47##L1$I!PQ11yEM8#r~oTIeEPVbHnKj1Zf3Kj*r)w}wZmG=3}X z3xN{Fe&y@%Um{A_)B==(<34o%XK4Ja$B%mmPu?W3F*QT;aBke>Qyw@}(cqWigfD>v z3z=Wc#?~8cl`~Di?KUHiZE@rCu<>FqJ~ampoV+%#0-vp?B5j%zZzBTB>@ZHu8a*BM z%a`WoVu2gg4qj+(@@UzbX(uv-QO=G3UaUCfWBr2-H-v*{zyRFcPN@-0?kC0ht_AGx zT|$yxR|XKg<7b6BZrT~(w9Te?=n|#^jYo-?j4^s3##q

gR}O37D+q^%_^B*GuB2 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 + + @@ -35,17 +37,6 @@ - @@ -55,26 +46,15 @@ - - @@ -139,6 +119,28 @@ + + @@ -154,6 +156,9 @@ + + + diff --git a/SpotMenu/PopOver/PopOverVC.swift b/SpotMenu/PopOver/PopOverVC.swift index f85c744..00bb921 100644 --- a/SpotMenu/PopOver/PopOverVC.swift +++ b/SpotMenu/PopOver/PopOverVC.swift @@ -23,7 +23,9 @@ final class PopOverViewController: NSViewController { @IBOutlet private var artistLabel: NSTextField! @IBOutlet private var aLabel: NSTextField! @IBOutlet private var titleLabel: NSTextField! - @IBOutlet private var playerStateButton: NSButton! + @IBOutlet private var playerStateButton: HoverButton! + @IBOutlet private var playNextButton: HoverButton! + @IBOutlet private var playPreviousButton: HoverButton! @IBOutlet private var artworkImageView: NSImageView! @IBOutlet private var leftTime: NSTextField! @IBOutlet private var rightTime: NSTextField! @@ -63,6 +65,7 @@ final class PopOverViewController: NSViewController { self.position = position } + initButtonHovers() updatePlayerPosition() updateTime() updateMusicPlayerIcon(musicPlayerName: lastMusicPlayerName) @@ -151,14 +154,14 @@ final class PopOverViewController: NSViewController { if let state = state { switch state { case .paused: - playerStateButton.title = "▶︎" + playerStateButton.image = NSImage(named: NSImage.Name(rawValue: "PlayButtonImage")) case .playing, .fastForwarding, .rewinding, .reposition: - playerStateButton.title = "❚❚" + playerStateButton.image = NSImage(named: NSImage.Name(rawValue: "PauseButtonImage")) default: - playerStateButton.title = "▶︎" + playerStateButton.image = NSImage(named: NSImage.Name(rawValue: "PlayButtonImage")) } } else { - playerStateButton.title = "▶︎" + playerStateButton.image = NSImage(named: NSImage.Name(rawValue: "PauseButtonImage")) } } @@ -180,6 +183,17 @@ final class PopOverViewController: NSViewController { musicPlayerButton.image = spotMenuIcon } } + + private func initButtonHovers() { + playNextButton.mouseEnteredFunc = { self.playNextButton.alphaValue = 1 } + playNextButton.mouseExitedFunc = { self.playNextButton.alphaValue = 0.7 } + + playPreviousButton.mouseEnteredFunc = { self.playPreviousButton.alphaValue = 1 } + playPreviousButton.mouseExitedFunc = { self.playPreviousButton.alphaValue = 0.7 } + + playerStateButton.mouseEnteredFunc = { self.playerStateButton.alphaValue = 1 } + playerStateButton.mouseExitedFunc = { self.playerStateButton.alphaValue = 0.7 } + } } // MARK: Actions From 14bfbb70f01399783b349daf706f04a3ce9c65af Mon Sep 17 00:00:00 2001 From: kmikiy Date: Mon, 9 Apr 2018 10:13:45 +0200 Subject: [PATCH 2/2] - more subtle pressed in state for buttons - larger next and previous buttons --- SpotMenu/PopOver/PopOver.xib | 36 ++++++++++++++++---------------- SpotMenu/PopOver/PopOverVC.swift | 32 +++++++++++++++++++++++++--- 2 files changed, 47 insertions(+), 21 deletions(-) diff --git a/SpotMenu/PopOver/PopOver.xib b/SpotMenu/PopOver/PopOver.xib index e0e83f0..addd84b 100644 --- a/SpotMenu/PopOver/PopOver.xib +++ b/SpotMenu/PopOver/PopOver.xib @@ -1,8 +1,8 @@ - + - + @@ -46,17 +46,6 @@ - @@ -122,18 +111,18 @@ + diff --git a/SpotMenu/PopOver/PopOverVC.swift b/SpotMenu/PopOver/PopOverVC.swift index 00bb921..e4da0ea 100644 --- a/SpotMenu/PopOver/PopOverVC.swift +++ b/SpotMenu/PopOver/PopOverVC.swift @@ -187,13 +187,17 @@ final class PopOverViewController: NSViewController { private func initButtonHovers() { playNextButton.mouseEnteredFunc = { self.playNextButton.alphaValue = 1 } playNextButton.mouseExitedFunc = { self.playNextButton.alphaValue = 0.7 } - + playNextButton.sendAction(on: [.leftMouseDown, .leftMouseUp]) + playPreviousButton.mouseEnteredFunc = { self.playPreviousButton.alphaValue = 1 } playPreviousButton.mouseExitedFunc = { self.playPreviousButton.alphaValue = 0.7 } - + playPreviousButton.sendAction(on: [.leftMouseDown, .leftMouseUp]) + playerStateButton.mouseEnteredFunc = { self.playerStateButton.alphaValue = 1 } playerStateButton.mouseExitedFunc = { self.playerStateButton.alphaValue = 0.7 } + playerStateButton.sendAction(on: [.leftMouseDown, .leftMouseUp]) } + } // MARK: Actions @@ -201,10 +205,24 @@ final class PopOverViewController: NSViewController { private extension PopOverViewController { @IBAction func goLeft(_: NSButton) { + let event:NSEvent! = NSApp.currentEvent! + if (event.type == .leftMouseDown) + { + self.playPreviousButton.alphaValue = 0.8 + return + } + self.playPreviousButton.alphaValue = 1 musicPlayerManager.currentPlayer?.playPrevious() } @IBAction func goRight(_: NSButton) { + let event:NSEvent! = NSApp.currentEvent! + if (event.type == .leftMouseDown) + { + self.playNextButton.alphaValue = 0.8 + return + } + self.playNextButton.alphaValue = 1 musicPlayerManager.currentPlayer?.playNext() } @@ -217,7 +235,15 @@ private extension PopOverViewController { musicPlayerManager.currentPlayer?.playerPosition = position } - @IBAction func togglePlay(_: AnyObject) { + @IBAction func togglePlay(_: NSButton) { + let event:NSEvent! = NSApp.currentEvent! + if (event.type == .leftMouseDown) + { + self.playerStateButton.alphaValue = 0.8 + return + } + self.playerStateButton.alphaValue = 1 + if let state = self.musicPlayerManager.currentPlayer?.playbackState { switch state { case .playing, .fastForwarding, .rewinding, .reposition: