diff --git a/Clocker/Clocker.xcodeproj/xcuserdata/ban.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/Clocker/Clocker.xcodeproj/xcuserdata/ban.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist index fe2b454..f7636a3 100644 --- a/Clocker/Clocker.xcodeproj/xcuserdata/ban.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +++ b/Clocker/Clocker.xcodeproj/xcuserdata/ban.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -1,5 +1,29 @@ + + + + + + + + + + diff --git a/Clocker/Media.xcassets/Power Icon/Power.imageset/Contents.json b/Clocker/Media.xcassets/Power Icon/Power.imageset/Contents.json index 5d145fd..7846ee1 100644 --- a/Clocker/Media.xcassets/Power Icon/Power.imageset/Contents.json +++ b/Clocker/Media.xcassets/Power Icon/Power.imageset/Contents.json @@ -5,29 +5,29 @@ "scale" : "1x" }, { - "idiom" : "universal", - "scale" : "1x", "appearances" : [ { "appearance" : "luminosity", "value" : "dark" } - ] + ], + "idiom" : "universal", + "scale" : "1x" }, { + "filename" : "More.png", "idiom" : "universal", - "filename" : "PowerIcon.png", "scale" : "2x" }, { - "idiom" : "universal", - "filename" : "PowerIcon 2.png", "appearances" : [ { "appearance" : "luminosity", "value" : "dark" } ], + "filename" : "More-Dark.png", + "idiom" : "universal", "scale" : "2x" }, { @@ -35,18 +35,18 @@ "scale" : "3x" }, { - "idiom" : "universal", - "scale" : "3x", "appearances" : [ { "appearance" : "luminosity", "value" : "dark" } - ] + ], + "idiom" : "universal", + "scale" : "3x" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 } -} \ No newline at end of file +} diff --git a/Clocker/Media.xcassets/Power Icon/Power.imageset/More-Dark.png b/Clocker/Media.xcassets/Power Icon/Power.imageset/More-Dark.png new file mode 100644 index 0000000..7741424 Binary files /dev/null and b/Clocker/Media.xcassets/Power Icon/Power.imageset/More-Dark.png differ diff --git a/Clocker/Media.xcassets/Power Icon/Power.imageset/More.png b/Clocker/Media.xcassets/Power Icon/Power.imageset/More.png new file mode 100644 index 0000000..e669bd4 Binary files /dev/null and b/Clocker/Media.xcassets/Power Icon/Power.imageset/More.png differ diff --git a/Clocker/Media.xcassets/Power Icon/Power.imageset/PowerIcon 2.png b/Clocker/Media.xcassets/Power Icon/Power.imageset/PowerIcon 2.png deleted file mode 100644 index 2f8e3a1..0000000 Binary files a/Clocker/Media.xcassets/Power Icon/Power.imageset/PowerIcon 2.png and /dev/null differ diff --git a/Clocker/Media.xcassets/Power Icon/Power.imageset/PowerIcon.png b/Clocker/Media.xcassets/Power Icon/Power.imageset/PowerIcon.png deleted file mode 100644 index 50e5ca0..0000000 Binary files a/Clocker/Media.xcassets/Power Icon/Power.imageset/PowerIcon.png and /dev/null differ diff --git a/Clocker/Media.xcassets/Power Icon/PowerIcon-White.imageset/Contents.json b/Clocker/Media.xcassets/Power Icon/PowerIcon-White.imageset/Contents.json index 28bd840..38e3736 100644 --- a/Clocker/Media.xcassets/Power Icon/PowerIcon-White.imageset/Contents.json +++ b/Clocker/Media.xcassets/Power Icon/PowerIcon-White.imageset/Contents.json @@ -2,10 +2,10 @@ "images" : [ { "idiom" : "universal", - "filename" : "PowerIcon 2.png", "scale" : "1x" }, { + "filename" : "More-Dark.png", "idiom" : "universal", "scale" : "2x" }, @@ -15,7 +15,7 @@ } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 } -} \ No newline at end of file +} diff --git a/Clocker/Media.xcassets/Power Icon/PowerIcon-White.imageset/More-Dark.png b/Clocker/Media.xcassets/Power Icon/PowerIcon-White.imageset/More-Dark.png new file mode 100644 index 0000000..7741424 Binary files /dev/null and b/Clocker/Media.xcassets/Power Icon/PowerIcon-White.imageset/More-Dark.png differ diff --git a/Clocker/Media.xcassets/Power Icon/PowerIcon-White.imageset/PowerIcon 2.png b/Clocker/Media.xcassets/Power Icon/PowerIcon-White.imageset/PowerIcon 2.png deleted file mode 100644 index 2f8e3a1..0000000 Binary files a/Clocker/Media.xcassets/Power Icon/PowerIcon-White.imageset/PowerIcon 2.png and /dev/null differ diff --git a/Clocker/Media.xcassets/Power Icon/PowerIcon.imageset/Contents.json b/Clocker/Media.xcassets/Power Icon/PowerIcon.imageset/Contents.json index 5961ed0..df7937b 100644 --- a/Clocker/Media.xcassets/Power Icon/PowerIcon.imageset/Contents.json +++ b/Clocker/Media.xcassets/Power Icon/PowerIcon.imageset/Contents.json @@ -2,10 +2,10 @@ "images" : [ { "idiom" : "universal", - "filename" : "PowerIcon.png", "scale" : "1x" }, { + "filename" : "More.png", "idiom" : "universal", "scale" : "2x" }, @@ -15,7 +15,7 @@ } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 } -} \ No newline at end of file +} diff --git a/Clocker/Media.xcassets/Power Icon/PowerIcon.imageset/More.png b/Clocker/Media.xcassets/Power Icon/PowerIcon.imageset/More.png new file mode 100644 index 0000000..e669bd4 Binary files /dev/null and b/Clocker/Media.xcassets/Power Icon/PowerIcon.imageset/More.png differ diff --git a/Clocker/Media.xcassets/Power Icon/PowerIcon.imageset/PowerIcon.png b/Clocker/Media.xcassets/Power Icon/PowerIcon.imageset/PowerIcon.png deleted file mode 100644 index 50e5ca0..0000000 Binary files a/Clocker/Media.xcassets/Power Icon/PowerIcon.imageset/PowerIcon.png and /dev/null differ diff --git a/Clocker/Preferences/About/AboutViewController.swift b/Clocker/Preferences/About/AboutViewController.swift index 1bcd9e6..eb2bdb8 100644 --- a/Clocker/Preferences/About/AboutViewController.swift +++ b/Clocker/Preferences/About/AboutViewController.swift @@ -6,7 +6,7 @@ struct AboutUsConstants { static let AboutUsNibIdentifier = "CLAboutWindows" static let GitHubURL = "https://github.com/abhishekbanthia/Clocker/?ref=ClockerApp" static let PayPalURL = "https://paypal.me/abhishekbanthia1712" - static let TwitterLink = "https://twitter.com/n0shake/?ref=ClockerApp" + static let TwitterLink = "https://twitter.com/clocker_support/?ref=ClockerApp" static let PersonalWebsite = "http://abhishekbanthia.com/?ref=ClockerApp" static let AppStoreLink = "macappstore://itunes.apple.com/us/app/clocker/id1056643111?action=write-review" static let CrowdInLocalizationLink = "https://crwd.in/clocker" diff --git a/Clocker/Preferences/App Feedback/AppFeedbackWindow.xib b/Clocker/Preferences/App Feedback/AppFeedbackWindow.xib index ea57af3..f3350ce 100644 --- a/Clocker/Preferences/App Feedback/AppFeedbackWindow.xib +++ b/Clocker/Preferences/App Feedback/AppFeedbackWindow.xib @@ -1,8 +1,8 @@ - + - + @@ -12,10 +12,10 @@ - + @@ -23,24 +23,24 @@ - - + + - + - + - + - + - + @@ -55,14 +55,14 @@ - - + + - + - + @@ -73,7 +73,7 @@ - + @@ -84,7 +84,7 @@ - + @@ -98,6 +98,7 @@ + @@ -105,7 +106,7 @@ - + @@ -143,17 +144,6 @@ DQ - - - - - - - - - - - @@ -168,6 +158,36 @@ DQ + + + + + + + + + + + + + + + + + + + + @@ -175,22 +195,22 @@ DQ + + + - - + - - diff --git a/Clocker/Preferences/App Feedback/AppFeedbackWindowController.swift b/Clocker/Preferences/App Feedback/AppFeedbackWindowController.swift index 55fb716..6880ebb 100644 --- a/Clocker/Preferences/App Feedback/AppFeedbackWindowController.swift +++ b/Clocker/Preferences/App Feedback/AppFeedbackWindowController.swift @@ -33,6 +33,7 @@ class AppFeedbackWindowController: NSWindowController { @IBOutlet var informativeText: NSTextField! @IBOutlet var progressIndicator: NSProgressIndicator! + @IBOutlet var quickCommentsLabel: UnderlinedButton! private var themeDidChangeNotification: NSObjectProtocol? private var serialNumber: String? { let platformExpert = IOServiceGetMatchingService(kIOMasterPortDefault, IOServiceMatching("IOPlatformExpertDevice")) @@ -72,6 +73,7 @@ class AppFeedbackWindowController: NSWindowController { nameField.setAccessibilityIdentifier("NameField") emailField.setAccessibilityIdentifier("EmailField") progressIndicator.setAccessibilityIdentifier("ProgressIndicator") + quickCommentsLabel.setAccessibility("QuickCommentLabel") setup() @@ -204,19 +206,54 @@ class AppFeedbackWindowController: NSWindowController { informativeText.stringValue = CLEmptyString } - @IBOutlet var headerLabel: NSTextField! @IBOutlet var contactBox: NSBox! @IBOutlet var accessoryInfo: NSTextField! private func setup() { - headerLabel.stringValue = "Tell us what you think!".localized() contactBox.title = "Contact Information (Optional)".localized() accessoryInfo.stringValue = "Contact fields are optional! Your contact information will let us contact you in case we need more information or can help!".localized() - [headerLabel, accessoryInfo].forEach { $0?.textColor = Themer.shared().mainTextColor() } + let range = NSRange(location: 9, length: 15) + quickCommentsLabel.title = "Tweet to @ClockerSupport if you have a quick comment!" + setUnderline(for: quickCommentsLabel, range: range) + + [accessoryInfo].forEach { $0?.textColor = Themer.shared().mainTextColor() } contactBox.borderColor = Themer.shared().mainTextColor() } + + private func setUnderline(for button: UnderlinedButton?, range: NSRange) { + guard let underlinedButton = button else { return } + + let mutableParaghStyle = NSMutableParagraphStyle() + mutableParaghStyle.alignment = .center + + let originalText = NSMutableAttributedString(string: underlinedButton.title) + originalText.addAttribute(NSAttributedString.Key.underlineStyle, + value: NSNumber(value: Int8(NSUnderlineStyle.single.rawValue)), + range: range) + originalText.addAttribute(NSAttributedString.Key.foregroundColor, + value: Themer.shared().mainTextColor(), + range: NSRange(location: 0, length: underlinedButton.attributedTitle.string.count)) + originalText.addAttribute(NSAttributedString.Key.font, + value: (button?.font)!, + range: NSRange(location: 0, length: underlinedButton.attributedTitle.string.count)) + originalText.addAttribute(NSAttributedString.Key.paragraphStyle, + value: mutableParaghStyle, + range: NSRange(location: 0, length: underlinedButton.attributedTitle.string.count)) + underlinedButton.attributedTitle = originalText + } + + @IBAction func navigateToSupportTwitter(_: Any) { + guard let twitterURL = URL(string: AboutUsConstants.TwitterLink), + let countryCode = Locale.autoupdatingCurrent.regionCode else { return } + + NSWorkspace.shared.open(twitterURL) + + // Log this + let custom: [String: Any] = ["Country": countryCode] + Logger.log(object: custom, for: "Opened Twitter") + } } extension AppFeedbackWindowController: NSWindowDelegate {