X-Git-Url: https://git.r.bdr.sh/rbdr/captura/blobdiff_plain/3472041dfee0a6e8c8a29e949f239bae13e1a18f..5802c153cae64142d84e3cd5f762939501ee7e53:/Captura/CapturaApp.swift?ds=sidebyside diff --git a/Captura/CapturaApp.swift b/Captura/CapturaApp.swift index 14e266c..dc358f7 100644 --- a/Captura/CapturaApp.swift +++ b/Captura/CapturaApp.swift @@ -1,7 +1,24 @@ +/* + Copyright (C) 2024 Rubén Beltrán del Río + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see https://captura.tranquil.systems. + */ import SwiftUI import Cocoa import Combine import AVFoundation +import Sparkle @main struct CapturaApp: App { @@ -38,6 +55,10 @@ struct CapturaApp: App { var remoteFiles: [CapturaRemoteFile] = [] var captureSessionConfiguration: CaptureSessionConfiguration = CaptureSessionConfiguration() + // Sparkle Configuration + @IBOutlet var checkForUpdatesMenuItem: NSMenuItem! + let updaterController: SPUStandardUpdaterController = SPUStandardUpdaterController(startingUpdater: true, updaterDelegate: nil, userDriverDelegate: nil) + @objc dynamic var scriptedPreferences: ScriptedPreferences = ScriptedPreferences() func applicationDidFinishLaunching(_ notification: Notification) { @@ -89,6 +110,11 @@ struct CapturaApp: App { statusItem.menu?.addItem(NSMenuItem.separator()) statusItem.menu?.addItem(NSMenuItem(title: "Open Local Folder", action: #selector(CapturaAppDelegate.onOpenFolder), keyEquivalent: "")) statusItem.menu?.addItem(NSMenuItem.separator()) + + checkForUpdatesMenuItem = NSMenuItem(title: "Check for Updates", action: #selector(SPUStandardUpdaterController.checkForUpdates(_:)), keyEquivalent: "") + checkForUpdatesMenuItem.target = updaterController + statusItem.menu?.addItem(checkForUpdatesMenuItem) + statusItem.menu?.addItem(NSMenuItem(title: "Preferences", action: #selector(CapturaAppDelegate.onOpenPreferences), keyEquivalent: "")) statusItem.menu?.addItem(NSMenuItem(title: "Quit", action: #selector(CapturaAppDelegate.onQuit), keyEquivalent: "")) }