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 updateDatabaseMenuItem: NSMenuItem!
|
||||
@IBOutlet weak var playSelectedSongMenuItem: NSMenuItem!
|
||||
@IBOutlet weak var playSelectedSongNextMenuItem: NSMenuItem!
|
||||
@IBOutlet weak var addSelectedSongToQueueMenuItem: NSMenuItem!
|
||||
|
||||
func applicationDidFinishLaunching(_ aNotification: Notification) {
|
||||
@ -104,6 +105,7 @@ class AppDelegate: NSObject,
|
||||
|
||||
func setSongMenuItemsState(selectedSong: Song?) {
|
||||
playSelectedSongMenuItem.isEnabled = selectedSong != nil
|
||||
playSelectedSongNextMenuItem.isEnabled = selectedSong != nil
|
||||
addSelectedSongToQueueMenuItem.isEnabled = selectedSong != nil
|
||||
}
|
||||
|
||||
@ -165,6 +167,17 @@ class AppDelegate: NSObject,
|
||||
App.store.dispatch(MPDAppendTrack(song: song.mpdSong))
|
||||
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) {
|
||||
guard let song = App.store.state.uiState.selectedSong
|
||||
else { return }
|
||||
|
||||
@ -98,13 +98,20 @@
|
||||
<menuItem title="Song" id="elk-xW-VXb">
|
||||
<menu key="submenu" title="Song" autoenablesItems="NO" id="RuT-kk-xTu">
|
||||
<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"/>
|
||||
<connections>
|
||||
<action selector="playSelectedSongAction:" target="Voe-Tx-rLC" id="jIo-ux-Mhr"/>
|
||||
</connections>
|
||||
</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"/>
|
||||
<connections>
|
||||
<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="mainWindowMenuItem" destination="1Sq-L7-znT" id="dC6-yY-6Ss"/>
|
||||
<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"/>
|
||||
</connections>
|
||||
</customObject>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user