diff --git a/Clocker/Clocker.xcodeproj/project.pbxproj b/Clocker/Clocker.xcodeproj/project.pbxproj index 3699e57..4ef8374 100755 --- a/Clocker/Clocker.xcodeproj/project.pbxproj +++ b/Clocker/Clocker.xcodeproj/project.pbxproj @@ -66,7 +66,7 @@ 35C36F5D2259DD96002FA5C6 /* TimezoneDataOperations.swift in Sources */ = {isa = PBXBuildFile; fileRef = 35C36F5B2259DD96002FA5C6 /* TimezoneDataOperations.swift */; }; 35C36F612259DE67002FA5C6 /* NotesPopover.xib in Resources */ = {isa = PBXBuildFile; fileRef = 35C36F5F2259DE67002FA5C6 /* NotesPopover.xib */; }; 35C36F622259DE67002FA5C6 /* NotesPopover.swift in Sources */ = {isa = PBXBuildFile; fileRef = 35C36F602259DE67002FA5C6 /* NotesPopover.swift */; }; - 35C36F662259DF4C002FA5C6 /* ReviewView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 35C36F642259DF4C002FA5C6 /* ReviewView.swift */; }; + 35C36F662259DF4C002FA5C6 /* UpcomingEventView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 35C36F642259DF4C002FA5C6 /* UpcomingEventView.swift */; }; 35C36F672259DF4C002FA5C6 /* ReviewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 35C36F652259DF4C002FA5C6 /* ReviewController.swift */; }; 35C36F692259DF55002FA5C6 /* TextViewWithPlaceholder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 35C36F682259DF55002FA5C6 /* TextViewWithPlaceholder.swift */; }; 35C36F6B2259E0E1002FA5C6 /* FloatingWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 35C36F6A2259E0E1002FA5C6 /* FloatingWindow.xib */; }; @@ -286,7 +286,7 @@ 35C36F5B2259DD96002FA5C6 /* TimezoneDataOperations.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TimezoneDataOperations.swift; sourceTree = ""; }; 35C36F5F2259DE67002FA5C6 /* NotesPopover.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = NotesPopover.xib; sourceTree = ""; }; 35C36F602259DE67002FA5C6 /* NotesPopover.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NotesPopover.swift; sourceTree = ""; }; - 35C36F642259DF4C002FA5C6 /* ReviewView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ReviewView.swift; sourceTree = ""; }; + 35C36F642259DF4C002FA5C6 /* UpcomingEventView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UpcomingEventView.swift; sourceTree = ""; }; 35C36F652259DF4C002FA5C6 /* ReviewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ReviewController.swift; sourceTree = ""; }; 35C36F682259DF55002FA5C6 /* TextViewWithPlaceholder.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TextViewWithPlaceholder.swift; sourceTree = ""; }; 35C36F6A2259E0E1002FA5C6 /* FloatingWindow.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = FloatingWindow.xib; sourceTree = ""; }; @@ -613,7 +613,7 @@ isa = PBXGroup; children = ( 35C36F652259DF4C002FA5C6 /* ReviewController.swift */, - 35C36F642259DF4C002FA5C6 /* ReviewView.swift */, + 35C36F642259DF4C002FA5C6 /* UpcomingEventView.swift */, ); path = "Rate Controller"; sourceTree = ""; @@ -1275,7 +1275,7 @@ 35C36F4E2259D981002FA5C6 /* DateFormatterManager.swift in Sources */, 35C36F0D225961DA002FA5C6 /* TimePeriod.swift in Sources */, 35C36EFB2259616B002FA5C6 /* Solar.swift in Sources */, - 35C36F662259DF4C002FA5C6 /* ReviewView.swift in Sources */, + 35C36F662259DF4C002FA5C6 /* UpcomingEventView.swift in Sources */, 35C36EF522595F14002FA5C6 /* OnboardingSearchController.swift in Sources */, 35C36F592259DD8A002FA5C6 /* TimezoneCellView.swift in Sources */, 35C11E2124873A550031F18C /* VersionUpdateHandler.swift in Sources */, @@ -1549,7 +1549,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 10.12; + MACOSX_DEPLOYMENT_TARGET = 10.13; MTL_ENABLE_DEBUG_INFO = YES; PRODUCT_BUNDLE_IDENTIFIER = com.abhishek.ClockerHelper; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -1586,7 +1586,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 10.12; + MACOSX_DEPLOYMENT_TARGET = 10.13; MTL_ENABLE_DEBUG_INFO = NO; PRODUCT_BUNDLE_IDENTIFIER = com.abhishek.ClockerHelper; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -1623,7 +1623,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 10.12; + MACOSX_DEPLOYMENT_TARGET = 10.13; MTL_ENABLE_DEBUG_INFO = NO; PRODUCT_BUNDLE_IDENTIFIER = com.abhishek.ClockerHelper; PRODUCT_NAME = "$(TARGET_NAME)"; diff --git a/Clocker/Clocker/ShortcutRecorder-master/ShortcutRecorder.xcodeproj/project.pbxproj b/Clocker/Clocker/ShortcutRecorder-master/ShortcutRecorder.xcodeproj/project.pbxproj index 2436ec0..0626725 100755 --- a/Clocker/Clocker/ShortcutRecorder-master/ShortcutRecorder.xcodeproj/project.pbxproj +++ b/Clocker/Clocker/ShortcutRecorder-master/ShortcutRecorder.xcodeproj/project.pbxproj @@ -883,6 +883,7 @@ GCC_PREFIX_HEADER = Library/Prefix.pch; INFOPLIST_FILE = Library/Info.plist; INSTALL_PATH = "@rpath"; + MACOSX_DEPLOYMENT_TARGET = 10.13; PRODUCT_BUNDLE_IDENTIFIER = com.kulakov.ShortcutRecorder; PRODUCT_NAME = ShortcutRecorder; PROVISIONING_PROFILE = ""; @@ -903,6 +904,7 @@ GCC_PREFIX_HEADER = Library/Prefix.pch; INFOPLIST_FILE = Library/Info.plist; INSTALL_PATH = "@rpath"; + MACOSX_DEPLOYMENT_TARGET = 10.13; PRODUCT_BUNDLE_IDENTIFIER = com.kulakov.ShortcutRecorder; PRODUCT_NAME = ShortcutRecorder; PROVISIONING_PROFILE = ""; diff --git a/Clocker/Clocker/en.lproj/Panel.xib b/Clocker/Clocker/en.lproj/Panel.xib index 5743bb1..c412235 100755 --- a/Clocker/Clocker/en.lproj/Panel.xib +++ b/Clocker/Clocker/en.lproj/Panel.xib @@ -42,16 +42,16 @@ - + - + - + @@ -260,8 +260,122 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -334,8 +448,8 @@ - - + + @@ -411,113 +525,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Clocker/Events and Reminders/EventCenter.swift b/Clocker/Events and Reminders/EventCenter.swift index 72747f2..f07fb6b 100644 --- a/Clocker/Events and Reminders/EventCenter.swift +++ b/Clocker/Events and Reminders/EventCenter.swift @@ -34,6 +34,11 @@ class EventCenter: NSObject { refetchAll() } + deinit { + // Just to be super safe + NotificationCenter.default.removeObserver(self) + } + private func refetchAll() { Logger.info("\nRefetching events from the store") eventsForDate = [:] diff --git a/Clocker/Panel/ParentPanelController+ModernSlider.swift b/Clocker/Panel/ParentPanelController+ModernSlider.swift index 8a328d1..e00d65e 100644 --- a/Clocker/Panel/ParentPanelController+ModernSlider.swift +++ b/Clocker/Panel/ParentPanelController+ModernSlider.swift @@ -3,7 +3,7 @@ import CoreLoggerKit import Foundation -extension ParentPanelController: NSCollectionViewDataSource, NSCollectionViewDelegate { +extension ParentPanelController: NSCollectionViewDataSource { func collectionView(_: NSCollectionView, numberOfItemsInSection _: Int) -> Int { return (96 * PanelConstants.modernSliderDaySupport * 2) + 1 } @@ -41,7 +41,8 @@ extension ParentPanelController { if shouldUpdate { modernSliderLabel.stringValue = timezoneFormattedStringRepresentation(hourQuarterDate) } else { - modernSliderLabel.stringValue = CLEmptyString + let fullString = NSMutableAttributedString(string: "Time Scroller") + modernSliderLabel.attributedStringValue = fullString } return hourQuarterDate diff --git a/Clocker/Panel/ParentPanelController.swift b/Clocker/Panel/ParentPanelController.swift index 9144399..3a3305d 100644 --- a/Clocker/Panel/ParentPanelController.swift +++ b/Clocker/Panel/ParentPanelController.swift @@ -11,7 +11,7 @@ struct PanelConstants { static let noThanksTitle = "No, thanks" static let yesWithQuestionMark = "Yes?" static let yesWithExclamation = "Yes!" - static let modernSliderDaySupport = 7 + static let modernSliderDaySupport = 5 } class ParentPanelController: NSWindowController { @@ -201,7 +201,6 @@ class ParentPanelController: NSWindowController { if modernSlider != nil { modernSlider.enclosingScrollView?.scrollerInsets = NSEdgeInsets(top: 0, left: 0, bottom: 100, right: 0) - modernSlider.delegate = self modernSlider.enclosingScrollView?.backgroundColor = NSColor.clear modernSlider.postsBoundsChangedNotifications = true NotificationCenter.default.addObserver(self, diff --git a/Clocker/Panel/Rate Controller/ReviewView.swift b/Clocker/Panel/Rate Controller/UpcomingEventView.swift similarity index 98% rename from Clocker/Panel/Rate Controller/ReviewView.swift rename to Clocker/Panel/Rate Controller/UpcomingEventView.swift index 93f953a..3b577ed 100644 --- a/Clocker/Panel/Rate Controller/ReviewView.swift +++ b/Clocker/Panel/Rate Controller/UpcomingEventView.swift @@ -2,7 +2,7 @@ import Cocoa -class ReviewView: NSView { +class UpcomingEventView: NSView { private var trackingArea: NSTrackingArea? override func mouseEntered(with event: NSEvent) { diff --git a/Clocker/Panel/UI/FloatingWindow.xib b/Clocker/Panel/UI/FloatingWindow.xib index 813693b..567fc3a 100644 --- a/Clocker/Panel/UI/FloatingWindow.xib +++ b/Clocker/Panel/UI/FloatingWindow.xib @@ -42,7 +42,7 @@ - + @@ -50,10 +50,10 @@ - + - + @@ -258,8 +258,103 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -327,8 +422,8 @@ - - + + @@ -402,101 +497,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Clocker/Panel/UI/HourMarkerViewItem.xib b/Clocker/Panel/UI/HourMarkerViewItem.xib index eca1188..08d8d83 100644 --- a/Clocker/Panel/UI/HourMarkerViewItem.xib +++ b/Clocker/Panel/UI/HourMarkerViewItem.xib @@ -6,7 +6,7 @@ - +