mirror of
https://github.com/danbee/persephone
synced 2025-03-04 08:39:11 +00:00
Add queue play/remove menu
This commit is contained in:
parent
6fc7e09deb
commit
aecff619a2
@ -43,13 +43,20 @@ class QueueViewController: NSViewController,
|
||||
}
|
||||
|
||||
@IBAction func playTrack(_ sender: Any) {
|
||||
let newQueuePos = queueView.selectedRow - 1
|
||||
let queuePos = queueView.selectedRow - 1
|
||||
|
||||
if newQueuePos >= 0 {
|
||||
App.store.dispatch(MPDPlayTrack(queuePos: newQueuePos))
|
||||
if queuePos >= 0 {
|
||||
App.store.dispatch(MPDPlayTrack(queuePos: queuePos))
|
||||
}
|
||||
}
|
||||
|
||||
@IBAction func playSongMenuAction(_ sender: NSMenuItem) {
|
||||
let queuePos = queueView.clickedRow - 1
|
||||
|
||||
if queuePos >= 0 {
|
||||
App.store.dispatch(MPDPlayTrack(queuePos: queuePos))
|
||||
}
|
||||
}
|
||||
@IBAction func removeSongMenuAction(_ sender: NSMenuItem) {
|
||||
let queuePos = queueView.clickedRow - 1
|
||||
|
||||
|
||||
@ -575,7 +575,7 @@
|
||||
<rect key="frame" x="0.0" y="0.0" width="328" height="219"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<outlineView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" selectionHighlightStyle="sourceList" multipleSelection="NO" autosaveColumns="NO" rowSizeStyle="automatic" viewBased="YES" indentationPerLevel="16" outlineTableColumn="0Co-uF-CCB" id="jEJ-jg-fll">
|
||||
<outlineView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" selectionHighlightStyle="sourceList" multipleSelection="NO" autosaveColumns="NO" rowSizeStyle="automatic" viewBased="YES" indentationPerLevel="16" outlineTableColumn="0Co-uF-CCB" id="jEJ-jg-fll" customClass="QueueView" customModule="Persephone" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="0.0" width="328" height="219"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<size key="intercellSpacing" width="3" height="2"/>
|
||||
@ -757,6 +757,12 @@
|
||||
<customObject id="du4-e9-TfX" userLabel="First Responder" customClass="NSResponder" sceneMemberID="firstResponder"/>
|
||||
<menu id="dYA-Jm-eOa">
|
||||
<items>
|
||||
<menuItem title="Play" id="kp1-XJ-9CL">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="playSongMenuAction:" target="KIP-rq-4dM" id="1nO-8z-LT2"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Remove" id="GaJ-qk-Cg4">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
|
||||
@ -14,7 +14,9 @@ func queueReducer(action: Action, state: QueueState?) -> QueueState {
|
||||
|
||||
switch action {
|
||||
case let action as UpdateQueueAction:
|
||||
state.queuePos = -1
|
||||
if state.queuePos >= action.queue.count {
|
||||
state.queuePos = -1
|
||||
}
|
||||
|
||||
state.queue = action.queue.enumerated().map { index, mpdSong in
|
||||
let song = Song(mpdSong: mpdSong)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user