diff --git a/Delivery/macOS/App/AppDelegate.swift b/Delivery/macOS/App/AppDelegate.swift index e874720..3116253 100644 --- a/Delivery/macOS/App/AppDelegate.swift +++ b/Delivery/macOS/App/AppDelegate.swift @@ -32,13 +32,15 @@ class AppDelegate: NSObject, NSApplicationDelegate { override init() { super.init() - // For testing + #if DEBUG + // Simulate a freshly installed app by resetting the preferences // localPreferences.reset() // UserDefaults.standard.serverChangeToken = nil - localPreferences.reset(.wizardStep) - localPreferences.set(true, forKey: .firstLaunch, version: Versioning.appVersion) - localPreferences.set(0, forKey: .wizardStep) - localPreferences.set(false, forKey: .enableGit) +// localPreferences.reset(.wizardStep) +// localPreferences.set(true, forKey: .firstLaunch, version: Versioning.appVersion) +// localPreferences.set(0, forKey: .wizardStep) +// localPreferences.set(false, forKey: .enableGit) + #endif localRepository = SqliteRepository() #if APPSTORE @@ -57,9 +59,9 @@ class AppDelegate: NSObject, NSApplicationDelegate { menu.isDark = theme.isDark menu.onOpen = { self.removeActivePopup() - let firstLaunch = self.localPreferences.bool(.firstLaunch, version: Versioning.appVersion) + let isFirstLaunch = self.localPreferences.bool(.firstLaunch, version: Versioning.appVersion) let wizardStep = self.localPreferences.int(.wizardStep) - if firstLaunch { + if isFirstLaunch { self.presentWelcomePopup() } else if wizardStep != WizardStep.finished.rawValue { diff --git a/Delivery/macOS/App/Versioning.swift b/Delivery/macOS/App/Versioning.swift index 44a8af0..3d5caa2 100644 --- a/Delivery/macOS/App/Versioning.swift +++ b/Delivery/macOS/App/Versioning.swift @@ -16,7 +16,8 @@ struct Versioning { static let appVersion = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as! String static let compatibilityMaps: [String: Versions] = [ "17.06.14": (shellScript: "1.0", browserScript: "1.0", jirassicCmd: "17.06.14", jitCmd: "17.06.14"), - "18.04.04": (shellScript: "1.0", browserScript: "1.1", jirassicCmd: "17.06.14", jitCmd: "17.06.14") + "18.04.04": (shellScript: "1.0", browserScript: "1.1", jirassicCmd: "17.06.14", jitCmd: "17.06.14"), + "18.04.25": (shellScript: "1.0", browserScript: "1.1", jirassicCmd: "18.04.25", jitCmd: "18.04.25") // Add a new compatibility for each app version that needs one ] diff --git a/Delivery/macOS/Info.plist b/Delivery/macOS/Info.plist index 64136a7..83600f8 100644 --- a/Delivery/macOS/Info.plist +++ b/Delivery/macOS/Info.plist @@ -17,11 +17,11 @@ CFBundlePackageType APPL CFBundleShortVersionString - 18.04.23 + 18.04.25 CFBundleSignature ???? CFBundleVersion - 8 + 9 LSApplicationCategoryType public.app-category.productivity LSMinimumSystemVersion diff --git a/Delivery/macOS/Screens/Settings/Input/JirassicCmd/JirassicCell.swift b/Delivery/macOS/Screens/Settings/Input/JirassicCmd/JirassicCell.swift index bb39296..e3a0ce1 100644 --- a/Delivery/macOS/Screens/Settings/Input/JirassicCmd/JirassicCell.swift +++ b/Delivery/macOS/Screens/Settings/Input/JirassicCmd/JirassicCell.swift @@ -28,10 +28,10 @@ class JirassicCell: NSTableRowView { : NSImage.Name.statusPartiallyAvailable) textField.stringValue = compatible ? "Installed, run 'jirassic' in Terminal for more info" - : "Outdated or uninstalled, please install!" + : "Outdated or not installed, please install the latest version!" } else { statusImageView.image = NSImage(named: NSImage.Name.statusUnavailable) - textField.stringValue = "Install shell support first!" + textField.stringValue = "Cannot determine compatibility, install shell support first!" } butInstall.isHidden = available && compatible } diff --git a/Delivery/macOS/Screens/Settings/Input/Jit/JitCell.swift b/Delivery/macOS/Screens/Settings/Input/Jit/JitCell.swift index f71f33d..e2aad22 100644 --- a/Delivery/macOS/Screens/Settings/Input/Jit/JitCell.swift +++ b/Delivery/macOS/Screens/Settings/Input/Jit/JitCell.swift @@ -36,10 +36,10 @@ class JitCell: NSTableRowView { textField.stringValue = compatible ? "Installed, run 'jit' in Terminal for more info" - : "Applescript installed but 'jit' CLI is outdated/uninstalled" + : "Jit is outdated or not installed, please install the latest version!" } else { statusImageView.image = NSImage(named: NSImage.Name.statusUnavailable) - textField.stringValue = "Install shell support first!" + textField.stringValue = "Cannot determine Jit compatibility, install shell support first!" } butInstall.isHidden = available && compatible } diff --git a/Delivery/macOS/Screens/Settings/Settings.storyboard b/Delivery/macOS/Screens/Settings/Settings.storyboard index db1ff92..a1a33e6 100644 --- a/Delivery/macOS/Screens/Settings/Settings.storyboard +++ b/Delivery/macOS/Screens/Settings/Settings.storyboard @@ -1,7 +1,6 @@ - @@ -61,34 +60,6 @@ - - @@ -103,31 +74,35 @@ - + - - + + + - - - - + @@ -148,9 +123,6 @@ - - - diff --git a/Delivery/macOS/Screens/Settings/Tracking/TrackingView.xib b/Delivery/macOS/Screens/Settings/Tracking/TrackingView.xib index 70e1d5d..3c35593 100644 --- a/Delivery/macOS/Screens/Settings/Tracking/TrackingView.xib +++ b/Delivery/macOS/Screens/Settings/Tracking/TrackingView.xib @@ -1,7 +1,6 @@ - @@ -15,28 +14,28 @@ - + @@ -56,7 +55,7 @@ - + @@ -94,7 +93,7 @@ - + @@ -129,7 +128,7 @@ - + @@ -180,7 +179,7 @@ - + @@ -188,14 +187,14 @@ - + - + @@ -232,7 +231,7 @@ - + diff --git a/Delivery/macOS/Screens/Tasks/Tasks.storyboard b/Delivery/macOS/Screens/Tasks/Tasks.storyboard index dfd88dc..193b7cb 100644 --- a/Delivery/macOS/Screens/Tasks/Tasks.storyboard +++ b/Delivery/macOS/Screens/Tasks/Tasks.storyboard @@ -1,8 +1,7 @@ - + - - + @@ -151,34 +150,6 @@ - - @@ -192,17 +163,6 @@ - @@ -220,35 +180,52 @@ + + - + + - + - - - + - - - - + + @@ -370,9 +347,6 @@ - - - diff --git a/Delivery/macOS/Screens/Tasks/TasksViewController.swift b/Delivery/macOS/Screens/Tasks/TasksViewController.swift index 13f5b91..6caa296 100644 --- a/Delivery/macOS/Screens/Tasks/TasksViewController.swift +++ b/Delivery/macOS/Screens/Tasks/TasksViewController.swift @@ -18,7 +18,6 @@ class TasksViewController: NSViewController { @IBOutlet fileprivate weak var butSettings: NSButton! @IBOutlet fileprivate weak var butQuit: NSButton! @IBOutlet fileprivate weak var butMinimize: NSButton! - @IBOutlet fileprivate weak var butFullScreen: NSButton! @IBOutlet fileprivate weak var refreshIndicator: NSProgressIndicator! weak var appWireframe: AppWireframe? @@ -56,7 +55,6 @@ class TasksViewController: NSViewController { butRefresh.isHidden = remoteRepository == nil ? true : hide butQuit.isHidden = hide butMinimize.isHidden = hide - butFullScreen.isHidden = hide listSegmentedControl.isHidden = hide } } diff --git a/Delivery/macOS/Screens/Welcome/Welcome.storyboard b/Delivery/macOS/Screens/Welcome/Welcome.storyboard index b1097ee..a6deba5 100644 --- a/Delivery/macOS/Screens/Welcome/Welcome.storyboard +++ b/Delivery/macOS/Screens/Welcome/Welcome.storyboard @@ -1,7 +1,6 @@ - @@ -114,26 +113,51 @@ + + + + + + + @@ -197,11 +221,35 @@ + + + + + + diff --git a/Delivery/macOS/Screens/Welcome/WelcomeViewController.swift b/Delivery/macOS/Screens/Welcome/WelcomeViewController.swift index 0e1c8b0..1171275 100644 --- a/Delivery/macOS/Screens/Welcome/WelcomeViewController.swift +++ b/Delivery/macOS/Screens/Welcome/WelcomeViewController.swift @@ -11,6 +11,7 @@ import Cocoa class WelcomeViewController: NSViewController { weak var appWireframe: AppWireframe? + @IBOutlet var box: NSBox! @IBOutlet var butSettings: NSButton! @IBOutlet var butStart: NSButton! fileprivate let localPreferences = RCPreferences() @@ -18,6 +19,9 @@ class WelcomeViewController: NSViewController { override func viewDidLoad() { super.viewDidLoad() createLayer() + if AppTheme().isDark { + box.fillColor = NSColor.clear + } } deinit { @@ -26,14 +30,22 @@ class WelcomeViewController: NSViewController { @IBAction func handleStartButton (_ sender: NSButton) { localPreferences.set(false, forKey: .firstLaunch, version: Versioning.appVersion) + localPreferences.set(WizardStep.finished.rawValue, forKey: .wizardStep) appWireframe!.flipToTasksController() } @IBAction func handleSettingsButton (_ sender: NSButton) { localPreferences.set(false, forKey: .firstLaunch, version: Versioning.appVersion) - localPreferences.set(1, forKey: .settingsActiveTab) appWireframe!.flipToWizardController() } + + @IBAction func handleQuitAppButton (_ sender: NSButton) { + NSApplication.shared.terminate(nil) + } + + @IBAction func handleMinimizeAppButton (_ sender: NSButton) { + AppDelegate.sharedApp().menu.triggerClose() + } } extension WelcomeViewController: Animatable { diff --git a/Delivery/macOS/Screens/Welcome/WizardViewController.swift b/Delivery/macOS/Screens/Welcome/WizardViewController.swift index cc7a633..26ae036 100644 --- a/Delivery/macOS/Screens/Welcome/WizardViewController.swift +++ b/Delivery/macOS/Screens/Welcome/WizardViewController.swift @@ -139,6 +139,14 @@ class WizardViewController: NSViewController { localPreferences.set(WizardStep.finished.rawValue, forKey: .wizardStep) appWireframe!.flipToTasksController() } + + @IBAction func handleQuitAppButton (_ sender: NSButton) { + NSApplication.shared.terminate(nil) + } + + @IBAction func handleMinimizeAppButton (_ sender: NSButton) { + AppDelegate.sharedApp().menu.triggerClose() + } } extension WizardViewController: Animatable { diff --git a/Jirassic.xcodeproj/project.pbxproj b/Jirassic.xcodeproj/project.pbxproj index e98fdc1..d28b302 100644 --- a/Jirassic.xcodeproj/project.pbxproj +++ b/Jirassic.xcodeproj/project.pbxproj @@ -2647,7 +2647,7 @@ INFOPLIST_FILE = "$(SRCROOT)/Delivery/macOS/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; MACOSX_DEPLOYMENT_TARGET = 10.12; - OTHER_SWIFT_FLAGS = "-D APPSTORE"; + OTHER_SWIFT_FLAGS = "-D APPSTORE -D DEBUG"; PRODUCT_BUNDLE_IDENTIFIER = com.jirassic.macos; PRODUCT_NAME = Jirassic; PROVISIONING_PROFILE = "f679af74-4f51-4414-a117-26fcd2203fad";