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

View File

@ -64,9 +64,10 @@
</menuItem>
<menuItem title="Database" id="usv-UH-vkC">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Database" id="rFP-zL-1X4">
<menu key="submenu" title="Database" autoenablesItems="NO" id="rFP-zL-1X4">
<items>
<menuItem title="Update" keyEquivalent="u" id="EJg-93-1F6">
<attributedString key="attributedTitle"/>
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
<connections>
<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"/>
</connections>
</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="Ady-hI-5gd" userLabel="First Responder" customClass="NSResponder" sceneMemberID="firstResponder"/>
</objects>