1
1
mirror of https://github.com/danbee/persephone synced 2025-03-04 08:39:11 +00:00

Disable the menu item during updates

This commit is contained in:
Daniel Barber 2019-03-20 19:25:25 -04:00
parent 79ad585530
commit b43afb405f
Signed by: danbarber
GPG Key ID: 931D8112E0103DD8
2 changed files with 21 additions and 2 deletions

View File

@ -26,6 +26,13 @@ class AppDelegate: NSObject, NSApplicationDelegate, MediaKeyTapDelegate {
mediaKeyTap = MediaKeyTap(delegate: self) mediaKeyTap = MediaKeyTap(delegate: self)
mediaKeyTap?.start() mediaKeyTap?.start()
NotificationCenter.default.addObserver(
self,
selector: #selector(enableUpdateDatabaseMenuItem),
name: Notification.databaseUpdateFinished,
object: AppDelegate.mpdClient
)
} }
func applicationWillTerminate(_ aNotification: Notification) { func applicationWillTerminate(_ aNotification: Notification) {
@ -70,6 +77,13 @@ class AppDelegate: NSObject, NSApplicationDelegate, MediaKeyTapDelegate {
} }
@IBAction func updateDatabase(_ sender: NSMenuItem) { @IBAction func updateDatabase(_ sender: NSMenuItem) {
sender.isEnabled = false
AppDelegate.mpdClient.updateDatabase() AppDelegate.mpdClient.updateDatabase()
} }
@objc func enableUpdateDatabaseMenuItem() {
updateDatabaseMenuItem?.isEnabled = true
}
@IBOutlet weak var updateDatabaseMenuItem: NSMenuItem!
} }

View File

@ -64,9 +64,10 @@
</menuItem> </menuItem>
<menuItem title="Database" id="usv-UH-vkC"> <menuItem title="Database" id="usv-UH-vkC">
<modifierMask key="keyEquivalentModifierMask"/> <modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Database" id="rFP-zL-1X4"> <menu key="submenu" title="Database" autoenablesItems="NO" id="rFP-zL-1X4">
<items> <items>
<menuItem title="Update" keyEquivalent="u" id="EJg-93-1F6"> <menuItem title="Update" keyEquivalent="u" id="EJg-93-1F6">
<attributedString key="attributedTitle"/>
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/> <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
<connections> <connections>
<action selector="updateDatabase:" target="Voe-Tx-rLC" id="FO1-Ge-TUL"/> <action selector="updateDatabase:" target="Voe-Tx-rLC" id="FO1-Ge-TUL"/>
@ -118,7 +119,11 @@
<outlet property="delegate" destination="Voe-Tx-rLC" id="PrD-fu-P6m"/> <outlet property="delegate" destination="Voe-Tx-rLC" id="PrD-fu-P6m"/>
</connections> </connections>
</application> </application>
<customObject id="Voe-Tx-rLC" customClass="AppDelegate" customModule="Persephone" customModuleProvider="target"/> <customObject id="Voe-Tx-rLC" customClass="AppDelegate" customModule="Persephone" customModuleProvider="target">
<connections>
<outlet property="updateDatabaseMenuItem" destination="EJg-93-1F6" id="gMf-SQ-lyI"/>
</connections>
</customObject>
<customObject id="YLy-65-1bz" customClass="NSFontManager"/> <customObject id="YLy-65-1bz" customClass="NSFontManager"/>
<customObject id="Ady-hI-5gd" userLabel="First Responder" customClass="NSResponder" sceneMemberID="firstResponder"/> <customObject id="Ady-hI-5gd" userLabel="First Responder" customClass="NSResponder" sceneMemberID="firstResponder"/>
</objects> </objects>