mirror of
https://github.com/danbee/persephone
synced 2025-03-04 08:39:11 +00:00
Add and wire up "Play Next" song menu item
This commit is contained in:
parent
97f98e7a40
commit
616880415f
@ -19,6 +19,7 @@ class AppDelegate: NSObject,
|
|||||||
@IBOutlet weak var mainWindowMenuItem: NSMenuItem!
|
@IBOutlet weak var mainWindowMenuItem: NSMenuItem!
|
||||||
@IBOutlet weak var updateDatabaseMenuItem: NSMenuItem!
|
@IBOutlet weak var updateDatabaseMenuItem: NSMenuItem!
|
||||||
@IBOutlet weak var playSelectedSongMenuItem: NSMenuItem!
|
@IBOutlet weak var playSelectedSongMenuItem: NSMenuItem!
|
||||||
|
@IBOutlet weak var playSelectedSongNextMenuItem: NSMenuItem!
|
||||||
@IBOutlet weak var addSelectedSongToQueueMenuItem: NSMenuItem!
|
@IBOutlet weak var addSelectedSongToQueueMenuItem: NSMenuItem!
|
||||||
|
|
||||||
func applicationDidFinishLaunching(_ aNotification: Notification) {
|
func applicationDidFinishLaunching(_ aNotification: Notification) {
|
||||||
@ -104,6 +105,7 @@ class AppDelegate: NSObject,
|
|||||||
|
|
||||||
func setSongMenuItemsState(selectedSong: Song?) {
|
func setSongMenuItemsState(selectedSong: Song?) {
|
||||||
playSelectedSongMenuItem.isEnabled = selectedSong != nil
|
playSelectedSongMenuItem.isEnabled = selectedSong != nil
|
||||||
|
playSelectedSongNextMenuItem.isEnabled = selectedSong != nil
|
||||||
addSelectedSongToQueueMenuItem.isEnabled = selectedSong != nil
|
addSelectedSongToQueueMenuItem.isEnabled = selectedSong != nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -165,6 +167,17 @@ class AppDelegate: NSObject,
|
|||||||
App.store.dispatch(MPDAppendTrack(song: song.mpdSong))
|
App.store.dispatch(MPDAppendTrack(song: song.mpdSong))
|
||||||
App.store.dispatch(MPDPlayTrack(queuePos: queueLength))
|
App.store.dispatch(MPDPlayTrack(queuePos: queueLength))
|
||||||
}
|
}
|
||||||
|
@IBAction func playSelectedSongNextAction(_ sender: NSMenuItem) {
|
||||||
|
let queuePos = App.store.state.queueState.queuePos
|
||||||
|
|
||||||
|
guard let song = App.store.state.uiState.selectedSong,
|
||||||
|
queuePos > -1
|
||||||
|
else { return }
|
||||||
|
|
||||||
|
App.store.dispatch(
|
||||||
|
MPDAddSongToQueue(songUri: song.mpdSong.uriString, queuePos: queuePos + 1)
|
||||||
|
)
|
||||||
|
}
|
||||||
@IBAction func addSelectedSongToQueueAction(_ sender: NSMenuItem) {
|
@IBAction func addSelectedSongToQueueAction(_ sender: NSMenuItem) {
|
||||||
guard let song = App.store.state.uiState.selectedSong
|
guard let song = App.store.state.uiState.selectedSong
|
||||||
else { return }
|
else { return }
|
||||||
|
|||||||
@ -98,13 +98,20 @@
|
|||||||
<menuItem title="Song" id="elk-xW-VXb">
|
<menuItem title="Song" id="elk-xW-VXb">
|
||||||
<menu key="submenu" title="Song" autoenablesItems="NO" id="RuT-kk-xTu">
|
<menu key="submenu" title="Song" autoenablesItems="NO" id="RuT-kk-xTu">
|
||||||
<items>
|
<items>
|
||||||
<menuItem title="Play Selected Song" enabled="NO" id="dyT-9E-DRY">
|
<menuItem title="Play Now" enabled="NO" id="dyT-9E-DRY">
|
||||||
<modifierMask key="keyEquivalentModifierMask"/>
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
<connections>
|
<connections>
|
||||||
<action selector="playSelectedSongAction:" target="Voe-Tx-rLC" id="jIo-ux-Mhr"/>
|
<action selector="playSelectedSongAction:" target="Voe-Tx-rLC" id="jIo-ux-Mhr"/>
|
||||||
</connections>
|
</connections>
|
||||||
</menuItem>
|
</menuItem>
|
||||||
<menuItem title="Add Selected Song to Queue" enabled="NO" id="JFH-jT-sBp">
|
<menuItem title="Play Next" id="Q8j-jr-IOp">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="playSelectedSongNextAction:" target="Voe-Tx-rLC" id="HQR-6p-8g7"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem isSeparatorItem="YES" id="ml8-jV-bZq"/>
|
||||||
|
<menuItem title="Add to Queue" enabled="NO" id="JFH-jT-sBp">
|
||||||
<modifierMask key="keyEquivalentModifierMask"/>
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
<connections>
|
<connections>
|
||||||
<action selector="addSelectedSongToQueueAction:" target="Voe-Tx-rLC" id="9j9-Xd-g0D"/>
|
<action selector="addSelectedSongToQueueAction:" target="Voe-Tx-rLC" id="9j9-Xd-g0D"/>
|
||||||
@ -173,6 +180,7 @@
|
|||||||
<outlet property="addSelectedSongToQueueMenuItem" destination="JFH-jT-sBp" id="9dy-sJ-XYS"/>
|
<outlet property="addSelectedSongToQueueMenuItem" destination="JFH-jT-sBp" id="9dy-sJ-XYS"/>
|
||||||
<outlet property="mainWindowMenuItem" destination="1Sq-L7-znT" id="dC6-yY-6Ss"/>
|
<outlet property="mainWindowMenuItem" destination="1Sq-L7-znT" id="dC6-yY-6Ss"/>
|
||||||
<outlet property="playSelectedSongMenuItem" destination="dyT-9E-DRY" id="UY2-SN-YMF"/>
|
<outlet property="playSelectedSongMenuItem" destination="dyT-9E-DRY" id="UY2-SN-YMF"/>
|
||||||
|
<outlet property="playSelectedSongNextMenuItem" destination="Q8j-jr-IOp" id="Jqh-ia-sMK"/>
|
||||||
<outlet property="updateDatabaseMenuItem" destination="EJg-93-1F6" id="gMf-SQ-lyI"/>
|
<outlet property="updateDatabaseMenuItem" destination="EJg-93-1F6" id="gMf-SQ-lyI"/>
|
||||||
</connections>
|
</connections>
|
||||||
</customObject>
|
</customObject>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user