Browse Source

One Window and Multiple View Controllers!

v1.2.1
Abhishek Banthia 9 years ago
parent
commit
85ec92a5bf
  1. 188
      Clocker.xcodeproj/project.pbxproj
  2. BIN
      Clocker.xcodeproj/project.xcworkspace/xcuserdata/abhishekbanthia.xcuserdatad/UserInterfaceState.xcuserstate
  3. 3
      Clocker.xcodeproj/xcuserdata/abhishekbanthia.xcuserdatad/xcschemes/Clocker.xcscheme
  4. 156
      Clocker/AboutUsWindow/CLAboutUsView.xib
  5. 13
      Clocker/AboutUsWindow/CLAboutUsViewController.h
  6. 50
      Clocker/AboutUsWindow/CLAboutUsViewController.m
  7. 166
      Clocker/AboutUsWindow/CLAboutWindow.xib
  8. 15
      Clocker/AboutUsWindow/CLAboutWindowController.h
  9. 63
      Clocker/AboutUsWindow/CLAboutWindowController.m
  10. 261
      Clocker/Base.lproj/Panel.xib
  11. 337
      Clocker/Base.lproj/PreferencesWindow.xib
  12. 54
      Clocker/CLOneWindow/CLOneWindow.xib
  13. 26
      Clocker/CLOneWindow/CLOneWindowController.h
  14. 70
      Clocker/CLOneWindow/CLOneWindowController.m
  15. 16
      Clocker/CLRatingCellView.m
  16. 2
      Clocker/Clocker-Info.plist
  17. 4
      Clocker/MainMenu.xib
  18. 17
      Clocker/Panel.xib
  19. 4
      Clocker/PanelController.h
  20. 14
      Clocker/PanelController.m
  21. 308
      Clocker/Preferences/CLPreferencesView.xib
  22. 18
      Clocker/Preferences/CLPreferencesViewController.h
  23. 396
      Clocker/Preferences/CLPreferencesViewController.m
  24. 374
      Clocker/PreferencesWindow.xib
  25. 4
      Clocker/PreferencesWindowController.h
  26. 0
      Clocker/Utilities/CommonStrings.h
  27. 0
      Clocker/Utilities/CommonStrings.m
  28. 8
      Clocker/en.lproj/PreferencesWindow.xib
  29. 0
      Frameworks/Crashlytics.framework/Crashlytics
  30. 0
      Frameworks/Crashlytics.framework/Headers
  31. 0
      Frameworks/Crashlytics.framework/Modules
  32. 0
      Frameworks/Crashlytics.framework/Resources
  33. 0
      Frameworks/Crashlytics.framework/Versions/A/Crashlytics
  34. 0
      Frameworks/Crashlytics.framework/Versions/A/Headers/ANSCompatibility.h
  35. 0
      Frameworks/Crashlytics.framework/Versions/A/Headers/Answers.h
  36. 0
      Frameworks/Crashlytics.framework/Versions/A/Headers/CLSAttributes.h
  37. 0
      Frameworks/Crashlytics.framework/Versions/A/Headers/CLSLogging.h
  38. 0
      Frameworks/Crashlytics.framework/Versions/A/Headers/CLSReport.h
  39. 0
      Frameworks/Crashlytics.framework/Versions/A/Headers/CLSStackFrame.h
  40. 0
      Frameworks/Crashlytics.framework/Versions/A/Headers/Crashlytics.h
  41. 0
      Frameworks/Crashlytics.framework/Versions/A/Modules/module.modulemap
  42. 0
      Frameworks/Crashlytics.framework/Versions/A/Resources/Info.plist
  43. 0
      Frameworks/Crashlytics.framework/Versions/Current
  44. 0
      Frameworks/Crashlytics.framework/run
  45. 0
      Frameworks/Crashlytics.framework/submit
  46. 0
      Frameworks/Crashlytics.framework/uploadDSYM
  47. 0
      Frameworks/Fabric.framework/Fabric
  48. 0
      Frameworks/Fabric.framework/Headers
  49. 0
      Frameworks/Fabric.framework/Modules
  50. 0
      Frameworks/Fabric.framework/Resources
  51. 0
      Frameworks/Fabric.framework/Versions/A/Fabric
  52. 0
      Frameworks/Fabric.framework/Versions/A/Headers/FABAttributes.h
  53. 0
      Frameworks/Fabric.framework/Versions/A/Headers/Fabric.h
  54. 0
      Frameworks/Fabric.framework/Versions/A/Modules/module.modulemap
  55. 0
      Frameworks/Fabric.framework/Versions/A/Resources/Info.plist
  56. 0
      Frameworks/Fabric.framework/Versions/Current
  57. 0
      Frameworks/Fabric.framework/run
  58. 0
      Frameworks/Fabric.framework/uploadDSYM
  59. 0
      Frameworks/Security.framework/Headers
  60. 0
      Frameworks/Security.framework/Security.tbd
  61. 0
      Frameworks/Security.framework/Versions/A/Headers/AuthSession.h
  62. 0
      Frameworks/Security.framework/Versions/A/Headers/Authorization.h
  63. 0
      Frameworks/Security.framework/Versions/A/Headers/AuthorizationDB.h
  64. 0
      Frameworks/Security.framework/Versions/A/Headers/AuthorizationPlugin.h
  65. 0
      Frameworks/Security.framework/Versions/A/Headers/AuthorizationTags.h
  66. 0
      Frameworks/Security.framework/Versions/A/Headers/CMSDecoder.h
  67. 0
      Frameworks/Security.framework/Versions/A/Headers/CMSEncoder.h
  68. 0
      Frameworks/Security.framework/Versions/A/Headers/CSCommon.h
  69. 0
      Frameworks/Security.framework/Versions/A/Headers/CipherSuite.h
  70. 0
      Frameworks/Security.framework/Versions/A/Headers/CodeSigning.h
  71. 0
      Frameworks/Security.framework/Versions/A/Headers/SecACL.h
  72. 0
      Frameworks/Security.framework/Versions/A/Headers/SecAccess.h
  73. 0
      Frameworks/Security.framework/Versions/A/Headers/SecAccessControl.h
  74. 0
      Frameworks/Security.framework/Versions/A/Headers/SecAsn1Coder.h
  75. 0
      Frameworks/Security.framework/Versions/A/Headers/SecAsn1Templates.h
  76. 0
      Frameworks/Security.framework/Versions/A/Headers/SecAsn1Types.h
  77. 0
      Frameworks/Security.framework/Versions/A/Headers/SecBase.h
  78. 0
      Frameworks/Security.framework/Versions/A/Headers/SecCertificate.h
  79. 0
      Frameworks/Security.framework/Versions/A/Headers/SecCertificateOIDs.h
  80. 0
      Frameworks/Security.framework/Versions/A/Headers/SecCode.h
  81. 0
      Frameworks/Security.framework/Versions/A/Headers/SecCodeHost.h
  82. 0
      Frameworks/Security.framework/Versions/A/Headers/SecCustomTransform.h
  83. 0
      Frameworks/Security.framework/Versions/A/Headers/SecDecodeTransform.h
  84. 0
      Frameworks/Security.framework/Versions/A/Headers/SecDigestTransform.h
  85. 0
      Frameworks/Security.framework/Versions/A/Headers/SecEncodeTransform.h
  86. 0
      Frameworks/Security.framework/Versions/A/Headers/SecEncryptTransform.h
  87. 0
      Frameworks/Security.framework/Versions/A/Headers/SecIdentity.h
  88. 0
      Frameworks/Security.framework/Versions/A/Headers/SecIdentitySearch.h
  89. 0
      Frameworks/Security.framework/Versions/A/Headers/SecImportExport.h
  90. 0
      Frameworks/Security.framework/Versions/A/Headers/SecItem.h
  91. 0
      Frameworks/Security.framework/Versions/A/Headers/SecKey.h
  92. 0
      Frameworks/Security.framework/Versions/A/Headers/SecKeychain.h
  93. 0
      Frameworks/Security.framework/Versions/A/Headers/SecKeychainItem.h
  94. 0
      Frameworks/Security.framework/Versions/A/Headers/SecKeychainSearch.h
  95. 0
      Frameworks/Security.framework/Versions/A/Headers/SecPolicy.h
  96. 0
      Frameworks/Security.framework/Versions/A/Headers/SecPolicySearch.h
  97. 0
      Frameworks/Security.framework/Versions/A/Headers/SecRandom.h
  98. 0
      Frameworks/Security.framework/Versions/A/Headers/SecReadTransform.h
  99. 0
      Frameworks/Security.framework/Versions/A/Headers/SecRequirement.h
  100. 0
      Frameworks/Security.framework/Versions/A/Headers/SecSignVerifyTransform.h
  101. Some files were not shown because too many files have changed in this diff Show More

188
Clocker.xcodeproj/project.pbxproj

@ -7,17 +7,25 @@
objects = {
/* Begin PBXBuildFile section */
9A2000D11BFBD472002BFDE8 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 9A2000CF1BFBD472002BFDE8 /* Localizable.strings */; };
9A25F7451C1A5E17007D369B /* Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 9A25F7421C1A5E17007D369B /* Info.plist */; };
9A25F7461C1A5E17007D369B /* iRate.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 9A25F7431C1A5E17007D369B /* iRate.bundle */; };
9A25F7471C1A5E17007D369B /* iRate.m in Sources */ = {isa = PBXBuildFile; fileRef = 9A25F7441C1A5E17007D369B /* iRate.m */; };
9A392EE81C1CDD530072C10A /* CLAboutUsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9A392EE61C1CDD530072C10A /* CLAboutUsViewController.m */; };
9A392EE91C1CDD530072C10A /* CLAboutUsView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9A392EE71C1CDD530072C10A /* CLAboutUsView.xib */; };
9A392EED1C1CE9950072C10A /* CLPreferencesViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9A392EEB1C1CE9950072C10A /* CLPreferencesViewController.m */; };
9A392EEE1C1CE9950072C10A /* CLPreferencesView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9A392EEC1C1CE9950072C10A /* CLPreferencesView.xib */; };
9A4379251BEC223900F4E27F /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A4379211BEC223900F4E27F /* Security.framework */; };
9A4379261BEC223900F4E27F /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A4379221BEC223900F4E27F /* SystemConfiguration.framework */; };
9A4379271BEC223900F4E27F /* Fabric.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A4379231BEC223900F4E27F /* Fabric.framework */; };
9A4379281BEC223900F4E27F /* Crashlytics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A4379241BEC223900F4E27F /* Crashlytics.framework */; };
9A43792A1BEC230A00F4E27F /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A4379291BEC230A00F4E27F /* libc++.tbd */; };
9A43792C1BEC231100F4E27F /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A43792B1BEC231100F4E27F /* libz.tbd */; };
9A43792E1BEC256200F4E27F /* Media.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 9A43792D1BEC256200F4E27F /* Media.xcassets */; };
9A56DB801C1CFB73004CE6AF /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9A56DB7D1C1CFB73004CE6AF /* MainMenu.xib */; };
9A56DB811C1CFB73004CE6AF /* Panel.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9A56DB7E1C1CFB73004CE6AF /* Panel.xib */; };
9A5951BA1C1D0A22009C17AA /* Crashlytics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A5951B91C1D0A22009C17AA /* Crashlytics.framework */; };
9A5951BD1C1D0A8D009C17AA /* CommonStrings.m in Sources */ = {isa = PBXBuildFile; fileRef = 9A5951BB1C1D0A8D009C17AA /* CommonStrings.m */; };
9A5951C01C1D0AA0009C17AA /* CLOneWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9A5951BE1C1D0AA0009C17AA /* CLOneWindowController.m */; };
9A5951C21C1D0AAD009C17AA /* CLOneWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9A5951C11C1D0AAD009C17AA /* CLOneWindow.xib */; };
9A8605AE1BEC148400A810A4 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 9A8605AD1BEC148400A810A4 /* main.m */; };
9A8605B31BEC14A600A810A4 /* ColoredButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 9A8605B21BEC14A600A810A4 /* ColoredButton.m */; };
9A8605B61BEC14BE00A810A4 /* MenubarController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9A8605B41BEC14BE00A810A4 /* MenubarController.m */; };
@ -26,58 +34,47 @@
9A8605BB1BEC14DC00A810A4 /* PanelController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9A8605B91BEC14DC00A810A4 /* PanelController.m */; };
9A8605BF1BEC14F600A810A4 /* BackgroundView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9A8605BC1BEC14F600A810A4 /* BackgroundView.m */; };
9A8605C01BEC14F600A810A4 /* Panel.m in Sources */ = {isa = PBXBuildFile; fileRef = 9A8605BD1BEC14F600A810A4 /* Panel.m */; };
9A8605C11BEC14F600A810A4 /* PreferencesWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9A8605BE1BEC14F600A810A4 /* PreferencesWindowController.m */; };
9A8605D81BEC155B00A810A4 /* PowerIcon.png in Resources */ = {isa = PBXBuildFile; fileRef = 9A8605CF1BEC155B00A810A4 /* PowerIcon.png */; };
9A8605D91BEC155B00A810A4 /* Status.png in Resources */ = {isa = PBXBuildFile; fileRef = 9A8605D01BEC155B00A810A4 /* Status.png */; };
9A8605DA1BEC155B00A810A4 /* Status@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 9A8605D11BEC155B00A810A4 /* Status@2x.png */; };
9A8605DB1BEC155B00A810A4 /* StatusHighlighted.png in Resources */ = {isa = PBXBuildFile; fileRef = 9A8605D21BEC155B00A810A4 /* StatusHighlighted.png */; };
9A8605DC1BEC155B00A810A4 /* StatusHighlighted@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 9A8605D31BEC155B00A810A4 /* StatusHighlighted@2x.png */; };
9A8605DF1BEC15C400A810A4 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9A8605DD1BEC15C400A810A4 /* MainMenu.xib */; };
9AB935781C1AD79D001285A0 /* ClockerIcon-16.png in Resources */ = {isa = PBXBuildFile; fileRef = 9AB935771C1AD79D001285A0 /* ClockerIcon-16.png */; };
9AB9357B1C1AD8F7001285A0 /* CLRatingCellView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9AB9357A1C1AD8F7001285A0 /* CLRatingCellView.m */; };
9ABA38AC1BFAD7F80073EA4D /* Panel.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9ABA38AE1BFAD7F80073EA4D /* Panel.xib */; };
9ABA38AF1BFAD83F0073EA4D /* PreferencesWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9ABA38B11BFAD83F0073EA4D /* PreferencesWindow.xib */; };
9AC678E41C1ABAB9003B4F6B /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9AC678E31C1ABAB9003B4F6B /* QuartzCore.framework */; };
9AD232741C1B96A700D1D446 /* ClockerIcon-256.png in Resources */ = {isa = PBXBuildFile; fileRef = 9AD232731C1B96A700D1D446 /* ClockerIcon-256.png */; };
9AD232781C1B985700D1D446 /* CLAboutWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9AD232761C1B985700D1D446 /* CLAboutWindowController.m */; };
9AD232791C1B985700D1D446 /* CLAboutWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9AD232771C1B985700D1D446 /* CLAboutWindow.xib */; };
9AD2327B1C1B995900D1D446 /* Vector.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 9AD2327A1C1B995900D1D446 /* Vector.jpg */; };
9AD2327D1C1B9A9000D1D446 /* aboutTemplate.png in Resources */ = {isa = PBXBuildFile; fileRef = 9AD2327C1C1B9A9000D1D446 /* aboutTemplate.png */; };
9AD2327F1C1BA04800D1D446 /* FB-FindUsonFacebook-online-144.png in Resources */ = {isa = PBXBuildFile; fileRef = 9AD2327E1C1BA04800D1D446 /* FB-FindUsonFacebook-online-144.png */; };
9AD232821C1BDA3A00D1D446 /* CommonStrings.m in Sources */ = {isa = PBXBuildFile; fileRef = 9AD232811C1BDA3A00D1D446 /* CommonStrings.m */; };
DD4F7C0913C30F9F00825C6E /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DD4F7C0813C30F9F00825C6E /* Cocoa.framework */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
9A2000CC1BFBD3D7002BFDE8 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Clocker/Base.lproj/MainMenu.xib; sourceTree = "<group>"; };
9A2000CD1BFBD3D7002BFDE8 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/Panel.xib; sourceTree = "<group>"; };
9A2000CE1BFBD3D7002BFDE8 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/PreferencesWindow.xib; sourceTree = "<group>"; };
9A2000D01BFBD472002BFDE8 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = Clocker/en.lproj/Localizable.strings; sourceTree = "<group>"; };
9A2000D21BFBD47C002BFDE8 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = Clocker/fr.lproj/Localizable.strings; sourceTree = "<group>"; };
9A25F7411C1A5E17007D369B /* iRate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = iRate.h; path = "Clocker/Rate App/iRate.h"; sourceTree = "<group>"; };
9A25F7421C1A5E17007D369B /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = "Clocker/Rate App/Info.plist"; sourceTree = "<group>"; };
9A25F7431C1A5E17007D369B /* iRate.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; name = iRate.bundle; path = "Clocker/Rate App/iRate.bundle"; sourceTree = "<group>"; };
9A25F7441C1A5E17007D369B /* iRate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = iRate.m; path = "Clocker/Rate App/iRate.m"; sourceTree = "<group>"; };
9A25F7491C1A672A007D369B /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = Clocker/ja.lproj/Localizable.strings; sourceTree = "<group>"; };
9A25F74A1C1A672A007D369B /* ja */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = ja; path = Clocker/ja.lproj/MainMenu.xib; sourceTree = "<group>"; };
9A25F74B1C1A672A007D369B /* ja */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = ja; path = ja.lproj/Panel.xib; sourceTree = "<group>"; };
9A25F74C1C1A672A007D369B /* ja */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = ja; path = ja.lproj/PreferencesWindow.xib; sourceTree = "<group>"; };
9A25F74D1C1A6C08007D369B /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = Clocker/de.lproj/Localizable.strings; sourceTree = "<group>"; };
9A25F74E1C1A6C08007D369B /* de */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = de; path = Clocker/de.lproj/MainMenu.xib; sourceTree = "<group>"; };
9A25F74F1C1A6C08007D369B /* de */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = de; path = de.lproj/Panel.xib; sourceTree = "<group>"; };
9A25F7501C1A6C08007D369B /* de */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = de; path = de.lproj/PreferencesWindow.xib; sourceTree = "<group>"; };
9A392EE51C1CDD530072C10A /* CLAboutUsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CLAboutUsViewController.h; path = Clocker/AboutUsWindow/CLAboutUsViewController.h; sourceTree = "<group>"; };
9A392EE61C1CDD530072C10A /* CLAboutUsViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CLAboutUsViewController.m; path = Clocker/AboutUsWindow/CLAboutUsViewController.m; sourceTree = "<group>"; };
9A392EE71C1CDD530072C10A /* CLAboutUsView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = CLAboutUsView.xib; path = Clocker/AboutUsWindow/CLAboutUsView.xib; sourceTree = "<group>"; };
9A392EEA1C1CE9950072C10A /* CLPreferencesViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CLPreferencesViewController.h; path = Clocker/Preferences/CLPreferencesViewController.h; sourceTree = "<group>"; };
9A392EEB1C1CE9950072C10A /* CLPreferencesViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CLPreferencesViewController.m; path = Clocker/Preferences/CLPreferencesViewController.m; sourceTree = "<group>"; };
9A392EEC1C1CE9950072C10A /* CLPreferencesView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = CLPreferencesView.xib; path = Clocker/Preferences/CLPreferencesView.xib; sourceTree = "<group>"; };
9A4379211BEC223900F4E27F /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Security.framework; sourceTree = "<group>"; };
9A4379221BEC223900F4E27F /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = SystemConfiguration.framework; sourceTree = "<group>"; };
9A4379231BEC223900F4E27F /* Fabric.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Fabric.framework; sourceTree = "<group>"; };
9A4379241BEC223900F4E27F /* Crashlytics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Crashlytics.framework; sourceTree = "<group>"; };
9A4379291BEC230A00F4E27F /* libc++.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++.tbd"; path = "usr/lib/libc++.tbd"; sourceTree = SDKROOT; };
9A43792B1BEC231100F4E27F /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; };
9A43792D1BEC256200F4E27F /* Media.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Media.xcassets; sourceTree = "<group>"; };
9A56DB7D1C1CFB73004CE6AF /* MainMenu.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = MainMenu.xib; path = Clocker/MainMenu.xib; sourceTree = "<group>"; };
9A56DB7E1C1CFB73004CE6AF /* Panel.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = Panel.xib; path = Clocker/Panel.xib; sourceTree = "<group>"; };
9A5951B91C1D0A22009C17AA /* Crashlytics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Crashlytics.framework; path = Frameworks/Crashlytics.framework; sourceTree = "<group>"; };
9A5951BB1C1D0A8D009C17AA /* CommonStrings.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CommonStrings.m; path = Clocker/Utilities/CommonStrings.m; sourceTree = "<group>"; };
9A5951BC1C1D0A8D009C17AA /* CommonStrings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommonStrings.h; path = Clocker/Utilities/CommonStrings.h; sourceTree = "<group>"; };
9A5951BE1C1D0AA0009C17AA /* CLOneWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CLOneWindowController.m; path = Clocker/CLOneWindow/CLOneWindowController.m; sourceTree = "<group>"; };
9A5951BF1C1D0AA0009C17AA /* CLOneWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CLOneWindowController.h; path = Clocker/CLOneWindow/CLOneWindowController.h; sourceTree = "<group>"; };
9A5951C11C1D0AAD009C17AA /* CLOneWindow.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = CLOneWindow.xib; path = Clocker/CLOneWindow/CLOneWindow.xib; sourceTree = "<group>"; };
9A5B1A8D1BECDFB700A77C68 /* Clocker.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.xml; name = Clocker.entitlements; path = Clocker/Clocker.entitlements; sourceTree = "<group>"; };
9A825E3B1C064F6C0037CA3B /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = Clocker/en.lproj/MainMenu.xib; sourceTree = "<group>"; };
9A825E3C1C064F700037CA3B /* fr */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = fr; path = Clocker/fr.lproj/MainMenu.xib; sourceTree = "<group>"; };
9A825E3D1C06534E0037CA3B /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/PreferencesWindow.xib; sourceTree = "<group>"; };
9A825E3F1C06538B0037CA3B /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/Panel.xib; sourceTree = "<group>"; };
9A8605AD1BEC148400A810A4 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = Clocker/main.m; sourceTree = "<group>"; };
9A8605B21BEC14A600A810A4 /* ColoredButton.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = ColoredButton.m; path = Clocker/ColoredButton.m; sourceTree = "<group>"; };
9A8605B41BEC14BE00A810A4 /* MenubarController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = MenubarController.m; path = Clocker/MenubarController.m; sourceTree = "<group>"; };
@ -86,12 +83,10 @@
9A8605B91BEC14DC00A810A4 /* PanelController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = PanelController.m; path = Clocker/PanelController.m; sourceTree = "<group>"; };
9A8605BC1BEC14F600A810A4 /* BackgroundView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = BackgroundView.m; path = Clocker/BackgroundView.m; sourceTree = "<group>"; };
9A8605BD1BEC14F600A810A4 /* Panel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = Panel.m; path = Clocker/Panel.m; sourceTree = "<group>"; };
9A8605BE1BEC14F600A810A4 /* PreferencesWindowController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = PreferencesWindowController.m; path = Clocker/PreferencesWindowController.m; sourceTree = "<group>"; };
9A8605C31BEC155B00A810A4 /* Clocker-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "Clocker-Info.plist"; path = "Clocker/Clocker-Info.plist"; sourceTree = "<group>"; };
9A8605C41BEC155B00A810A4 /* BackgroundView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BackgroundView.h; path = Clocker/BackgroundView.h; sourceTree = "<group>"; };
9A8605C51BEC155B00A810A4 /* StatusItemView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StatusItemView.h; path = Clocker/StatusItemView.h; sourceTree = "<group>"; };
9A8605C61BEC155B00A810A4 /* Panel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Panel.h; path = Clocker/Panel.h; sourceTree = "<group>"; };
9A8605C71BEC155B00A810A4 /* PreferencesWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PreferencesWindowController.h; path = Clocker/PreferencesWindowController.h; sourceTree = "<group>"; };
9A8605C81BEC155B00A810A4 /* PanelController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PanelController.h; path = Clocker/PanelController.h; sourceTree = "<group>"; };
9A8605C91BEC155B00A810A4 /* MenubarController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MenubarController.h; path = Clocker/MenubarController.h; sourceTree = "<group>"; };
9A8605CA1BEC155B00A810A4 /* ApplicationDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ApplicationDelegate.h; path = Clocker/ApplicationDelegate.h; sourceTree = "<group>"; };
@ -105,18 +100,11 @@
9AB935771C1AD79D001285A0 /* ClockerIcon-16.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "ClockerIcon-16.png"; path = "Icons/ClockerIcon-16.png"; sourceTree = "<group>"; };
9AB935791C1AD8F7001285A0 /* CLRatingCellView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CLRatingCellView.h; path = Clocker/CLRatingCellView.h; sourceTree = "<group>"; };
9AB9357A1C1AD8F7001285A0 /* CLRatingCellView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CLRatingCellView.m; path = Clocker/CLRatingCellView.m; sourceTree = "<group>"; };
9ABA38B31BFAD8520073EA4D /* fr */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = fr; path = fr.lproj/Panel.xib; sourceTree = "<group>"; };
9ABA38B41BFAD8520073EA4D /* fr */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = fr; path = fr.lproj/PreferencesWindow.xib; sourceTree = "<group>"; };
9AC678E31C1ABAB9003B4F6B /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
9AD232731C1B96A700D1D446 /* ClockerIcon-256.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "ClockerIcon-256.png"; path = "Icons/ClockerIcon-256.png"; sourceTree = "<group>"; };
9AD232751C1B985700D1D446 /* CLAboutWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CLAboutWindowController.h; path = Clocker/AboutUsWindow/CLAboutWindowController.h; sourceTree = "<group>"; };
9AD232761C1B985700D1D446 /* CLAboutWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CLAboutWindowController.m; path = Clocker/AboutUsWindow/CLAboutWindowController.m; sourceTree = "<group>"; };
9AD232771C1B985700D1D446 /* CLAboutWindow.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = CLAboutWindow.xib; path = Clocker/AboutUsWindow/CLAboutWindow.xib; sourceTree = "<group>"; };
9AD2327A1C1B995900D1D446 /* Vector.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = Vector.jpg; path = ../Vector.jpg; sourceTree = "<group>"; };
9AD2327C1C1B9A9000D1D446 /* aboutTemplate.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = aboutTemplate.png; path = ../../../Downloads/aboutTemplate.png; sourceTree = "<group>"; };
9AD2327E1C1BA04800D1D446 /* FB-FindUsonFacebook-online-144.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "FB-FindUsonFacebook-online-144.png"; path = "../../../Downloads/logos-and-badges_find-us_online/png/FB-FindUsonFacebook-online-144.png"; sourceTree = "<group>"; };
9AD232801C1BDA3A00D1D446 /* CommonStrings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommonStrings.h; path = Clocker/CommonStrings.h; sourceTree = "<group>"; };
9AD232811C1BDA3A00D1D446 /* CommonStrings.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CommonStrings.m; path = Clocker/CommonStrings.m; sourceTree = "<group>"; };
DD4F7C0413C30F9F00825C6E /* Clocker.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Clocker.app; sourceTree = BUILT_PRODUCTS_DIR; };
DD4F7C0813C30F9F00825C6E /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
DD4F7C0B13C30F9F00825C6E /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; };
@ -131,9 +119,9 @@
files = (
9AC678E41C1ABAB9003B4F6B /* QuartzCore.framework in Frameworks */,
9A43792C1BEC231100F4E27F /* libz.tbd in Frameworks */,
9A5951BA1C1D0A22009C17AA /* Crashlytics.framework in Frameworks */,
9A43792A1BEC230A00F4E27F /* libc++.tbd in Frameworks */,
9A4379251BEC223900F4E27F /* Security.framework in Frameworks */,
9A4379281BEC223900F4E27F /* Crashlytics.framework in Frameworks */,
9A4379261BEC223900F4E27F /* SystemConfiguration.framework in Frameworks */,
DD4F7C0913C30F9F00825C6E /* Cocoa.framework in Frameworks */,
9A4379271BEC223900F4E27F /* Fabric.framework in Frameworks */,
@ -143,14 +131,13 @@
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
9A2000C61BFBCEF6002BFDE8 /* Localization Strings */ = {
9A2000C61BFBCEF6002BFDE8 /* Utilties */ = {
isa = PBXGroup;
children = (
9A2000CF1BFBD472002BFDE8 /* Localizable.strings */,
9AD232801C1BDA3A00D1D446 /* CommonStrings.h */,
9AD232811C1BDA3A00D1D446 /* CommonStrings.m */,
9A5951BB1C1D0A8D009C17AA /* CommonStrings.m */,
9A5951BC1C1D0A8D009C17AA /* CommonStrings.h */,
);
name = "Localization Strings";
name = Utilties;
sourceTree = "<group>";
};
9A25F7481C1A5E21007D369B /* Rate */ = {
@ -164,13 +151,25 @@
name = Rate;
sourceTree = "<group>";
};
9A5951C31C1D0DE3009C17AA /* View Controllers */ = {
isa = PBXGroup;
children = (
9A392EE51C1CDD530072C10A /* CLAboutUsViewController.h */,
9A392EE61C1CDD530072C10A /* CLAboutUsViewController.m */,
9A392EEA1C1CE9950072C10A /* CLPreferencesViewController.h */,
9A392EEB1C1CE9950072C10A /* CLPreferencesViewController.m */,
);
name = "View Controllers";
sourceTree = "<group>";
};
9A8605E01BEC15F400A810A4 /* XIB */ = {
isa = PBXGroup;
children = (
9A8605DD1BEC15C400A810A4 /* MainMenu.xib */,
9ABA38AE1BFAD7F80073EA4D /* Panel.xib */,
9ABA38B11BFAD83F0073EA4D /* PreferencesWindow.xib */,
9AD232771C1B985700D1D446 /* CLAboutWindow.xib */,
9A5951C11C1D0AAD009C17AA /* CLOneWindow.xib */,
9A56DB7D1C1CFB73004CE6AF /* MainMenu.xib */,
9A56DB7E1C1CFB73004CE6AF /* Panel.xib */,
9A392EE71C1CDD530072C10A /* CLAboutUsView.xib */,
9A392EEC1C1CE9950072C10A /* CLPreferencesView.xib */,
);
name = XIB;
sourceTree = "<group>";
@ -178,6 +177,7 @@
9A8605E11BEC160700A810A4 /* Images */ = {
isa = PBXGroup;
children = (
9A8605E31BEC163100A810A4 /* Views */,
9AD2327E1C1BA04800D1D446 /* FB-FindUsonFacebook-online-144.png */,
9AD2327C1C1B9A9000D1D446 /* aboutTemplate.png */,
9AD2327A1C1B995900D1D446 /* Vector.jpg */,
@ -229,16 +229,14 @@
9A8605E51BEC165400A810A4 /* Controllers */ = {
isa = PBXGroup;
children = (
9AD232751C1B985700D1D446 /* CLAboutWindowController.h */,
9AD232761C1B985700D1D446 /* CLAboutWindowController.m */,
9A5951BE1C1D0AA0009C17AA /* CLOneWindowController.m */,
9A5951BF1C1D0AA0009C17AA /* CLOneWindowController.h */,
9A8605CA1BEC155B00A810A4 /* ApplicationDelegate.h */,
9A8605B51BEC14BE00A810A4 /* ApplicationDelegate.m */,
9A8605C91BEC155B00A810A4 /* MenubarController.h */,
9A8605B41BEC14BE00A810A4 /* MenubarController.m */,
9A8605C81BEC155B00A810A4 /* PanelController.h */,
9A8605B91BEC14DC00A810A4 /* PanelController.m */,
9A8605C71BEC155B00A810A4 /* PreferencesWindowController.h */,
9A8605BE1BEC14F600A810A4 /* PreferencesWindowController.m */,
);
name = Controllers;
sourceTree = "<group>";
@ -248,11 +246,11 @@
children = (
9A5B1A8D1BECDFB700A77C68 /* Clocker.entitlements */,
9A43792D1BEC256200F4E27F /* Media.xcassets */,
9A2000C61BFBCEF6002BFDE8 /* Localization Strings */,
9A2000C61BFBCEF6002BFDE8 /* Utilties */,
9A8605E01BEC15F400A810A4 /* XIB */,
9A8605E11BEC160700A810A4 /* Images */,
9A8605E41BEC164C00A810A4 /* Main */,
9A8605E31BEC163100A810A4 /* Views */,
9A5951C31C1D0DE3009C17AA /* View Controllers */,
9A8605E51BEC165400A810A4 /* Controllers */,
9A8605E21BEC161300A810A4 /* Superclass */,
DD4F7C0713C30F9F00825C6E /* Frameworks */,
@ -272,11 +270,11 @@
DD4F7C0713C30F9F00825C6E /* Frameworks */ = {
isa = PBXGroup;
children = (
9A5951B91C1D0A22009C17AA /* Crashlytics.framework */,
9AC678E31C1ABAB9003B4F6B /* QuartzCore.framework */,
9A4379211BEC223900F4E27F /* Security.framework */,
9A4379221BEC223900F4E27F /* SystemConfiguration.framework */,
9A4379231BEC223900F4E27F /* Fabric.framework */,
9A4379241BEC223900F4E27F /* Crashlytics.framework */,
9A43792B1BEC231100F4E27F /* libz.tbd */,
9A4379291BEC230A00F4E27F /* libc++.tbd */,
DD4F7C0B13C30F9F00825C6E /* AppKit.framework */,
@ -314,6 +312,7 @@
DD4F7BFB13C30F9F00825C6E /* Project object */ = {
isa = PBXProject;
attributes = {
CLASSPREFIX = CL;
LastUpgradeCheck = 0700;
TargetAttributes = {
DD4F7C0313C30F9F00825C6E = {
@ -330,13 +329,6 @@
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
hasScannedForEncodings = 0;
knownRegions = (
en,
fr,
Base,
ja,
de,
);
mainGroup = DD4F7BF913C30F9F00825C6E;
productRefGroup = DD4F7C0513C30F9F00825C6E /* Products */;
projectDirPath = "";
@ -352,24 +344,24 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
9A392EEE1C1CE9950072C10A /* CLPreferencesView.xib in Resources */,
9AD2327F1C1BA04800D1D446 /* FB-FindUsonFacebook-online-144.png in Resources */,
9ABA38AF1BFAD83F0073EA4D /* PreferencesWindow.xib in Resources */,
9A8605DF1BEC15C400A810A4 /* MainMenu.xib in Resources */,
9A56DB811C1CFB73004CE6AF /* Panel.xib in Resources */,
9A8605D91BEC155B00A810A4 /* Status.png in Resources */,
9ABA38AC1BFAD7F80073EA4D /* Panel.xib in Resources */,
9A43792E1BEC256200F4E27F /* Media.xcassets in Resources */,
9AB935781C1AD79D001285A0 /* ClockerIcon-16.png in Resources */,
9AD232741C1B96A700D1D446 /* ClockerIcon-256.png in Resources */,
9A25F7461C1A5E17007D369B /* iRate.bundle in Resources */,
9A2000D11BFBD472002BFDE8 /* Localizable.strings in Resources */,
9AD232791C1B985700D1D446 /* CLAboutWindow.xib in Resources */,
9A8605DC1BEC155B00A810A4 /* StatusHighlighted@2x.png in Resources */,
9A8605DA1BEC155B00A810A4 /* Status@2x.png in Resources */,
9AD2327B1C1B995900D1D446 /* Vector.jpg in Resources */,
9A25F7451C1A5E17007D369B /* Info.plist in Resources */,
9A392EE91C1CDD530072C10A /* CLAboutUsView.xib in Resources */,
9AD2327D1C1B9A9000D1D446 /* aboutTemplate.png in Resources */,
9A8605DB1BEC155B00A810A4 /* StatusHighlighted.png in Resources */,
9A5951C21C1D0AAD009C17AA /* CLOneWindow.xib in Resources */,
9A8605D81BEC155B00A810A4 /* PowerIcon.png in Resources */,
9A56DB801C1CFB73004CE6AF /* MainMenu.xib in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -382,12 +374,14 @@
files = (
);
inputPaths = (
"$(SRCROOT)/myfile",
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "./Fabric.framework/run 94088f95c41979e8019b67d5795f52bbbe7104d4 2a8a3a4356dd9c0f768dd23e8ef4e862faeffab4c2de8e7868d56edb8f3b7fa3";
shellScript = "";
showEnvVarsInLog = 0;
};
/* End PBXShellScriptBuildPhase section */
@ -398,74 +392,23 @@
files = (
9A8605BF1BEC14F600A810A4 /* BackgroundView.m in Sources */,
9AB9357B1C1AD8F7001285A0 /* CLRatingCellView.m in Sources */,
9A392EED1C1CE9950072C10A /* CLPreferencesViewController.m in Sources */,
9A5951BD1C1D0A8D009C17AA /* CommonStrings.m in Sources */,
9A25F7471C1A5E17007D369B /* iRate.m in Sources */,
9AD232821C1BDA3A00D1D446 /* CommonStrings.m in Sources */,
9A8605C01BEC14F600A810A4 /* Panel.m in Sources */,
9A8605C11BEC14F600A810A4 /* PreferencesWindowController.m in Sources */,
9A8605BA1BEC14DC00A810A4 /* StatusItemView.m in Sources */,
9AD232781C1B985700D1D446 /* CLAboutWindowController.m in Sources */,
9A8605BB1BEC14DC00A810A4 /* PanelController.m in Sources */,
9A8605B61BEC14BE00A810A4 /* MenubarController.m in Sources */,
9A5951C01C1D0AA0009C17AA /* CLOneWindowController.m in Sources */,
9A8605B71BEC14BE00A810A4 /* ApplicationDelegate.m in Sources */,
9A8605B31BEC14A600A810A4 /* ColoredButton.m in Sources */,
9A8605AE1BEC148400A810A4 /* main.m in Sources */,
9A392EE81C1CDD530072C10A /* CLAboutUsViewController.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXVariantGroup section */
9A2000CF1BFBD472002BFDE8 /* Localizable.strings */ = {
isa = PBXVariantGroup;
children = (
9A2000D01BFBD472002BFDE8 /* en */,
9A2000D21BFBD47C002BFDE8 /* fr */,
9A25F7491C1A672A007D369B /* ja */,
9A25F74D1C1A6C08007D369B /* de */,
);
name = Localizable.strings;
sourceTree = "<group>";
};
9A8605DD1BEC15C400A810A4 /* MainMenu.xib */ = {
isa = PBXVariantGroup;
children = (
9A2000CC1BFBD3D7002BFDE8 /* Base */,
9A825E3B1C064F6C0037CA3B /* en */,
9A825E3C1C064F700037CA3B /* fr */,
9A25F74A1C1A672A007D369B /* ja */,
9A25F74E1C1A6C08007D369B /* de */,
);
name = MainMenu.xib;
sourceTree = "<group>";
};
9ABA38AE1BFAD7F80073EA4D /* Panel.xib */ = {
isa = PBXVariantGroup;
children = (
9ABA38B31BFAD8520073EA4D /* fr */,
9A2000CD1BFBD3D7002BFDE8 /* Base */,
9A825E3F1C06538B0037CA3B /* en */,
9A25F74B1C1A672A007D369B /* ja */,
9A25F74F1C1A6C08007D369B /* de */,
);
name = Panel.xib;
path = Clocker;
sourceTree = "<group>";
};
9ABA38B11BFAD83F0073EA4D /* PreferencesWindow.xib */ = {
isa = PBXVariantGroup;
children = (
9ABA38B41BFAD8520073EA4D /* fr */,
9A2000CE1BFBD3D7002BFDE8 /* Base */,
9A825E3D1C06534E0037CA3B /* en */,
9A25F74C1C1A672A007D369B /* ja */,
9A25F7501C1A6C08007D369B /* de */,
);
name = PreferencesWindow.xib;
path = Clocker;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
9A5B1A8B1BECDB5B00A77C68 /* Distribution */ = {
isa = XCBuildConfiguration;
@ -510,6 +453,7 @@
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)",
"$(PROJECT_DIR)/Frameworks",
);
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "Clocker/Clocker-Prefix.pch";
@ -606,6 +550,7 @@
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)",
"$(PROJECT_DIR)/Frameworks",
);
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "Clocker/Clocker-Prefix.pch";
@ -629,6 +574,7 @@
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)",
"$(PROJECT_DIR)/Frameworks",
);
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "Clocker/Clocker-Prefix.pch";

BIN
Clocker.xcodeproj/project.xcworkspace/xcuserdata/abhishekbanthia.xcuserdatad/UserInterfaceState.xcuserstate generated

Binary file not shown.

3
Clocker.xcodeproj/xcuserdata/abhishekbanthia.xcuserdatad/xcschemes/Clocker.xcscheme

@ -52,8 +52,7 @@
debugServiceExtension = "internal"
allowLocationSimulation = "YES"
showNonLocalizedStrings = "YES"
language = "fr"
region = "FR">
language = "en">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference

156
Clocker/AboutUsWindow/CLAboutUsView.xib

@ -0,0 +1,156 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="9531" systemVersion="15C50" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="9531"/>
</dependencies>
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="CLAboutUsViewController">
<connections>
<outlet property="view" destination="FS5-f2-b1Z" id="qSe-zw-rRT"/>
</connections>
</customObject>
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
<view id="FS5-f2-b1Z">
<rect key="frame" x="0.0" y="0.0" width="504" height="207"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="p2G-hA-MSX">
<rect key="frame" x="20" y="56" width="125" height="117"/>
<constraints>
<constraint firstAttribute="width" constant="125" id="6Kp-RK-dT4"/>
<constraint firstAttribute="height" constant="117" id="znw-VN-bXv"/>
</constraints>
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="ClockerIcon-256" id="pfa-88-uAu"/>
</imageView>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="XlC-Xd-67t">
<rect key="frame" x="161" y="152" width="97" height="35"/>
<constraints>
<constraint firstAttribute="width" constant="93" id="NgB-aR-GfY"/>
<constraint firstAttribute="height" constant="35" id="dqF-vG-wml"/>
</constraints>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Clocker" id="KPE-f2-s6r">
<font key="font" size="29" name="HelveticaNeue-Thin"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="FG9-E5-o8y">
<rect key="frame" x="164" y="133" width="79" height="23"/>
<constraints>
<constraint firstAttribute="height" constant="23" id="APM-BF-sIg"/>
<constraint firstAttribute="width" constant="75" id="W3D-bf-G5h"/>
</constraints>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Version 1.2" id="ctT-VL-V5M">
<font key="font" size="16" name="HelveticaNeue-Thin"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="5Eo-aJ-L8H">
<rect key="frame" x="164" y="111" width="199" height="20"/>
<constraints>
<constraint firstAttribute="height" constant="20" id="6fy-MI-uin"/>
<constraint firstAttribute="width" constant="195" id="kzy-kb-gYL"/>
</constraints>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Copyright (2015) Abhishek Banthia" id="4PX-se-5ds">
<font key="font" size="14" name="HelveticaNeue-UltraLight"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="6Cx-BF-XMU">
<rect key="frame" x="164" y="83" width="334" height="20"/>
<constraints>
<constraint firstAttribute="height" constant="20" id="Oob-bz-4Vp"/>
<constraint firstAttribute="width" constant="330" id="RyU-Mg-Xun"/>
</constraints>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Clocker is completely open-source and is available for reuse under" id="oId-kW-4fE">
<font key="font" size="10" name="HelveticaNeue-Light"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="fgO-N3-3oh">
<rect key="frame" x="153" y="13" width="116" height="32"/>
<constraints>
<constraint firstAttribute="height" constant="21" id="HOR-7s-O7V"/>
<constraint firstAttribute="width" constant="104" id="fjr-FG-Jlq"/>
</constraints>
<buttonCell key="cell" type="push" title="View Source" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="yEt-bN-Jci">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
<connections>
<action selector="viewSource:" target="-2" id="gkr-T0-0OI"/>
</connections>
</button>
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="q67-QZ-7g3">
<rect key="frame" x="260" y="13" width="117" height="32"/>
<constraints>
<constraint firstAttribute="height" constant="21" id="Fw5-r2-JCs"/>
<constraint firstAttribute="width" constant="105" id="zmg-WE-hsM"/>
</constraints>
<buttonCell key="cell" type="push" title="Report Issue" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="HO1-pf-GNd">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
<connections>
<action selector="reportIssue:" target="-2" id="71W-Nb-pYu"/>
</connections>
</button>
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="P3u-Um-Nby">
<rect key="frame" x="367" y="13" width="123" height="32"/>
<constraints>
<constraint firstAttribute="width" constant="111" id="5Yt-bH-NGf"/>
<constraint firstAttribute="height" constant="21" id="8Jh-fm-8up"/>
</constraints>
<buttonCell key="cell" type="push" bezelStyle="rounded" image="FB-FindUsonFacebook-online-144" imagePosition="only" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="KI2-hO-Wif">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
<connections>
<action selector="openFacebookPage:" target="-2" id="gnQ-cM-gbO"/>
</connections>
</button>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Rzs-xE-sfs">
<rect key="frame" x="165" y="68" width="334" height="20"/>
<constraints>
<constraint firstAttribute="height" constant="20" id="2sg-Q1-h9h"/>
<constraint firstAttribute="width" constant="330" id="MHq-fu-8k6"/>
</constraints>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="the MIT License." id="JAy-Yp-MXm">
<font key="font" size="10" name="HelveticaNeue-Light"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
</subviews>
<constraints>
<constraint firstItem="fgO-N3-3oh" firstAttribute="leading" secondItem="p2G-hA-MSX" secondAttribute="trailing" constant="14" id="4rX-vc-Me4"/>
<constraint firstItem="p2G-hA-MSX" firstAttribute="leading" secondItem="FS5-f2-b1Z" secondAttribute="leading" constant="20" id="8LW-4H-HKD"/>
<constraint firstAttribute="bottom" secondItem="q67-QZ-7g3" secondAttribute="bottom" constant="20" id="Cl5-lU-Hlw"/>
<constraint firstAttribute="bottom" secondItem="fgO-N3-3oh" secondAttribute="bottom" constant="20" id="Ka3-lR-aW1"/>
<constraint firstItem="p2G-hA-MSX" firstAttribute="top" secondItem="FS5-f2-b1Z" secondAttribute="top" constant="34" id="LFJ-eg-NOC"/>
<constraint firstItem="Rzs-xE-sfs" firstAttribute="leading" secondItem="p2G-hA-MSX" secondAttribute="trailing" constant="22" id="Mru-Qk-R35"/>
<constraint firstItem="P3u-Um-Nby" firstAttribute="leading" secondItem="q67-QZ-7g3" secondAttribute="trailing" constant="2" id="NtI-jY-BNB"/>
<constraint firstItem="6Cx-BF-XMU" firstAttribute="leading" secondItem="p2G-hA-MSX" secondAttribute="trailing" constant="21" id="PxC-Pa-PfL"/>
<constraint firstItem="XlC-Xd-67t" firstAttribute="leading" secondItem="p2G-hA-MSX" secondAttribute="trailing" constant="18" id="ReB-0P-Ppj"/>
<constraint firstItem="5Eo-aJ-L8H" firstAttribute="leading" secondItem="p2G-hA-MSX" secondAttribute="trailing" constant="21" id="a9Y-c0-NKB"/>
<constraint firstAttribute="bottom" secondItem="P3u-Um-Nby" secondAttribute="bottom" constant="20" id="csw-Zl-TRQ"/>
<constraint firstItem="q67-QZ-7g3" firstAttribute="leading" secondItem="fgO-N3-3oh" secondAttribute="trailing" constant="3" id="fA5-O5-kY8"/>
<constraint firstItem="FG9-E5-o8y" firstAttribute="leading" secondItem="p2G-hA-MSX" secondAttribute="trailing" constant="21" id="kyh-fi-23P"/>
<constraint firstItem="5Eo-aJ-L8H" firstAttribute="top" secondItem="FG9-E5-o8y" secondAttribute="bottom" constant="2" id="pVM-TS-Wvl"/>
<constraint firstItem="XlC-Xd-67t" firstAttribute="top" secondItem="FS5-f2-b1Z" secondAttribute="top" constant="20" id="slR-Qu-uJh"/>
<constraint firstItem="FG9-E5-o8y" firstAttribute="top" secondItem="XlC-Xd-67t" secondAttribute="bottom" constant="-4" id="yHu-dm-LPw"/>
<constraint firstItem="Rzs-xE-sfs" firstAttribute="top" secondItem="6Cx-BF-XMU" secondAttribute="bottom" constant="-5" id="ydK-a7-uQy"/>
<constraint firstItem="6Cx-BF-XMU" firstAttribute="top" secondItem="5Eo-aJ-L8H" secondAttribute="bottom" constant="8" id="zki-ag-D4H"/>
</constraints>
<point key="canvasLocation" x="321" y="253.5"/>
</view>
</objects>
<resources>
<image name="ClockerIcon-256" width="256" height="256"/>
<image name="FB-FindUsonFacebook-online-144" width="144" height="27"/>
</resources>
</document>

13
Clocker/AboutUsWindow/CLAboutUsViewController.h

@ -0,0 +1,13 @@
//
// CLAboutUsViewController.h
// Clocker
//
// Created by Abhishek Banthia on 12/12/15.
//
//
#import <Cocoa/Cocoa.h>
@interface CLAboutUsViewController : NSViewController
@end

50
Clocker/AboutUsWindow/CLAboutUsViewController.m

@ -0,0 +1,50 @@
//
// CLAboutUsViewController.m
// Clocker
//
// Created by Abhishek Banthia on 12/12/15.
//
//
#import "CLAboutUsViewController.h"
@interface CLAboutUsViewController ()
@end
static CLAboutUsViewController *sharedAboutUs = nil;
NSString *const CLAboutUsNibIdentifier = @"CLAboutWindow";
NSString *const CLGitHubURL = @"https://github.com/Abhishaker17/Clocker";
NSString *const CLIssueURL =@"https://github.com/Abhishaker17/Clocker/issues";
NSString *const CLFacebookPageURL = @"https://www.facebook.com/ClockerMenubarClock/";
@implementation CLAboutUsViewController
- (void)viewDidLoad {
[super viewDidLoad];
CALayer *viewLayer = [CALayer layer];
[viewLayer setBackgroundColor:CGColorCreateGenericRGB(255.0, 255.0, 255.0, 0.8)]; //RGB plus Alpha Channel
[self.view setWantsLayer:YES]; // view's backing store is using a Core Animation Layer
[self.view setLayer:viewLayer];
// Do view setup here.
}
- (IBAction)viewSource:(id)sender
{
[[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:CLGitHubURL]];
}
- (IBAction)reportIssue:(id)sender
{
//
[[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:CLIssueURL]];
}
- (IBAction)openFacebookPage:(id)sender
{
[[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:CLFacebookPageURL]];
}
@end

166
Clocker/AboutUsWindow/CLAboutWindow.xib

@ -1,166 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="9531" systemVersion="15C50" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="9531"/>
</dependencies>
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="CLAboutWindowController">
<connections>
<outlet property="window" destination="F0z-JX-Cv5" id="gIp-Ho-8D9"/>
</connections>
</customObject>
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
<window allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" hasShadow="NO" oneShot="NO" releasedWhenClosed="NO" showsToolbarButton="NO" animationBehavior="default" id="F0z-JX-Cv5">
<windowStyleMask key="styleMask" titled="YES" closable="YES" unifiedTitleAndToolbar="YES"/>
<rect key="contentRect" x="196" y="240" width="504" height="229"/>
<rect key="screenRect" x="0.0" y="0.0" width="1280" height="777"/>
<value key="minSize" type="size" width="504" height="229"/>
<value key="maxSize" type="size" width="504" height="229"/>
<view key="contentView" id="se5-gp-TjO">
<rect key="frame" x="0.0" y="0.0" width="504" height="229"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="BsP-Tb-4sJ">
<rect key="frame" x="20" y="56" width="125" height="117"/>
<constraints>
<constraint firstAttribute="height" constant="117" id="RrP-Vg-GBa"/>
<constraint firstAttribute="width" constant="125" id="gZj-LY-MWe"/>
</constraints>
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="ClockerIcon-256" id="m30-9D-QyB"/>
</imageView>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="aT9-yS-c3k">
<rect key="frame" x="161" y="152" width="97" height="35"/>
<constraints>
<constraint firstAttribute="height" constant="35" id="UyY-KI-AX4"/>
<constraint firstAttribute="width" constant="93" id="xVd-xK-q10"/>
</constraints>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Clocker" id="Lj4-TU-n4Y">
<font key="font" size="29" name="HelveticaNeue-Thin"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="BpB-kg-4aM">
<rect key="frame" x="164" y="133" width="79" height="23"/>
<constraints>
<constraint firstAttribute="width" constant="75" id="3tP-5e-nsb"/>
<constraint firstAttribute="height" constant="23" id="pln-QB-nQM"/>
</constraints>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Version 1.2" id="8dp-NX-aX5">
<font key="font" size="16" name="HelveticaNeue-Thin"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="tXd-tB-xLA">
<rect key="frame" x="164" y="111" width="199" height="20"/>
<constraints>
<constraint firstAttribute="width" constant="195" id="Jg6-ve-vTn"/>
<constraint firstAttribute="height" constant="20" id="fIN-Te-Np8"/>
</constraints>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Copyright (2015) Abhishek Banthia" id="0sO-QJ-REN">
<font key="font" size="14" name="HelveticaNeue-UltraLight"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="zA5-13-Tpe">
<rect key="frame" x="164" y="83" width="334" height="20"/>
<constraints>
<constraint firstAttribute="width" constant="330" id="UCQ-E5-zGd"/>
<constraint firstAttribute="height" constant="20" id="hYQ-9a-Wtw"/>
</constraints>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Clocker is completely open-source and is available for reuse under" id="aI5-C5-JE1">
<font key="font" size="10" name="HelveticaNeue-Light"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Ai0-zj-hWG">
<rect key="frame" x="153" y="13" width="116" height="32"/>
<constraints>
<constraint firstAttribute="width" constant="104" id="VAx-Fd-avD"/>
<constraint firstAttribute="height" constant="21" id="frd-nz-x47"/>
</constraints>
<buttonCell key="cell" type="push" title="View Source" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="1xZ-FG-lFo">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
<connections>
<action selector="viewSource:" target="-2" id="clk-nW-2lg"/>
</connections>
</button>
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="xs4-xQ-4FY">
<rect key="frame" x="260" y="13" width="117" height="32"/>
<constraints>
<constraint firstAttribute="height" constant="21" id="KEt-2P-cqC"/>
<constraint firstAttribute="width" constant="105" id="ZjE-fm-LLA"/>
</constraints>
<buttonCell key="cell" type="push" title="Report Issue" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="sFv-8K-jHG">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
<connections>
<action selector="reportIssue:" target="-2" id="FMT-l3-yHo"/>
</connections>
</button>
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Odv-R0-7ED">
<rect key="frame" x="367" y="13" width="123" height="32"/>
<constraints>
<constraint firstAttribute="width" constant="111" id="3KL-Hh-DNh"/>
<constraint firstAttribute="height" constant="21" id="zOP-mp-319"/>
</constraints>
<buttonCell key="cell" type="push" bezelStyle="rounded" image="FB-FindUsonFacebook-online-144" imagePosition="only" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="S4v-dW-xay">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
<connections>
<action selector="openFacebookPage:" target="-2" id="5N5-sF-7db"/>
</connections>
</button>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Ho6-Pn-eV6">
<rect key="frame" x="165" y="68" width="334" height="20"/>
<constraints>
<constraint firstAttribute="width" constant="330" id="4Re-Xl-N2L"/>
<constraint firstAttribute="height" constant="20" id="SV5-yn-c72"/>
</constraints>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="the MIT License." id="jE1-of-cML">
<font key="font" size="10" name="HelveticaNeue-Light"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
</subviews>
<constraints>
<constraint firstItem="BsP-Tb-4sJ" firstAttribute="centerY" secondItem="se5-gp-TjO" secondAttribute="centerY" id="8cx-uj-8RG"/>
<constraint firstItem="Odv-R0-7ED" firstAttribute="leading" secondItem="xs4-xQ-4FY" secondAttribute="trailing" constant="2" id="BJ5-Oj-ixK"/>
<constraint firstItem="aT9-yS-c3k" firstAttribute="top" secondItem="se5-gp-TjO" secondAttribute="top" constant="42" id="BiF-xY-b6E"/>
<constraint firstAttribute="bottom" secondItem="xs4-xQ-4FY" secondAttribute="bottom" constant="20" id="MTt-gE-wQ5"/>
<constraint firstItem="BpB-kg-4aM" firstAttribute="leading" secondItem="BsP-Tb-4sJ" secondAttribute="trailing" constant="21" id="SyA-kb-fDK"/>
<constraint firstItem="BsP-Tb-4sJ" firstAttribute="leading" secondItem="se5-gp-TjO" secondAttribute="leading" constant="20" id="Vb0-iz-1ft"/>
<constraint firstItem="Ai0-zj-hWG" firstAttribute="leading" secondItem="BsP-Tb-4sJ" secondAttribute="trailing" constant="14" id="WIf-k5-3mZ"/>
<constraint firstItem="aT9-yS-c3k" firstAttribute="leading" secondItem="BsP-Tb-4sJ" secondAttribute="trailing" constant="18" id="b7E-pJ-nIU"/>
<constraint firstItem="zA5-13-Tpe" firstAttribute="top" secondItem="tXd-tB-xLA" secondAttribute="bottom" constant="8" id="fLA-bJ-Tnw"/>
<constraint firstItem="tXd-tB-xLA" firstAttribute="top" secondItem="BpB-kg-4aM" secondAttribute="bottom" constant="2" id="gah-gH-BmR"/>
<constraint firstItem="Ho6-Pn-eV6" firstAttribute="top" secondItem="zA5-13-Tpe" secondAttribute="bottom" constant="-5" id="hBr-Zv-R8T"/>
<constraint firstItem="zA5-13-Tpe" firstAttribute="leading" secondItem="BsP-Tb-4sJ" secondAttribute="trailing" constant="21" id="hJo-gz-c23"/>
<constraint firstAttribute="bottom" secondItem="Ai0-zj-hWG" secondAttribute="bottom" constant="20" id="imC-eC-ASI"/>
<constraint firstItem="Ho6-Pn-eV6" firstAttribute="leading" secondItem="BsP-Tb-4sJ" secondAttribute="trailing" constant="22" id="lB9-6w-aoM"/>
<constraint firstItem="BpB-kg-4aM" firstAttribute="top" secondItem="aT9-yS-c3k" secondAttribute="bottom" constant="-4" id="uUP-Ea-smc"/>
<constraint firstItem="xs4-xQ-4FY" firstAttribute="leading" secondItem="Ai0-zj-hWG" secondAttribute="trailing" constant="3" id="ul7-8R-AfW"/>
<constraint firstItem="tXd-tB-xLA" firstAttribute="leading" secondItem="BsP-Tb-4sJ" secondAttribute="trailing" constant="21" id="yGF-jQ-Ydp"/>
<constraint firstAttribute="bottom" secondItem="Odv-R0-7ED" secondAttribute="bottom" constant="20" id="yLC-Dg-aDQ"/>
</constraints>
</view>
<connections>
<outlet property="delegate" destination="-2" id="0bl-1N-AYu"/>
</connections>
<point key="canvasLocation" x="167" y="267.5"/>
</window>
</objects>
<resources>
<image name="ClockerIcon-256" width="256" height="256"/>
<image name="FB-FindUsonFacebook-online-144" width="144" height="27"/>
</resources>
</document>

15
Clocker/AboutUsWindow/CLAboutWindowController.h

@ -1,15 +0,0 @@
//
// CLAboutWindowController.h
// Clocker
//
// Created by Abhishek Banthia on 12/11/15.
//
//
#import <Cocoa/Cocoa.h>
@interface CLAboutWindowController : NSWindowController
+ (instancetype)sharedReference;
@end

63
Clocker/AboutUsWindow/CLAboutWindowController.m

@ -1,63 +0,0 @@
//
// CLAboutWindowController.m
// Clocker
//
// Created by Abhishek Banthia on 12/11/15.
//
//
#import "CLAboutWindowController.h"
@interface CLAboutWindowController ()
@end
static CLAboutWindowController *sharedAboutUs = nil;
NSString *const CLAboutUsWindowNibIdentifier = @"CLAboutWindow";
NSString *const CLSourceCodeURL = @"https://github.com/Abhishaker17/Clocker";
NSString *const CLIssueReportingURL =@"https://github.com/Abhishaker17/Clocker/issues";
NSString *const CLFacebookURL = @"https://www.facebook.com/ClockerMenubarClock/";
@implementation CLAboutWindowController
- (void)windowDidLoad {
[super windowDidLoad];
self.window.titleVisibility = NSWindowTitleHidden;
self.window.titlebarAppearsTransparent = YES;
self.window.styleMask |= NSFullSizeContentViewWindowMask;
// Implement this method to handle any initialization after your window controller's window has been loaded from its nib file.
}
+ (instancetype)sharedReference
{
if (sharedAboutUs == nil)
{
/*Using a thread safe pattern*/
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
sharedAboutUs = [[self alloc] initWithWindowNibName:CLAboutUsWindowNibIdentifier];
});
}
return sharedAboutUs;
}
- (IBAction)viewSource:(id)sender
{
[[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:CLSourceCodeURL]];
}
- (IBAction)reportIssue:(id)sender
{
//
[[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:CLIssueReportingURL]];
}
- (IBAction)openFacebookPage:(id)sender
{
[[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:CLFacebookURL]];
}
@end

261
Clocker/Base.lproj/Panel.xib

@ -1,261 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="9531" systemVersion="15C50" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="9531"/>
</dependencies>
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="PanelController">
<connections>
<outlet property="backgroundView" destination="6" id="20"/>
<outlet property="mainTableview" destination="dFw-ts-8OZ" id="wwJ-jA-lCy"/>
<outlet property="preferencesButton" destination="OFy-u1-TnH" id="SId-Ih-ssT"/>
<outlet property="scrollViewHeight" destination="QcT-N0-G4s" id="EHr-Co-L0Z"/>
<outlet property="shutdownButton" destination="nTt-pf-Hw2" id="gCK-0D-gnK"/>
<outlet property="window" destination="5" id="7"/>
</connections>
</customObject>
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
<window allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" restorable="NO" oneShot="NO" releasedWhenClosed="NO" showsToolbarButton="NO" visibleAtLaunch="NO" animationBehavior="none" id="5" customClass="Panel">
<windowStyleMask key="styleMask" utility="YES" nonactivatingPanel="YES" texturedBackground="YES"/>
<windowCollectionBehavior key="collectionBehavior" moveToActiveSpace="YES" ignoresCycle="YES"/>
<windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
<rect key="contentRect" x="162" y="101" width="280" height="273"/>
<rect key="screenRect" x="0.0" y="0.0" width="1280" height="777"/>
<view key="contentView" id="6" customClass="BackgroundView">
<rect key="frame" x="0.0" y="0.0" width="280" height="273"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<scrollView borderType="none" autohidesScrollers="YES" horizontalLineScroll="56" horizontalPageScroll="10" verticalLineScroll="56" verticalPageScroll="10" hasHorizontalScroller="NO" hasVerticalScroller="NO" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="4Gd-Nv-fXr">
<rect key="frame" x="-1" y="0.0" width="282" height="265"/>
<clipView key="contentView" id="4MZ-Di-yNR">
<rect key="frame" x="0.0" y="0.0" width="282" height="265"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" columnSelection="YES" multipleSelection="NO" autosaveColumns="NO" rowHeight="55" viewBased="YES" id="dFw-ts-8OZ">
<rect key="frame" x="0.0" y="0.0" width="282" height="0.0"/>
<autoresizingMask key="autoresizingMask"/>
<size key="intercellSpacing" width="3" height="1"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
<tableViewGridLines key="gridStyleMask" dashed="YES"/>
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
<tableColumns>
<tableColumn width="279" minWidth="40" maxWidth="1000" id="LTt-db-Dwv">
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border">
<font key="font" metaFont="smallSystem"/>
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
</tableHeaderCell>
<textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" title="Text Cell" id="7LK-2q-H3f">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
<prototypeCellViews>
<tableCellView identifier="timeZoneCell" id="qbN-ba-fho">
<rect key="frame" x="1" y="0.0" width="279" height="60"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" tag="100" translatesAutoresizingMaskIntoConstraints="NO" id="etF-33-bCB">
<rect key="frame" x="8" y="26" width="144" height="26"/>
<constraints>
<constraint firstAttribute="width" constant="140" id="32b-h6-joo"/>
<constraint firstAttribute="height" constant="26" id="vod-YN-iNX"/>
</constraints>
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" placeholderString="Timezone Name" id="rnh-AP-ooc">
<font key="font" size="15" name="Helvetica-Light"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField verticalHuggingPriority="750" tag="102" translatesAutoresizingMaskIntoConstraints="NO" id="QUd-7D-q14">
<rect key="frame" x="8" y="9" width="104" height="22"/>
<constraints>
<constraint firstAttribute="height" constant="22" id="42Y-hy-Uo7"/>
<constraint firstAttribute="width" constant="100" id="fkH-oq-qvM"/>
</constraints>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" placeholderString="Date" id="74U-rv-5xj">
<font key="font" size="13" name="Helvetica-Bold"/>
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" tag="101" translatesAutoresizingMaskIntoConstraints="NO" id="vnv-J2-7r1">
<rect key="frame" x="127" y="17" width="146" height="33"/>
<constraints>
<constraint firstAttribute="height" constant="33" id="3WU-de-OQL"/>
<constraint firstAttribute="width" constant="142" id="cQV-gJ-zMz"/>
</constraints>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" placeholderString="23:46" id="g8s-EU-UHx">
<font key="font" size="31" name="Helvetica-Light"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
</subviews>
<constraints>
<constraint firstItem="QUd-7D-q14" firstAttribute="leading" secondItem="qbN-ba-fho" secondAttribute="leading" constant="10" id="0Qz-Ev-efP"/>
<constraint firstItem="etF-33-bCB" firstAttribute="top" secondItem="qbN-ba-fho" secondAttribute="top" constant="8" id="Lct-kG-usb"/>
<constraint firstItem="vnv-J2-7r1" firstAttribute="centerY" secondItem="qbN-ba-fho" secondAttribute="centerY" constant="-3.5" id="TuQ-gE-ZUh"/>
<constraint firstItem="QUd-7D-q14" firstAttribute="top" secondItem="etF-33-bCB" secondAttribute="bottom" constant="-5" id="VO6-Zn-eA3"/>
<constraint firstItem="etF-33-bCB" firstAttribute="leading" secondItem="qbN-ba-fho" secondAttribute="leading" constant="10" id="ueW-ow-ZRq"/>
<constraint firstAttribute="trailing" secondItem="vnv-J2-7r1" secondAttribute="trailing" constant="8" id="zXo-eA-0bQ"/>
</constraints>
<connections>
<outlet property="textField" destination="etF-33-bCB" id="6fd-cc-Qq2"/>
</connections>
</tableCellView>
<tableCellView identifier="ratingCellView" id="4ho-r2-eVW" customClass="CLRatingCellView">
<rect key="frame" x="1" y="61" width="279" height="51"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="mku-A0-EIQ">
<rect key="frame" x="92" y="31" width="105" height="20"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Enjoying Clocker?" id="55l-U5-P9U">
<font key="font" size="13" name="HelveticaNeue-Light"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="CBv-VR-BIz">
<rect key="frame" x="29" y="2" width="112" height="25"/>
<constraints>
<constraint firstAttribute="width" constant="100" id="WbS-IE-VsM"/>
<constraint firstAttribute="height" constant="14" id="Xf2-aX-RW7"/>
</constraints>
<buttonCell key="cell" type="push" title="Not Really" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="4ys-FB-B1V">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" size="13" name="HelveticaNeue-Light"/>
</buttonCell>
<connections>
<action selector="actionOnNegativeFeedback:" target="4ho-r2-eVW" id="uJp-Xo-Isu"/>
</connections>
</button>
<imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="tIF-nT-8k3">
<rect key="frame" x="72" y="31" width="16" height="16"/>
<constraints>
<constraint firstAttribute="width" constant="16" id="u1H-ge-Kj2"/>
<constraint firstAttribute="height" constant="16" id="yER-dv-KZ4"/>
</constraints>
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="ClockerIcon-16" id="l66-77-6cb"/>
</imageView>
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="8zQ-01-DC1">
<rect key="frame" x="134" y="2" width="112" height="25"/>
<buttonCell key="cell" type="push" title="Yes!" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="Azs-lv-bzd">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" size="13" name="HelveticaNeue-Light"/>
</buttonCell>
<connections>
<action selector="actionOnPositiveFeedback:" target="4ho-r2-eVW" id="IER-S9-71N"/>
</connections>
</button>
</subviews>
<constraints>
<constraint firstItem="8zQ-01-DC1" firstAttribute="top" secondItem="mku-A0-EIQ" secondAttribute="bottom" constant="8" id="BLk-B9-ukQ"/>
<constraint firstItem="8zQ-01-DC1" firstAttribute="height" secondItem="CBv-VR-BIz" secondAttribute="height" id="F2j-PD-q73"/>
<constraint firstItem="mku-A0-EIQ" firstAttribute="centerX" secondItem="4ho-r2-eVW" secondAttribute="centerX" constant="5" id="J6T-FK-6uC"/>
<constraint firstItem="CBv-VR-BIz" firstAttribute="top" secondItem="mku-A0-EIQ" secondAttribute="bottom" constant="8" id="L14-gu-gPp"/>
<constraint firstItem="mku-A0-EIQ" firstAttribute="top" secondItem="4ho-r2-eVW" secondAttribute="top" id="Xzx-tq-j4r"/>
<constraint firstItem="CBv-VR-BIz" firstAttribute="centerX" secondItem="4ho-r2-eVW" secondAttribute="centerX" constant="-55" id="Zms-Ts-1Mp"/>
<constraint firstItem="8zQ-01-DC1" firstAttribute="centerX" secondItem="4ho-r2-eVW" secondAttribute="centerX" constant="50" id="cDL-a0-OL6"/>
<constraint firstItem="tIF-nT-8k3" firstAttribute="top" secondItem="4ho-r2-eVW" secondAttribute="top" constant="4" id="s1h-iQ-sSx"/>
<constraint firstItem="8zQ-01-DC1" firstAttribute="width" secondItem="CBv-VR-BIz" secondAttribute="width" id="sBF-Os-Ysu"/>
<constraint firstItem="mku-A0-EIQ" firstAttribute="leading" secondItem="tIF-nT-8k3" secondAttribute="trailing" constant="6" id="ykx-LK-p0M"/>
</constraints>
<connections>
<outlet property="imageView" destination="tIF-nT-8k3" id="WRA-DJ-Z92"/>
<outlet property="leftButton" destination="CBv-VR-BIz" id="la9-rL-GXy"/>
<outlet property="leftField" destination="mku-A0-EIQ" id="Z9o-qT-2Mx"/>
<outlet property="rightButton" destination="8zQ-01-DC1" id="CEb-kR-WQm"/>
</connections>
</tableCellView>
</prototypeCellViews>
</tableColumn>
</tableColumns>
<connections>
<outlet property="dataSource" destination="-2" id="Q9t-Yx-hmz"/>
<outlet property="delegate" destination="-2" id="AqY-uU-Noo"/>
</connections>
</tableView>
</subviews>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
</clipView>
<constraints>
<constraint firstAttribute="height" constant="265" id="QcT-N0-G4s"/>
</constraints>
<scroller key="horizontalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="YES" id="DJr-1R-9LK">
<rect key="frame" x="-100" y="-100" width="223" height="15"/>
<autoresizingMask key="autoresizingMask"/>
</scroller>
<scroller key="verticalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="NO" id="cfu-8V-LKK">
<rect key="frame" x="-100" y="-100" width="15" height="102"/>
<autoresizingMask key="autoresizingMask"/>
</scroller>
</scrollView>
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="HR1-ZK-Ey0">
<rect key="frame" x="0.0" y="2" width="280" height="22"/>
<constraints>
<constraint firstAttribute="height" constant="22" id="IxM-FF-J1F"/>
</constraints>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" state="on" alignment="center" placeholderString="Clocker" drawsBackground="YES" id="KVB-OA-XfT">
<font key="font" size="17" name="Palatino-Bold"/>
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="OFy-u1-TnH">
<rect key="frame" x="246" y="1" width="29" height="19"/>
<constraints>
<constraint firstAttribute="width" constant="29" id="MIQ-4K-E5A"/>
<constraint firstAttribute="height" constant="18" id="X7D-ep-wB4"/>
</constraints>
<buttonCell key="cell" type="recessed" bezelStyle="recessed" image="NSActionTemplate" imagePosition="only" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="vYm-fs-Zjd">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="systemBold" size="12"/>
</buttonCell>
<connections>
<action selector="openPreferences:" target="-2" id="0Yc-Eq-obQ"/>
</connections>
</button>
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="nTt-pf-Hw2">
<rect key="frame" x="0.0" y="1" width="29" height="19"/>
<constraints>
<constraint firstAttribute="width" constant="29" id="8kZ-Pj-VK6"/>
<constraint firstAttribute="height" constant="18" id="sVG-VE-3q4"/>
</constraints>
<buttonCell key="cell" type="recessed" bezelStyle="recessed" image="PowerIcon" imagePosition="only" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="sUh-16-Fhk">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES" changeBackground="YES" changeGray="YES"/>
<font key="font" metaFont="systemBold" size="12"/>
</buttonCell>
<connections>
<action selector="terminate:" target="-1" id="fpZ-pt-UiU"/>
</connections>
</button>
</subviews>
<constraints>
<constraint firstItem="4Gd-Nv-fXr" firstAttribute="top" secondItem="6" secondAttribute="top" constant="8" id="1g0-Hm-7Gh"/>
<constraint firstAttribute="trailing" secondItem="HR1-ZK-Ey0" secondAttribute="trailing" id="1ol-mo-aQU"/>
<constraint firstAttribute="bottom" secondItem="HR1-ZK-Ey0" secondAttribute="bottom" constant="2" id="Jtb-Nx-FYR"/>
<constraint firstAttribute="bottom" secondItem="nTt-pf-Hw2" secondAttribute="bottom" constant="2" id="QoV-TI-KVJ"/>
<constraint firstAttribute="bottom" secondItem="OFy-u1-TnH" secondAttribute="bottom" constant="2" id="Ubf-Mv-WMp"/>
<constraint firstAttribute="trailing" secondItem="4Gd-Nv-fXr" secondAttribute="trailing" constant="-1" id="XP6-W0-2XT"/>
<constraint firstItem="HR1-ZK-Ey0" firstAttribute="leading" secondItem="6" secondAttribute="leading" id="XQ8-hU-ayC"/>
<constraint firstItem="4Gd-Nv-fXr" firstAttribute="leading" secondItem="6" secondAttribute="leading" constant="-1" id="fHc-VQ-mJ3"/>
<constraint firstAttribute="trailing" secondItem="OFy-u1-TnH" secondAttribute="trailing" constant="5" id="p2a-qj-LHE"/>
<constraint firstItem="nTt-pf-Hw2" firstAttribute="leading" secondItem="6" secondAttribute="leading" id="pKl-Ay-0cB"/>
</constraints>
</view>
<connections>
<outlet property="delegate" destination="-2" id="8"/>
</connections>
<point key="canvasLocation" x="230" y="392.5"/>
</window>
<userDefaultsController representsSharedInstance="YES" id="O3B-kK-4vm"/>
</objects>
<resources>
<image name="ClockerIcon-16" width="16" height="16"/>
<image name="NSActionTemplate" width="14" height="14"/>
<image name="PowerIcon" width="270" height="270"/>
</resources>
</document>

337
Clocker/Base.lproj/PreferencesWindow.xib

@ -1,337 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="9531" systemVersion="15C50" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="9531"/>
</dependencies>
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="PreferencesWindowController">
<connections>
<outlet property="availableTimezoneTableView" destination="6Hm-XH-CMI" id="GA1-tc-E9E"/>
<outlet property="customView" destination="se5-gp-TjO" id="P0h-wU-aFG"/>
<outlet property="is24HourFormatSelected" destination="N47-gw-Pay" id="2MV-F1-uYf"/>
<outlet property="messageLabel" destination="Rty-6T-aPw" id="Qg4-mk-P90"/>
<outlet property="searchField" destination="5jL-eb-qdB" id="K6C-JS-ko0"/>
<outlet property="timezonePanel" destination="Z6I-Ny-aGx" id="tXP-KH-Xfi"/>
<outlet property="timezoneTableView" destination="oKD-AN-gPT" id="oD2-n0-4jf"/>
<outlet property="window" destination="F0z-JX-Cv5" id="gIp-Ho-8D9"/>
</connections>
</customObject>
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
<window identifier="Selected Timezones" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" oneShot="NO" releasedWhenClosed="NO" animationBehavior="documentWindow" id="F0z-JX-Cv5">
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/>
<windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
<rect key="contentRect" x="407" y="179" width="439" height="373"/>
<rect key="screenRect" x="0.0" y="0.0" width="1280" height="777"/>
<value key="minSize" type="size" width="439" height="351"/>
<view key="contentView" id="se5-gp-TjO">
<rect key="frame" x="0.0" y="0.0" width="439" height="373"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<button toolTip="Add a timezone" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="DCz-qN-ydK">
<rect key="frame" x="11" y="67" width="21" height="22"/>
<constraints>
<constraint firstAttribute="height" constant="20" id="aUK-f8-pvY"/>
<constraint firstAttribute="width" constant="21" id="hAr-3f-KNJ"/>
</constraints>
<buttonCell key="cell" type="smallSquare" bezelStyle="smallSquare" image="NSAddTemplate" imagePosition="overlaps" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="rjd-Yu-81P">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
<connections>
<action selector="addTimeZone:" target="-2" id="dXi-qw-Vu2"/>
</connections>
</button>
<button toolTip="Remove a timezone" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="ixe-Sn-8qT">
<rect key="frame" x="32" y="67" width="21" height="22"/>
<buttonCell key="cell" type="smallSquare" bezelStyle="smallSquare" image="NSRemoveTemplate" imagePosition="overlaps" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="SVO-Wt-Mfb">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
<connections>
<action selector="removeFromFavourites:" target="-2" id="65F-Jn-DMw"/>
</connections>
</button>
<scrollView focusRingType="none" borderType="none" autohidesScrollers="YES" horizontalLineScroll="22" horizontalPageScroll="10" verticalLineScroll="22" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="cI0-M7-C9h">
<rect key="frame" x="10" y="94" width="419" height="271"/>
<clipView key="contentView" id="WWk-6i-nI7">
<rect key="frame" x="0.0" y="0.0" width="419" height="271"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<tableView focusRingType="none" verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" alternatingRowBackgroundColors="YES" columnSelection="YES" autosaveColumns="NO" rowHeight="20" headerView="dKI-Ue-9QX" id="oKD-AN-gPT">
<rect key="frame" x="0.0" y="0.0" width="419" height="248"/>
<autoresizingMask key="autoresizingMask"/>
<size key="intercellSpacing" width="3" height="2"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
<tableColumns>
<tableColumn identifier="timezoneName" editable="NO" width="290.75" minWidth="40" maxWidth="1000" id="CJN-Eu-3s5">
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" title="Selected Timezone(s)">
<font key="font" metaFont="smallSystem"/>
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
</tableHeaderCell>
<textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" title="Text Cell" id="Vu3-3D-aDG">
<font key="font" size="13" name="HelveticaNeue-Light"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
</tableColumn>
<tableColumn identifier="label" width="122" minWidth="10" maxWidth="3.4028234663852886e+38" id="LTR-d0-Yhp">
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="Label">
<font key="font" metaFont="smallSystem"/>
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
</tableHeaderCell>
<textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" alignment="left" title="Text Cell" id="xCp-At-CuJ">
<font key="font" size="13" name="HelveticaNeue-Light"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
</tableColumn>
</tableColumns>
<connections>
<outlet property="dataSource" destination="-2" id="do8-kY-7j3"/>
<outlet property="delegate" destination="-2" id="whN-25-mkj"/>
</connections>
</tableView>
</subviews>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
</clipView>
<scroller key="horizontalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="YES" id="Hxj-Tc-UWs">
<rect key="frame" x="1" y="228" width="417" height="16"/>
<autoresizingMask key="autoresizingMask"/>
</scroller>
<scroller key="verticalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="NO" id="s9V-58-jwp">
<rect key="frame" x="-14" y="-7" width="15" height="0.0"/>
<autoresizingMask key="autoresizingMask"/>
</scroller>
<tableHeaderView key="headerView" id="dKI-Ue-9QX">
<rect key="frame" x="0.0" y="0.0" width="419" height="23"/>
<autoresizingMask key="autoresizingMask"/>
</tableHeaderView>
</scrollView>
<button toolTip="Clocker will start on each system launch" translatesAutoresizingMaskIntoConstraints="NO" id="GDz-2Z-uX5" customClass="ColoredButton">
<rect key="frame" x="9" y="18" width="191" height="18"/>
<buttonCell key="cell" type="check" title="Start Clocker on system startup" bezelStyle="regularSquare" imagePosition="left" inset="2" id="h45-jZ-cPY">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
<font key="font" size="12" name="Helvetica-Light"/>
</buttonCell>
<connections>
<binding destination="-2" name="value" keyPath="self.launchOnLogin" id="Vqw-iQ-qOe"/>
</connections>
</button>
<button toolTip="Show time using a 24-hour format" translatesAutoresizingMaskIntoConstraints="NO" id="N47-gw-Pay" customClass="ColoredButton">
<rect key="frame" x="9" y="40" width="343" height="22"/>
<constraints>
<constraint firstAttribute="width" constant="339" id="0eX-T7-EbU"/>
<constraint firstAttribute="height" constant="18" id="qwS-Bk-vmy"/>
</constraints>
<buttonCell key="cell" type="check" title="Use a 24-hour clock" bezelStyle="regularSquare" imagePosition="left" alignment="left" state="on" inset="2" id="Fro-eC-cMC">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
<font key="font" size="12" name="Helvetica-Light"/>
</buttonCell>
<connections>
<action selector="timeFormatSelectionChanged:" target="-2" id="6vB-XV-sSq"/>
<binding destination="sEG-Zb-KUM" name="value" keyPath="values.is24HourFormatSelected" id="wod-mK-9M5"/>
</connections>
</button>
</subviews>
<constraints>
<constraint firstAttribute="bottom" secondItem="GDz-2Z-uX5" secondAttribute="bottom" constant="20" id="5zZ-7S-DL7"/>
<constraint firstItem="DCz-qN-ydK" firstAttribute="top" secondItem="cI0-M7-C9h" secondAttribute="bottom" constant="6" id="6Ye-VD-kSE"/>
<constraint firstItem="GDz-2Z-uX5" firstAttribute="leading" secondItem="se5-gp-TjO" secondAttribute="leading" constant="11" id="FLl-Pc-Gzn"/>
<constraint firstItem="cI0-M7-C9h" firstAttribute="leading" secondItem="se5-gp-TjO" secondAttribute="leading" constant="10" id="Fy5-6V-gu1"/>
<constraint firstItem="ixe-Sn-8qT" firstAttribute="leading" secondItem="DCz-qN-ydK" secondAttribute="trailing" id="TLA-Fw-F7P"/>
<constraint firstItem="GDz-2Z-uX5" firstAttribute="top" secondItem="N47-gw-Pay" secondAttribute="bottom" constant="8" id="VaK-C6-zPA"/>
<constraint firstItem="DCz-qN-ydK" firstAttribute="leading" secondItem="se5-gp-TjO" secondAttribute="leading" constant="11" id="Waz-CP-UWF"/>
<constraint firstItem="N47-gw-Pay" firstAttribute="top" secondItem="ixe-Sn-8qT" secondAttribute="bottom" constant="8" id="gbd-HA-u9p"/>
<constraint firstItem="N47-gw-Pay" firstAttribute="leading" secondItem="se5-gp-TjO" secondAttribute="leading" constant="11" id="hXb-69-tI0"/>
<constraint firstItem="ixe-Sn-8qT" firstAttribute="width" secondItem="DCz-qN-ydK" secondAttribute="width" id="o7k-jf-cL0"/>
<constraint firstItem="ixe-Sn-8qT" firstAttribute="height" secondItem="DCz-qN-ydK" secondAttribute="height" id="rsK-UP-Umg"/>
<constraint firstItem="cI0-M7-C9h" firstAttribute="top" secondItem="se5-gp-TjO" secondAttribute="top" constant="8" id="u5H-Ff-ivt"/>
<constraint firstAttribute="trailing" secondItem="cI0-M7-C9h" secondAttribute="trailing" constant="10" id="ut9-6b-cdu"/>
<constraint firstItem="N47-gw-Pay" firstAttribute="top" secondItem="DCz-qN-ydK" secondAttribute="bottom" constant="8" id="x0C-Ev-Imb"/>
</constraints>
</view>
<toolbar key="toolbar" implicitIdentifier="0AD5F208-25A0-411E-A598-95BFEC1EDCE1" autosavesConfiguration="NO" displayMode="iconOnly" sizeMode="small" id="bkE-1k-zbL">
<allowedToolbarItems>
<toolbarItem implicitItemIdentifier="NSToolbarSpaceItem" id="M6T-S6-SpA"/>
<toolbarItem implicitItemIdentifier="NSToolbarFlexibleSpaceItem" id="pZg-X7-pGy"/>
<toolbarItem implicitItemIdentifier="238FBC10-33D9-453A-9B4E-77BB41D4E49A" label="About Us" paletteLabel="About Us" tag="-1" image="NSInfo" autovalidates="NO" id="6lb-Y4-5U8">
<connections>
<action selector="openAboutUsWindow:" target="-2" id="kRs-nS-KdR"/>
</connections>
</toolbarItem>
</allowedToolbarItems>
<defaultToolbarItems>
<toolbarItem reference="M6T-S6-SpA"/>
<toolbarItem reference="pZg-X7-pGy"/>
<toolbarItem reference="6lb-Y4-5U8"/>
</defaultToolbarItems>
</toolbar>
<connections>
<outlet property="delegate" destination="-2" id="0bl-1N-AYu"/>
</connections>
<point key="canvasLocation" x="304.5" y="230.5"/>
</window>
<window title="Window" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" hasShadow="NO" hidesOnDeactivate="YES" oneShot="NO" releasedWhenClosed="NO" showsToolbarButton="NO" visibleAtLaunch="NO" animationBehavior="alertPanel" appearanceType="aqua" frameAutosaveName="" id="Z6I-Ny-aGx" customClass="Panel">
<windowStyleMask key="styleMask" closable="YES" miniaturizable="YES" resizable="YES" documentModal="YES" nonactivatingPanel="YES" texturedBackground="YES"/>
<windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
<rect key="contentRect" x="120" y="64" width="345" height="320"/>
<rect key="screenRect" x="0.0" y="0.0" width="1280" height="777"/>
<value key="minSize" type="size" width="345" height="320"/>
<value key="maxSize" type="size" width="345" height="320"/>
<view key="contentView" id="byp-2M-iAO">
<rect key="frame" x="0.0" y="0.0" width="345" height="320"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<scrollView focusRingType="none" autohidesScrollers="YES" horizontalLineScroll="22" horizontalPageScroll="10" verticalLineScroll="22" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="3B2-hV-f8v">
<rect key="frame" x="8" y="27" width="329" height="257"/>
<clipView key="contentView" id="xtL-kR-J62">
<rect key="frame" x="1" y="0.0" width="327" height="256"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<tableView focusRingType="none" verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" alternatingRowBackgroundColors="YES" multipleSelection="NO" emptySelection="NO" autosaveColumns="NO" rowHeight="20" headerView="hHn-48-RCd" id="6Hm-XH-CMI">
<rect key="frame" x="0.0" y="0.0" width="327" height="233"/>
<autoresizingMask key="autoresizingMask"/>
<size key="intercellSpacing" width="3" height="2"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
<tableViewGridLines key="gridStyleMask" vertical="YES"/>
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
<tableColumns>
<tableColumn identifier="availableTimezones" editable="NO" width="205.5" minWidth="40" maxWidth="1000" id="TEh-P6-jcT">
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" title="Timezone Name">
<font key="font" metaFont="smallSystem"/>
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
</tableHeaderCell>
<textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" title="Text Cell" id="iJJ-UY-Q3g">
<font key="font" size="13" name="HelveticaNeue-Light"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
</tableColumn>
<tableColumn identifier="abbreviation" editable="NO" width="115.71875" minWidth="10" maxWidth="3.4028234663852886e+38" id="Iuq-hc-Ma0">
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="Abbreviation">
<font key="font" metaFont="smallSystem"/>
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
</tableHeaderCell>
<textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" alignment="left" title="Text Cell" id="pwL-7P-icB">
<font key="font" size="13" name="HelveticaNeue-Light"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
</tableColumn>
</tableColumns>
<connections>
<binding destination="-2" name="doubleClickTarget" keyPath="self" id="88W-iC-qMj">
<dictionary key="options">
<string key="NSSelectorName">addToFavorites:</string>
</dictionary>
</binding>
<outlet property="dataSource" destination="-2" id="OMp-pn-8oq"/>
<outlet property="delegate" destination="-2" id="mJw-oC-0dA"/>
</connections>
</tableView>
</subviews>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
</clipView>
<constraints>
<constraint firstAttribute="height" constant="257" id="Yru-1j-SeJ"/>
</constraints>
<scroller key="horizontalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="YES" id="nBP-zr-k3M">
<rect key="frame" x="1" y="241" width="327" height="15"/>
<autoresizingMask key="autoresizingMask"/>
</scroller>
<scroller key="verticalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="NO" id="x3e-JD-qwd">
<rect key="frame" x="224" y="17" width="15" height="102"/>
<autoresizingMask key="autoresizingMask"/>
</scroller>
<tableHeaderView key="headerView" id="hHn-48-RCd">
<rect key="frame" x="0.0" y="0.0" width="327" height="23"/>
<autoresizingMask key="autoresizingMask"/>
</tableHeaderView>
</scrollView>
<button toolTip="Add a timezone" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="KlN-dU-s3o">
<rect key="frame" x="2" y="-2" width="52" height="32"/>
<constraints>
<constraint firstAttribute="height" constant="21" id="2QY-oM-3sO"/>
<constraint firstAttribute="width" constant="40" id="6JQ-5n-kb7"/>
</constraints>
<buttonCell key="cell" type="push" title="Add" bezelStyle="rounded" imagePosition="overlaps" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="kZe-ua-0p9">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" size="13" name="HelveticaNeue-Light"/>
</buttonCell>
<connections>
<action selector="addToFavorites:" target="-2" id="y27-tR-f1g"/>
</connections>
</button>
<button toolTip="Close Panel" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Ueh-Ln-TC8">
<rect key="frame" x="44" y="-2" width="65" height="32"/>
<constraints>
<constraint firstAttribute="width" constant="53" id="Bql-d6-oci"/>
</constraints>
<buttonCell key="cell" type="push" title="Close" bezelStyle="rounded" imagePosition="overlaps" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="ODT-4D-sWu">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" size="13" name="HelveticaNeue-Light"/>
</buttonCell>
<connections>
<action selector="closePanel:" target="-2" id="6v9-wN-07n"/>
</connections>
</button>
<searchField toolTip="Search a timezone" wantsLayer="YES" focusRingType="none" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="5jL-eb-qdB">
<rect key="frame" x="8" y="287" width="329" height="25"/>
<searchFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" borderStyle="bezel" focusRingType="none" placeholderString="Enter Timezone Name" drawsBackground="YES" usesSingleLineMode="YES" id="2DC-BS-vbb">
<font key="font" size="13" name="HelveticaNeue-Light"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
</searchFieldCell>
<connections>
<action selector="filterArray:" target="-2" id="tX8-FN-IPy"/>
</connections>
</searchField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Rty-6T-aPw">
<rect key="frame" x="104" y="8" width="232" height="20"/>
<constraints>
<constraint firstAttribute="height" constant="20" id="y9Z-oT-NCB"/>
</constraints>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Label" id="ysU-zz-gJh">
<font key="font" size="13" name="HelveticaNeue-Light"/>
<color key="textColor" red="1" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
</subviews>
<constraints>
<constraint firstAttribute="trailing" secondItem="Rty-6T-aPw" secondAttribute="trailing" constant="11" id="1Gg-n3-Hv8"/>
<constraint firstItem="3B2-hV-f8v" firstAttribute="leading" secondItem="byp-2M-iAO" secondAttribute="leading" constant="8" id="Ahs-HL-zfw"/>
<constraint firstAttribute="bottom" secondItem="KlN-dU-s3o" secondAttribute="bottom" constant="5" id="Hfs-he-pyg"/>
<constraint firstItem="3B2-hV-f8v" firstAttribute="top" secondItem="5jL-eb-qdB" secondAttribute="bottom" constant="3" id="Kkl-0p-AQX"/>
<constraint firstItem="5jL-eb-qdB" firstAttribute="top" secondItem="byp-2M-iAO" secondAttribute="top" constant="8" id="Lsa-mI-nMD"/>
<constraint firstItem="Rty-6T-aPw" firstAttribute="leading" secondItem="Ueh-Ln-TC8" secondAttribute="trailing" constant="3" id="NEj-GQ-4oy"/>
<constraint firstItem="5jL-eb-qdB" firstAttribute="leading" secondItem="byp-2M-iAO" secondAttribute="leading" constant="8" id="YFf-7y-AA0"/>
<constraint firstAttribute="bottom" secondItem="Ueh-Ln-TC8" secondAttribute="bottom" constant="5" id="kS2-Vc-NT7"/>
<constraint firstAttribute="bottom" secondItem="Rty-6T-aPw" secondAttribute="bottom" constant="8" id="pyy-35-q2k"/>
<constraint firstItem="Ueh-Ln-TC8" firstAttribute="leading" secondItem="KlN-dU-s3o" secondAttribute="trailing" constant="2" id="qYv-aW-l68"/>
<constraint firstAttribute="trailing" secondItem="3B2-hV-f8v" secondAttribute="trailing" constant="8" id="rae-0k-Dgj"/>
<constraint firstAttribute="trailing" secondItem="5jL-eb-qdB" secondAttribute="trailing" constant="8" id="uy8-q5-8Vi"/>
<constraint firstItem="KlN-dU-s3o" firstAttribute="leading" secondItem="byp-2M-iAO" secondAttribute="leading" constant="8" id="y6V-Aa-AZU"/>
<constraint firstItem="Ueh-Ln-TC8" firstAttribute="height" secondItem="KlN-dU-s3o" secondAttribute="height" id="zET-ty-u3G"/>
</constraints>
</view>
<point key="canvasLocation" x="582.5" y="681"/>
</window>
<userDefaultsController representsSharedInstance="YES" id="sEG-Zb-KUM"/>
</objects>
<resources>
<image name="NSAddTemplate" width="11" height="11"/>
<image name="NSInfo" width="32" height="32"/>
<image name="NSRemoveTemplate" width="11" height="11"/>
</resources>
</document>

54
Clocker/CLOneWindow/CLOneWindow.xib

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="9531" systemVersion="15C50" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="9531"/>
</dependencies>
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="CLOneWindowController">
<connections>
<outlet property="window" destination="F0z-JX-Cv5" id="gIp-Ho-8D9"/>
</connections>
</customObject>
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
<window title="Window" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" oneShot="NO" releasedWhenClosed="NO" animationBehavior="default" id="F0z-JX-Cv5">
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES"/>
<windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
<rect key="contentRect" x="196" y="240" width="480" height="275"/>
<rect key="screenRect" x="0.0" y="0.0" width="1280" height="777"/>
<view key="contentView" id="se5-gp-TjO">
<rect key="frame" x="0.0" y="0.0" width="480" height="275"/>
<autoresizingMask key="autoresizingMask"/>
</view>
<toolbar key="toolbar" implicitIdentifier="15DCF3D0-4463-497F-B0C3-14E5359E9266" autosavesConfiguration="NO" displayMode="iconAndLabel" sizeMode="small" id="eut-Zr-nON">
<allowedToolbarItems>
<toolbarItem implicitItemIdentifier="716E502A-B9AE-4776-9A41-E42176C403F7" label="General" paletteLabel="General" tag="-1" image="NSHomeTemplate" id="Khj-zc-D5t">
<connections>
<action selector="openPreferences:" target="-2" id="rJI-gB-Gcb"/>
</connections>
</toolbarItem>
<toolbarItem implicitItemIdentifier="3BF08920-522C-482A-93B1-0425F8C1FBA3" label="Appearance" paletteLabel="Appearance" tag="-1" image="NSComputer" autovalidates="NO" id="hOs-51-YmZ"/>
<toolbarItem implicitItemIdentifier="B5E58161-D319-4490-AD3C-CED0C67FD50E" label="Appearance" paletteLabel="About Us" tag="-1" image="NSInfo" autovalidates="NO" id="ti4-MJ-8Xu">
<connections>
<action selector="openAboutUsView:" target="-2" id="Aec-lN-CqR"/>
</connections>
</toolbarItem>
</allowedToolbarItems>
<defaultToolbarItems>
<toolbarItem reference="Khj-zc-D5t"/>
<toolbarItem reference="hOs-51-YmZ"/>
<toolbarItem reference="ti4-MJ-8Xu"/>
</defaultToolbarItems>
</toolbar>
<connections>
<outlet property="delegate" destination="-2" id="0bl-1N-AYu"/>
</connections>
<point key="canvasLocation" x="347" y="305.5"/>
</window>
</objects>
<resources>
<image name="NSComputer" width="32" height="32"/>
<image name="NSHomeTemplate" width="14" height="14"/>
<image name="NSInfo" width="32" height="32"/>
</resources>
</document>

26
Clocker/CLOneWindow/CLOneWindowController.h

@ -0,0 +1,26 @@
//
// CLOneWindowController.h
// Clocker
//
// Created by Abhishek Banthia on 12/12/15.
//
//
#import <Cocoa/Cocoa.h>
#import "CLPreferencesViewController.h"
#import "CLAboutUsViewController.h"
@interface CLOneWindowController : NSWindowController
typedef enum : NSUInteger {
GeneralPane,
AppearancePane,
AboutUsPane
}PaneSelection;
@property (strong, nonatomic) CLPreferencesViewController *preferencesView;
@property (strong, nonatomic) CLAboutUsViewController *aboutUsView;
+ (instancetype)sharedWindow;
@end

70
Clocker/CLOneWindow/CLOneWindowController.m

@ -0,0 +1,70 @@
//
// CLOneWindowController.m
// Clocker
//
// Created by Abhishek Banthia on 12/12/15.
//
//
#import "CLOneWindowController.h"
NSString *const CLOneWindowNibIdentifier = @"CLOneWindow";
@interface CLOneWindowController ()
@end
@implementation CLOneWindowController
static CLOneWindowController *sharedWindow = nil;
- (void)windowDidLoad
{
[super windowDidLoad];
self.window.titleVisibility = NSWindowTitleHidden;
[self openPreferences:nil];
// Implement this method to handle any initialization after your window controller's window has been loaded from its nib file.
}
+ (instancetype)sharedWindow
{
if (sharedWindow == nil)
{
/*Using a thread safe pattern*/
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
sharedWindow = [[self alloc] initWithWindowNibName:CLOneWindowNibIdentifier];
});
}
return sharedWindow;
}
- (IBAction)openPreferences:(id)sender
{
self.preferencesView = [[CLPreferencesViewController alloc] initWithNibName:@"CLPreferencesView" bundle:nil];
[self setWindowWithContentView:self.preferencesView.view];
[self.aboutUsView.view removeFromSuperview];
self.aboutUsView = nil;
}
- (void)setWindowWithContentView:(NSView *)contentView
{
[self.window setContentSize:contentView.frame.size];
[self.window setContentView:contentView];
}
- (IBAction)openAboutUsView:(id)sender
{
[self.preferencesView.view removeFromSuperview];
self.preferencesView = nil;
self.aboutUsView = [[CLAboutUsViewController alloc] initWithNibName:@"CLAboutUsView" bundle:nil];
[self setWindowWithContentView:self.aboutUsView.view];
}
@end

16
Clocker/CLRatingCellView.m

@ -23,8 +23,8 @@
{
NSButton *leftButton = (NSButton *)sender;
if ([leftButton.title isEqualToString:NSLocalizedString(@"Not Really", nil)]) {
[self setAnimatedStringValue:NSLocalizedString(@"AskForFeedbackMessage", nil) andTextField:self.leftField];
if ([leftButton.title isEqualToString:@"Not Really"]) {
[self setAnimatedStringValue:@"Mind giving us feedback?" andTextField:self.leftField];
}
else
{
@ -41,8 +41,8 @@
{
NSButton *rightButton = (NSButton *)sender;
if ([rightButton.title isEqualToString:NSLocalizedString(@"Yes!", nil)]) {
[self setAnimatedStringValue:NSLocalizedString(@"AskForRatingMessage", nil) andTextField:self.leftField];
if ([rightButton.title isEqualToString:@"Yes!"]) {
[self setAnimatedStringValue:@"Would you mind rating Clocker?" andTextField:self.leftField];
}
else
{
@ -79,11 +79,11 @@
[textfield.animator setAlphaValue: 1.0];
[self.leftButton.animator setAlphaValue:1.0];
[self.rightButton.animator setAlphaValue:1.0];
if ([self.leftButton.title isEqualToString:NSLocalizedString(@"Not Really", nil)]) {
[self.leftButton.animator setTitle:NSLocalizedString(@"NoSelected", nil)];
if ([self.leftButton.title isEqualToString:@"Not Really"]) {
[self.leftButton.animator setTitle:@"No, thanks"];
}
if ([self.rightButton.title isEqualToString:NSLocalizedString(@"Yes!", nil)]) {
[self.rightButton.animator setTitle:NSLocalizedString(@"YesSelected", nil)];
if ([self.rightButton.title isEqualToString:@"Yes"]) {
[self.rightButton.animator setTitle:@"Yes, sure"];
}
} completionHandler: ^{

2
Clocker/Clocker-Info.plist

@ -2,8 +2,6 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIdentifier</key>

4
Clocker/Base.lproj/MainMenu.xib → Clocker/MainMenu.xib

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="8191" systemVersion="15B42" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none">
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="9531" systemVersion="15C50" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none">
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="8191"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="9531"/>
</dependencies>
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="NSApplication">

17
Clocker/Panel.xib

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="8191" systemVersion="15B42" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="9531" systemVersion="15C50" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="8191"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="9531"/>
</dependencies>
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="PanelController">
@ -35,7 +35,6 @@
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" columnSelection="YES" multipleSelection="NO" autosaveColumns="NO" rowHeight="55" viewBased="YES" id="dFw-ts-8OZ">
<rect key="frame" x="0.0" y="0.0" width="282" height="0.0"/>
<autoresizingMask key="autoresizingMask"/>
<animations/>
<size key="intercellSpacing" width="3" height="1"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
<tableViewGridLines key="gridStyleMask" dashed="YES"/>
@ -64,7 +63,6 @@
<constraint firstAttribute="width" constant="140" id="32b-h6-joo"/>
<constraint firstAttribute="height" constant="26" id="vod-YN-iNX"/>
</constraints>
<animations/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" placeholderString="Timezone Name" id="rnh-AP-ooc">
<font key="font" size="15" name="Helvetica-Light"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
@ -77,7 +75,6 @@
<constraint firstAttribute="height" constant="22" id="42Y-hy-Uo7"/>
<constraint firstAttribute="width" constant="100" id="fkH-oq-qvM"/>
</constraints>
<animations/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" placeholderString="Date" id="74U-rv-5xj">
<font key="font" size="13" name="Helvetica-Bold"/>
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
@ -90,7 +87,6 @@
<constraint firstAttribute="height" constant="33" id="3WU-de-OQL"/>
<constraint firstAttribute="width" constant="142" id="cQV-gJ-zMz"/>
</constraints>
<animations/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" placeholderString="23:46" id="g8s-EU-UHx">
<font key="font" size="31" name="Helvetica-Light"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
@ -106,7 +102,6 @@
<constraint firstItem="etF-33-bCB" firstAttribute="leading" secondItem="qbN-ba-fho" secondAttribute="leading" constant="10" id="ueW-ow-ZRq"/>
<constraint firstAttribute="trailing" secondItem="vnv-J2-7r1" secondAttribute="trailing" constant="8" id="zXo-eA-0bQ"/>
</constraints>
<animations/>
<connections>
<outlet property="textField" destination="etF-33-bCB" id="6fd-cc-Qq2"/>
</connections>
@ -120,22 +115,18 @@
</connections>
</tableView>
</subviews>
<animations/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
</clipView>
<constraints>
<constraint firstAttribute="height" constant="265" id="QcT-N0-G4s"/>
</constraints>
<animations/>
<scroller key="horizontalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="YES" id="DJr-1R-9LK">
<rect key="frame" x="-100" y="-100" width="223" height="15"/>
<autoresizingMask key="autoresizingMask"/>
<animations/>
</scroller>
<scroller key="verticalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="NO" id="cfu-8V-LKK">
<rect key="frame" x="-100" y="-100" width="15" height="102"/>
<autoresizingMask key="autoresizingMask"/>
<animations/>
</scroller>
</scrollView>
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="HR1-ZK-Ey0">
@ -143,7 +134,6 @@
<constraints>
<constraint firstAttribute="height" constant="22" id="IxM-FF-J1F"/>
</constraints>
<animations/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" alignment="center" placeholderString="Clocker" drawsBackground="YES" id="KVB-OA-XfT">
<font key="font" size="17" name="Palatino-Bold"/>
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
@ -156,7 +146,6 @@
<constraint firstAttribute="width" constant="29" id="MIQ-4K-E5A"/>
<constraint firstAttribute="height" constant="18" id="X7D-ep-wB4"/>
</constraints>
<animations/>
<buttonCell key="cell" type="recessed" bezelStyle="recessed" image="NSActionTemplate" imagePosition="only" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="vYm-fs-Zjd">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="systemBold" size="12"/>
@ -171,7 +160,6 @@
<constraint firstAttribute="width" constant="29" id="8kZ-Pj-VK6"/>
<constraint firstAttribute="height" constant="18" id="sVG-VE-3q4"/>
</constraints>
<animations/>
<buttonCell key="cell" type="recessed" bezelStyle="recessed" image="PowerIcon" imagePosition="only" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="sUh-16-Fhk">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES" changeBackground="YES" changeGray="YES"/>
<font key="font" metaFont="systemBold" size="12"/>
@ -193,7 +181,6 @@
<constraint firstAttribute="trailing" secondItem="OFy-u1-TnH" secondAttribute="trailing" constant="5" id="p2a-qj-LHE"/>
<constraint firstItem="nTt-pf-Hw2" firstAttribute="leading" secondItem="6" secondAttribute="leading" id="pKl-Ay-0cB"/>
</constraints>
<animations/>
</view>
<connections>
<outlet property="delegate" destination="-2" id="8"/>

4
Clocker/PanelController.h

@ -28,7 +28,7 @@
#import "BackgroundView.h"
#import "StatusItemView.h"
#import "PreferencesWindowController.h"
#import "CLOneWindowController.h"
@class PanelController;
@ -52,7 +52,7 @@
}
@property (nonatomic, unsafe_unretained) IBOutlet BackgroundView *backgroundView;
@property (nonatomic, strong) PreferencesWindowController *preferencesWindow;
@property (nonatomic, strong) CLOneWindowController *oneWindow;
@property (nonatomic, strong) NSMutableArray *defaultPreferences;
@property (nonatomic) BOOL hasActivePanel;

14
Clocker/PanelController.m

@ -48,7 +48,7 @@
#pragma mark -
#import "PreferencesWindowController.h"
#import "CLOneWindowController.h"
#import "CommonStrings.h"
NSString *const CLPanelNibIdentifier = @"Panel";
@ -328,7 +328,7 @@ NSString *const CLTimezoneCellViewIdentifier = @"timeZoneCell";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateStyle = kCFDateFormatterNoStyle;
NSNumber *is24HourFormatSelected = [[NSUserDefaults standardUserDefaults] objectForKey:CLC24hourFormatSelectedKey];
NSNumber *is24HourFormatSelected = [[NSUserDefaults standardUserDefaults] objectForKey:CL24hourFormatSelectedKey];
is24HourFormatSelected.boolValue ? [dateFormatter setDateFormat:@"HH:mm"] : [dateFormatter setDateFormat:@"hh:mm a"];
@ -372,15 +372,15 @@ NSString *const CLTimezoneCellViewIdentifier = @"timeZoneCell";
NSInteger timezoneDay = [calendar component:units fromDate:timezoneDate];
if (systemDay == timezoneDay) {
return NSLocalizedString(@"Today", @"Today");;
return @"Today";
}
else if (systemDay > timezoneDay)
{
return NSLocalizedString(@"Yesterday", @"Yesterday");
return @"Yesterday";
}
else
{
return NSLocalizedString(@"Tomorrow", @"Tomorrow");;
return @"Tomorrow";
}
}
@ -474,8 +474,8 @@ NSString *const CLTimezoneCellViewIdentifier = @"timeZoneCell";
- (IBAction)openPreferences:(id)sender
{
self.preferencesWindow = [PreferencesWindowController sharedPreferences];
[self.preferencesWindow showWindow:nil];
self.oneWindow = [CLOneWindowController sharedWindow];
[self.oneWindow showWindow:nil];
[NSApp activateIgnoringOtherApps:YES];
}

308
Clocker/Preferences/CLPreferencesView.xib

@ -0,0 +1,308 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="9531" systemVersion="15C50" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="9531"/>
</dependencies>
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="CLPreferencesViewController">
<connections>
<outlet property="availableTimezoneTableView" destination="Q0t-hQ-orw" id="vQv-rd-Wkv"/>
<outlet property="is24HourFormatSelected" destination="msw-L5-agF" id="Orm-wH-Yr8"/>
<outlet property="messageLabel" destination="KFC-NV-5A3" id="NKB-JY-Udb"/>
<outlet property="searchField" destination="biT-6m-ElR" id="Di3-QU-LGY"/>
<outlet property="timezonePanel" destination="6FL-fp-Ke1" id="SDq-Q4-hMb"/>
<outlet property="timezoneTableView" destination="LbJ-dW-ITm" id="tRO-Ch-Was"/>
<outlet property="view" destination="Uu9-io-frR" id="bYk-D1-SUF"/>
</connections>
</customObject>
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
<view id="Uu9-io-frR">
<rect key="frame" x="0.0" y="0.0" width="439" height="373"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<button toolTip="Add a timezone" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="4yB-vZ-tNX">
<rect key="frame" x="11" y="67" width="21" height="22"/>
<constraints>
<constraint firstAttribute="height" constant="20" id="GNz-C9-Ay8"/>
<constraint firstAttribute="width" constant="21" id="OkY-Uq-PwX"/>
</constraints>
<buttonCell key="cell" type="smallSquare" bezelStyle="smallSquare" image="NSAddTemplate" imagePosition="overlaps" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="9ic-9h-AL9">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
<connections>
<action selector="addTimeZone:" target="-2" id="XGq-Ec-n2t"/>
</connections>
</button>
<button toolTip="Remove a timezone" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="iOG-Ey-lmD">
<rect key="frame" x="32" y="67" width="21" height="22"/>
<buttonCell key="cell" type="smallSquare" bezelStyle="smallSquare" image="NSRemoveTemplate" imagePosition="overlaps" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="gLH-wy-bCE">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
<connections>
<action selector="removeFromFavourites:" target="-2" id="M3C-EF-9kQ"/>
</connections>
</button>
<scrollView focusRingType="none" borderType="none" autohidesScrollers="YES" horizontalLineScroll="22" horizontalPageScroll="10" verticalLineScroll="22" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="zBR-OH-6QQ">
<rect key="frame" x="10" y="94" width="419" height="271"/>
<clipView key="contentView" id="UZ2-JA-TZe">
<rect key="frame" x="0.0" y="23" width="419" height="248"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<tableView focusRingType="none" verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" alternatingRowBackgroundColors="YES" columnSelection="YES" autosaveColumns="NO" rowHeight="20" headerView="igm-uc-1wh" id="LbJ-dW-ITm">
<rect key="frame" x="0.0" y="0.0" width="419" height="248"/>
<autoresizingMask key="autoresizingMask"/>
<size key="intercellSpacing" width="3" height="2"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
<tableColumns>
<tableColumn identifier="timezoneName" editable="NO" width="252.75" minWidth="80" maxWidth="1000" id="YaU-AD-fOu">
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" title="Selected Timezone(s)">
<font key="font" metaFont="smallSystem"/>
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
</tableHeaderCell>
<textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" title="Text Cell" id="HJL-uw-ZOC">
<font key="font" size="13" name="HelveticaNeue-Light"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
</tableColumn>
<tableColumn identifier="label" width="150" minWidth="80" maxWidth="150" id="wmL-jC-Tny">
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="Label">
<font key="font" metaFont="smallSystem"/>
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
</tableHeaderCell>
<textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" alignment="left" title="Text Cell" id="xOd-3p-ihC">
<font key="font" size="13" name="HelveticaNeue-Light"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
</tableColumn>
</tableColumns>
<connections>
<outlet property="dataSource" destination="-2" id="XGS-yO-SWb"/>
<outlet property="delegate" destination="-2" id="cBU-DB-Ypu"/>
</connections>
</tableView>
</subviews>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
</clipView>
<scroller key="horizontalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="YES" id="QrG-bP-Ras">
<rect key="frame" x="0.0" y="229" width="419" height="16"/>
<autoresizingMask key="autoresizingMask"/>
</scroller>
<scroller key="verticalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="NO" id="dvf-BY-cGu">
<rect key="frame" x="-14" y="-7" width="15" height="0.0"/>
<autoresizingMask key="autoresizingMask"/>
</scroller>
<tableHeaderView key="headerView" focusRingType="none" id="igm-uc-1wh">
<rect key="frame" x="0.0" y="0.0" width="419" height="23"/>
<autoresizingMask key="autoresizingMask"/>
</tableHeaderView>
</scrollView>
<button toolTip="Clocker will start on each system launch" translatesAutoresizingMaskIntoConstraints="NO" id="i4I-JP-QcP" customClass="ColoredButton">
<rect key="frame" x="9" y="18" width="191" height="18"/>
<buttonCell key="cell" type="check" title="Start Clocker on system startup" bezelStyle="regularSquare" imagePosition="left" inset="2" id="GSg-4f-ngw">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
<font key="font" size="12" name="Helvetica-Light"/>
</buttonCell>
<connections>
<binding destination="-2" name="value" keyPath="self.launchOnLogin" id="Baz-dU-CxZ"/>
</connections>
</button>
<button toolTip="Show time using a 24-hour format" translatesAutoresizingMaskIntoConstraints="NO" id="msw-L5-agF" customClass="ColoredButton">
<rect key="frame" x="9" y="40" width="343" height="22"/>
<constraints>
<constraint firstAttribute="width" constant="339" id="KXG-qX-V3N"/>
<constraint firstAttribute="height" constant="18" id="d60-FM-DPd"/>
</constraints>
<buttonCell key="cell" type="check" title="Use a 24-hour clock" bezelStyle="regularSquare" imagePosition="left" alignment="left" state="on" inset="2" id="ki6-rf-utU">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
<font key="font" size="12" name="Helvetica-Light"/>
</buttonCell>
<connections>
<action selector="timeFormatSelectionChanged:" target="-2" id="5mG-yB-Vzd"/>
<binding destination="1Gq-ZQ-IML" name="value" keyPath="values.is24HourFormatSelected" id="KjZ-gp-ipG"/>
</connections>
</button>
</subviews>
<constraints>
<constraint firstAttribute="bottom" secondItem="i4I-JP-QcP" secondAttribute="bottom" constant="20" id="3oZ-4h-9HU"/>
<constraint firstItem="msw-L5-agF" firstAttribute="top" secondItem="4yB-vZ-tNX" secondAttribute="bottom" constant="8" id="CnR-dg-KfG"/>
<constraint firstItem="iOG-Ey-lmD" firstAttribute="height" secondItem="4yB-vZ-tNX" secondAttribute="height" id="HKt-is-5y3"/>
<constraint firstItem="zBR-OH-6QQ" firstAttribute="top" secondItem="Uu9-io-frR" secondAttribute="top" constant="8" id="JKn-gF-8oI"/>
<constraint firstItem="i4I-JP-QcP" firstAttribute="leading" secondItem="Uu9-io-frR" secondAttribute="leading" constant="11" id="QAx-JY-Iyc"/>
<constraint firstItem="msw-L5-agF" firstAttribute="top" secondItem="iOG-Ey-lmD" secondAttribute="bottom" constant="8" id="Umd-Jo-VZj"/>
<constraint firstItem="4yB-vZ-tNX" firstAttribute="top" secondItem="zBR-OH-6QQ" secondAttribute="bottom" constant="6" id="Zsk-85-aI8"/>
<constraint firstAttribute="trailing" secondItem="zBR-OH-6QQ" secondAttribute="trailing" constant="10" id="p1P-Ev-oBI"/>
<constraint firstItem="i4I-JP-QcP" firstAttribute="top" secondItem="msw-L5-agF" secondAttribute="bottom" constant="8" id="pLv-GC-ciZ"/>
<constraint firstItem="msw-L5-agF" firstAttribute="leading" secondItem="Uu9-io-frR" secondAttribute="leading" constant="11" id="uwf-y2-ZwE"/>
<constraint firstItem="iOG-Ey-lmD" firstAttribute="width" secondItem="4yB-vZ-tNX" secondAttribute="width" id="wLJ-lQ-GhP"/>
<constraint firstItem="iOG-Ey-lmD" firstAttribute="leading" secondItem="4yB-vZ-tNX" secondAttribute="trailing" id="xu0-0C-2pe"/>
<constraint firstItem="4yB-vZ-tNX" firstAttribute="leading" secondItem="Uu9-io-frR" secondAttribute="leading" constant="11" id="zgB-PO-97r"/>
<constraint firstItem="zBR-OH-6QQ" firstAttribute="leading" secondItem="Uu9-io-frR" secondAttribute="leading" constant="10" id="zoH-62-nam"/>
</constraints>
</view>
<userDefaultsController representsSharedInstance="YES" id="1Gq-ZQ-IML"/>
<window title="Window" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" hasShadow="NO" hidesOnDeactivate="YES" oneShot="NO" releasedWhenClosed="NO" showsToolbarButton="NO" visibleAtLaunch="NO" animationBehavior="alertPanel" appearanceType="aqua" frameAutosaveName="" id="6FL-fp-Ke1" customClass="Panel">
<windowStyleMask key="styleMask" closable="YES" miniaturizable="YES" resizable="YES" documentModal="YES" nonactivatingPanel="YES" texturedBackground="YES"/>
<windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
<rect key="contentRect" x="120" y="64" width="345" height="320"/>
<rect key="screenRect" x="0.0" y="0.0" width="1280" height="777"/>
<value key="minSize" type="size" width="345" height="320"/>
<value key="maxSize" type="size" width="345" height="320"/>
<view key="contentView" id="kXo-nl-oxR">
<rect key="frame" x="0.0" y="0.0" width="345" height="320"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<scrollView focusRingType="none" borderType="none" autohidesScrollers="YES" horizontalLineScroll="22" horizontalPageScroll="10" verticalLineScroll="22" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="LM9-75-vkc">
<rect key="frame" x="8" y="27" width="329" height="257"/>
<clipView key="contentView" id="Z7L-Ef-90Z">
<rect key="frame" x="0.0" y="23" width="329" height="234"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<tableView focusRingType="none" verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" alternatingRowBackgroundColors="YES" multipleSelection="NO" emptySelection="NO" autosaveColumns="NO" rowHeight="20" headerView="85y-4a-860" id="Q0t-hQ-orw">
<rect key="frame" x="0.0" y="0.0" width="329" height="234"/>
<autoresizingMask key="autoresizingMask"/>
<size key="intercellSpacing" width="3" height="2"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
<tableViewGridLines key="gridStyleMask" vertical="YES"/>
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
<tableColumns>
<tableColumn identifier="availableTimezones" editable="NO" width="205.5" minWidth="40" maxWidth="1000" id="48H-5i-utq">
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" title="Timezone Name">
<font key="font" metaFont="smallSystem"/>
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
</tableHeaderCell>
<textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" title="Text Cell" id="QRU-bQ-qf9">
<font key="font" size="13" name="HelveticaNeue-Light"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
</tableColumn>
<tableColumn identifier="abbreviation" editable="NO" width="117.71875" minWidth="10" maxWidth="3.4028234663852886e+38" id="3Ii-DO-FaS">
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="Abbreviation">
<font key="font" metaFont="smallSystem"/>
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
</tableHeaderCell>
<textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" alignment="left" title="Text Cell" id="Wat-KA-MGe">
<font key="font" size="13" name="HelveticaNeue-Light"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
</tableColumn>
</tableColumns>
<connections>
<binding destination="-2" name="doubleClickTarget" keyPath="self" id="nBJ-qr-qEf">
<dictionary key="options">
<string key="NSSelectorName">addToFavorites:</string>
</dictionary>
</binding>
<outlet property="dataSource" destination="-2" id="86g-xx-hg5"/>
<outlet property="delegate" destination="-2" id="i7A-WW-A7a"/>
</connections>
</tableView>
</subviews>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
</clipView>
<constraints>
<constraint firstAttribute="height" constant="257" id="SrA-bR-iMr"/>
</constraints>
<scroller key="horizontalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="YES" id="Ge2-Rs-CZ1">
<rect key="frame" x="1" y="241" width="327" height="15"/>
<autoresizingMask key="autoresizingMask"/>
</scroller>
<scroller key="verticalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="NO" id="fHR-IX-Phl">
<rect key="frame" x="224" y="17" width="15" height="102"/>
<autoresizingMask key="autoresizingMask"/>
</scroller>
<tableHeaderView key="headerView" id="85y-4a-860">
<rect key="frame" x="0.0" y="0.0" width="329" height="23"/>
<autoresizingMask key="autoresizingMask"/>
</tableHeaderView>
</scrollView>
<button toolTip="Add a timezone" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="hp6-CH-WJs">
<rect key="frame" x="2" y="-2" width="52" height="32"/>
<constraints>
<constraint firstAttribute="height" constant="21" id="r2L-5O-GZy"/>
<constraint firstAttribute="width" constant="40" id="yuH-LM-RAy"/>
</constraints>
<buttonCell key="cell" type="push" title="Add" bezelStyle="rounded" imagePosition="overlaps" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="x6l-8x-qnu">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" size="13" name="HelveticaNeue-Light"/>
</buttonCell>
<connections>
<action selector="addToFavorites:" target="-2" id="Mdg-7P-kDy"/>
</connections>
</button>
<button toolTip="Close Panel" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="y2D-dA-scQ">
<rect key="frame" x="44" y="-2" width="65" height="32"/>
<constraints>
<constraint firstAttribute="width" constant="53" id="VUu-N5-XON"/>
</constraints>
<buttonCell key="cell" type="push" title="Close" bezelStyle="rounded" imagePosition="overlaps" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="zLr-m7-UoC">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" size="13" name="HelveticaNeue-Light"/>
</buttonCell>
<connections>
<action selector="closePanel:" target="-2" id="44x-aT-3TO"/>
</connections>
</button>
<searchField toolTip="Search a timezone" wantsLayer="YES" focusRingType="none" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="biT-6m-ElR">
<rect key="frame" x="8" y="287" width="329" height="25"/>
<searchFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" borderStyle="bezel" focusRingType="none" placeholderString="Enter Timezone Name" drawsBackground="YES" usesSingleLineMode="YES" id="ijc-z6-99E">
<font key="font" size="13" name="HelveticaNeue-Light"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
</searchFieldCell>
<connections>
<action selector="filterArray:" target="-2" id="f8p-qF-cfD"/>
</connections>
</searchField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="KFC-NV-5A3">
<rect key="frame" x="104" y="8" width="232" height="20"/>
<constraints>
<constraint firstAttribute="height" constant="20" id="rr3-gU-VUn"/>
</constraints>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Label" id="COF-wH-VLX">
<font key="font" size="13" name="HelveticaNeue-Light"/>
<color key="textColor" red="1" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
</subviews>
<constraints>
<constraint firstItem="y2D-dA-scQ" firstAttribute="height" secondItem="hp6-CH-WJs" secondAttribute="height" id="0rm-Cz-pcN"/>
<constraint firstAttribute="trailing" secondItem="biT-6m-ElR" secondAttribute="trailing" constant="8" id="23X-dw-hpU"/>
<constraint firstAttribute="bottom" secondItem="y2D-dA-scQ" secondAttribute="bottom" constant="5" id="6bw-rs-ca4"/>
<constraint firstAttribute="trailing" secondItem="KFC-NV-5A3" secondAttribute="trailing" constant="11" id="B6V-vn-THO"/>
<constraint firstItem="LM9-75-vkc" firstAttribute="top" secondItem="biT-6m-ElR" secondAttribute="bottom" constant="3" id="DZR-XO-6sm"/>
<constraint firstAttribute="bottom" secondItem="KFC-NV-5A3" secondAttribute="bottom" constant="8" id="FWx-F1-VK8"/>
<constraint firstItem="y2D-dA-scQ" firstAttribute="leading" secondItem="hp6-CH-WJs" secondAttribute="trailing" constant="2" id="JFg-6w-xDE"/>
<constraint firstItem="hp6-CH-WJs" firstAttribute="leading" secondItem="kXo-nl-oxR" secondAttribute="leading" constant="8" id="Oir-hL-Og8"/>
<constraint firstItem="biT-6m-ElR" firstAttribute="top" secondItem="kXo-nl-oxR" secondAttribute="top" constant="8" id="Y7N-oR-3KY"/>
<constraint firstItem="LM9-75-vkc" firstAttribute="leading" secondItem="kXo-nl-oxR" secondAttribute="leading" constant="8" id="ZJc-ws-AZR"/>
<constraint firstAttribute="bottom" secondItem="hp6-CH-WJs" secondAttribute="bottom" constant="5" id="hEn-h1-my5"/>
<constraint firstItem="biT-6m-ElR" firstAttribute="leading" secondItem="kXo-nl-oxR" secondAttribute="leading" constant="8" id="nhU-xR-AW2"/>
<constraint firstAttribute="trailing" secondItem="LM9-75-vkc" secondAttribute="trailing" constant="8" id="pMs-Ol-hsh"/>
<constraint firstItem="KFC-NV-5A3" firstAttribute="leading" secondItem="y2D-dA-scQ" secondAttribute="trailing" constant="3" id="z1R-FT-K8s"/>
</constraints>
</view>
<point key="canvasLocation" x="582.5" y="681"/>
</window>
</objects>
<resources>
<image name="NSAddTemplate" width="11" height="11"/>
<image name="NSRemoveTemplate" width="11" height="11"/>
</resources>
</document>

18
Clocker/Preferences/CLPreferencesViewController.h

@ -0,0 +1,18 @@
//
// CLPreferencesViewController.h
// Clocker
//
// Created by Abhishek Banthia on 12/12/15.
//
//
#import <Cocoa/Cocoa.h>
@interface CLPreferencesViewController : NSViewController
@property (strong, nonatomic) NSMutableArray *timeZoneArray;
@property (strong, nonatomic) NSMutableArray *selectedTimeZones;
@property (strong, nonatomic) NSArray *filteredArray;
@property (atomic, assign) BOOL launchOnLogin;
@end

396
Clocker/Preferences/CLPreferencesViewController.m

@ -0,0 +1,396 @@
//
// CLPreferencesViewController.m
// Clocker
//
// Created by Abhishek Banthia on 12/12/15.
//
//
#import "CLPreferencesViewController.h"
#import "Panel.h"
#import "PanelController.h"
#import "ApplicationDelegate.h"
#import <QuartzCore/QuartzCore.h>
#import "CommonStrings.h"
NSString *const CLSearchPredicateKey = @"SELF CONTAINS[cd]%@";
NSString *const CLPreferencesViewNibIdentifier = @"PreferencesWindow";
NSString *const CLPreferencesTimezoneNameIdentifier = @"timezoneName";
NSString *const CLPreferencesAbbreviationIdentifier = @"abbreviation";
NSString *const CLPreferencesCustomLabelIdentifier = @"label";
NSString *const CLPreferencesAvailableTimezoneIdentifier = @"availableTimezones";
@interface CLPreferencesViewController ()
@property (weak) IBOutlet NSTableView *timezoneTableView;
@property (strong) IBOutlet Panel *timezonePanel;
@property (weak) IBOutlet NSTableView *availableTimezoneTableView;
@property (weak) IBOutlet NSSearchField *searchField;
@property (weak) IBOutlet NSButton *is24HourFormatSelected;
@property (weak) IBOutlet NSTextField *messageLabel;
@end
@implementation CLPreferencesViewController
- (void)viewDidLoad {
[super viewDidLoad];
CALayer *viewLayer = [CALayer layer];
[viewLayer setBackgroundColor:CGColorCreateGenericRGB(255.0, 255.0, 255.0, 0.8)]; //RGB plus Alpha Channel
[self.view setWantsLayer:YES]; // view's backing store is using a Core Animation Layer
[self.view setLayer:viewLayer];
// self.window.titleVisibility = NSWindowTitleHidden;
NSMutableArray *defaultTimeZones = [[NSUserDefaults standardUserDefaults] objectForKey:CLDefaultPreferenceKey];
if (!self.timeZoneArray || !self.selectedTimeZones)
{
self.timeZoneArray = [[NSMutableArray alloc] initWithArray:[NSTimeZone knownTimeZoneNames]];
self.selectedTimeZones = [[NSMutableArray alloc] initWithArray:defaultTimeZones];
self.filteredArray = [[NSArray alloc] init];
}
self.messageLabel.stringValue = CLEmptyString;
[self.timezoneTableView reloadData];
[self.availableTimezoneTableView reloadData];
//Register for drag and drop
[self.timezoneTableView registerForDraggedTypes: [NSArray arrayWithObject: CLDragSessionKey]];
// Do view setup here.
}
-(BOOL)acceptsFirstResponder
{
return YES;
}
-(NSInteger)numberOfRowsInTableView:(NSTableView *)tableView
{
if (tableView == self.timezoneTableView) {
return self.selectedTimeZones.count;
}
else
{
if (self.searchField.stringValue.length > 0) {
return self.filteredArray.count;
}
return self.timeZoneArray.count;
}
return 0;
}
- (nullable id)tableView:(NSTableView *)tableView objectValueForTableColumn:(nullable NSTableColumn *)tableColumn row:(NSInteger)row
{
if ([[tableColumn identifier] isEqualToString:CLPreferencesTimezoneNameIdentifier])
{
return self.selectedTimeZones[row][CLTimezoneName];
}
else if([[tableColumn identifier] isEqualToString:CLPreferencesAvailableTimezoneIdentifier])
{
if (self.searchField.stringValue.length > 0)
{
return self.filteredArray[row];
}
return self.timeZoneArray[row];
}
else if([[tableColumn identifier] isEqualToString:CLPreferencesCustomLabelIdentifier])
{
return self.selectedTimeZones[row][CLCustomLabel];
}
if ([tableColumn.identifier isEqualToString:CLPreferencesAbbreviationIdentifier])
{
if (self.searchField.stringValue.length > 0)
{
return [NSTimeZone timeZoneWithName:self.filteredArray[row]].abbreviation;
}
return [NSTimeZone timeZoneWithName:self.timeZoneArray[row]].abbreviation;
}
return nil;
}
-(void)tableView:(NSTableView *)tableView setObjectValue:(id)object forTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row
{
if ([object isKindOfClass:[NSString class]])
{
NSDictionary *timezoneDictionary = self.selectedTimeZones[row];
NSDictionary *mutableTimeZoneDict = [timezoneDictionary mutableCopy];
[mutableTimeZoneDict setValue:object forKey:CLCustomLabel];
[self.selectedTimeZones replaceObjectAtIndex:row withObject:mutableTimeZoneDict];
[[NSUserDefaults standardUserDefaults] setObject:self.selectedTimeZones forKey:CLDefaultPreferenceKey];
[self refreshMainTableview];
}
}
- (IBAction)addTimeZone:(id)sender
{
[self.view.window beginSheet:self.timezonePanel completionHandler:^(NSModalResponse returnCode) {
}];
}
- (IBAction)addToFavorites:(id)sender
{
if (self.availableTimezoneTableView.selectedRow == -1)
{
self.messageLabel.stringValue = @"Please select a timezone!";
[NSTimer scheduledTimerWithTimeInterval:5 target:self selector:@selector(clearLabel) userInfo:nil repeats:NO];
return;
}
NSString *selectedTimezone;
if (self.selectedTimeZones.count > 10)
{
self.messageLabel.stringValue = @"Maximum 10 timezones allowed!";
[NSTimer scheduledTimerWithTimeInterval:5 target:self selector:@selector(clearLabel) userInfo:nil repeats:NO];
return;
}
for (NSDictionary *timezoneDictionary in self.selectedTimeZones)
{
NSString *name = timezoneDictionary[CLTimezoneName];
if (self.searchField.stringValue.length > 0) {
if ([name isEqualToString:self.filteredArray[self.availableTimezoneTableView.selectedRow]])
{
self.messageLabel.stringValue = @"Timezone has already been selected!";
[NSTimer scheduledTimerWithTimeInterval:5 target:self selector:@selector(clearLabel) userInfo:nil repeats:NO];
return;
}
}
else if ([name isEqualToString:self.timeZoneArray[self.availableTimezoneTableView.selectedRow]])
{
self.messageLabel.stringValue = @"Timezone has already been selected!";
[NSTimer scheduledTimerWithTimeInterval:5 target:self selector:@selector(clearLabel) userInfo:nil repeats:NO];
return;
}
}
selectedTimezone = self.searchField.stringValue.length > 0 ?
self.filteredArray[self.availableTimezoneTableView.selectedRow] :
self.timeZoneArray[self.availableTimezoneTableView.selectedRow];
NSDictionary *newTimezoneToAdd = @{CLTimezoneName : selectedTimezone,
CLCustomLabel : CLEmptyString};
[self.selectedTimeZones addObject:newTimezoneToAdd];
NSArray *defaultTimeZones = [[NSUserDefaults standardUserDefaults] objectForKey:CLDefaultPreferenceKey];
NSMutableArray *newDefaults;
if (defaultTimeZones == nil)
{
defaultTimeZones = [[NSMutableArray alloc] init];
}
newDefaults = [[NSMutableArray alloc] initWithArray:defaultTimeZones];
[newDefaults addObject:newTimezoneToAdd];
[[NSUserDefaults standardUserDefaults] setObject:newDefaults forKey:CLDefaultPreferenceKey];
[self.timezoneTableView reloadData];
[self refreshMainTableview];
[self.timezonePanel close];
}
- (void)clearLabel
{
self.messageLabel.stringValue = CLEmptyString;
}
- (IBAction)closePanel:(id)sender
{
[self.timezonePanel close];
}
- (IBAction)removeFromFavourites:(id)sender
{
if ([self.timezoneTableView numberOfRows] == 1) {
return;
}
NSMutableArray *itemsToRemove = [NSMutableArray array];
if (self.timezoneTableView.selectedRow == -1)
{
return;
}
[self.timezoneTableView.selectedRowIndexes enumerateIndexesUsingBlock:^(NSUInteger idx, BOOL * _Nonnull stop) {
[itemsToRemove addObject:self.selectedTimeZones[idx]];
}];
[self.selectedTimeZones removeObjectsInArray:itemsToRemove];
NSMutableArray *newDefaults = [[NSMutableArray alloc] initWithArray:self.selectedTimeZones];
[[NSUserDefaults standardUserDefaults] setObject:newDefaults forKey:CLDefaultPreferenceKey];
[self.timezoneTableView reloadData];
[self refreshMainTableview];
}
-(void)keyDown:(NSEvent *)theEvent
{
[super keyDown:theEvent];
if (theEvent.keyCode == 53) {
[self.timezonePanel close];
}
}
-(void)keyUp:(NSEvent *)theEvent
{
if (theEvent.keyCode == 53) {
[self.timezonePanel close];
}
}
- (IBAction)filterArray:(id)sender
{
if (self.searchField.stringValue.length > 0) {
NSPredicate *predicate = [NSPredicate predicateWithFormat:CLSearchPredicateKey, self.searchField.stringValue];
self.filteredArray = [self.timeZoneArray filteredArrayUsingPredicate:predicate];
}
[self.availableTimezoneTableView reloadData];
}
- (IBAction)timeFormatSelectionChanged:(id)sender {
NSButton *is24HourFormatSelected = (NSButton *)sender;
[[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithInteger:is24HourFormatSelected.state] forKey:CL24hourFormatSelectedKey];
[self refreshMainTableview];
}
- (void)refreshMainTableview
{
ApplicationDelegate *appDelegate = [[NSApplication sharedApplication] delegate];
PanelController *panelController = appDelegate.panelController;
[panelController updateDefaultPreferences];
[panelController.mainTableview reloadData];
}
#pragma mark Reordering
- (BOOL)tableView:(NSTableView *)tableView writeRowsWithIndexes:(NSIndexSet *)rowIndexes toPasteboard:(NSPasteboard *)pboard
{
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:rowIndexes];
[pboard declareTypes:[NSArray arrayWithObject:CLDragSessionKey] owner:self];
[pboard setData:data forType:CLDragSessionKey];
return YES;
}
-(BOOL)tableView:(NSTableView *)tableView acceptDrop:(id<NSDraggingInfo>)info row:(NSInteger)row dropOperation:(NSTableViewDropOperation)dropOperation
{
if (row == self.selectedTimeZones.count) {
row--;
}
NSPasteboard *pBoard = [info draggingPasteboard];
NSData *data = [pBoard dataForType:CLDragSessionKey];
NSIndexSet *rowIndexes = [NSKeyedUnarchiver unarchiveObjectWithData:data];
[self.selectedTimeZones exchangeObjectAtIndex:rowIndexes.firstIndex withObjectAtIndex:row];
[[NSUserDefaults standardUserDefaults] setObject:self.selectedTimeZones forKey:CLDefaultPreferenceKey];
[self.timezoneTableView reloadData];
[self refreshMainTableview];
return YES;
}
-(NSDragOperation)tableView:(NSTableView *)tableView validateDrop:(id<NSDraggingInfo>)info proposedRow:(NSInteger)row proposedDropOperation:(NSTableViewDropOperation)dropOperation
{
return NSDragOperationEvery;
}
- (BOOL)launchOnLogin
{
LSSharedFileListRef loginItemsListRef = LSSharedFileListCreate(NULL, kLSSharedFileListSessionLoginItems, NULL);
CFArrayRef snapshotRef = LSSharedFileListCopySnapshot(loginItemsListRef, NULL);
NSArray* loginItems = CFBridgingRelease(snapshotRef);
NSURL *bundleURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]];
for (id item in loginItems) {
LSSharedFileListItemRef itemRef = (__bridge LSSharedFileListItemRef)item;
CFURLRef itemURLRef;
if (LSSharedFileListItemResolve(itemRef, 0, &itemURLRef, NULL) == noErr) {
NSURL *itemURL = (NSURL *)CFBridgingRelease(itemURLRef);
if ([itemURL isEqual:bundleURL]) {
return YES;
}
}
}
return NO;
}
-(void)setLaunchOnLogin:(BOOL)launchOnLogin
{
NSURL *bundleURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]];
LSSharedFileListRef loginItemsListRef = LSSharedFileListCreate(NULL, kLSSharedFileListSessionLoginItems, NULL);
if (launchOnLogin) {
NSDictionary *properties;
properties = [NSDictionary dictionaryWithObject:[NSNumber numberWithBool:YES] forKey:@"com.apple.loginitem.HideOnLaunch"];
LSSharedFileListItemRef itemRef = LSSharedFileListInsertItemURL(loginItemsListRef, kLSSharedFileListItemLast, NULL, NULL, (__bridge CFURLRef)bundleURL, (__bridge CFDictionaryRef)properties,NULL);
if (itemRef) {
CFRelease(itemRef);
}
} else {
LSSharedFileListRef loginItemsListRef = LSSharedFileListCreate(NULL, kLSSharedFileListSessionLoginItems, NULL);
CFArrayRef snapshotRef = LSSharedFileListCopySnapshot(loginItemsListRef, NULL);
NSArray* loginItems = CFBridgingRelease(snapshotRef);
for (id item in loginItems) {
LSSharedFileListItemRef itemRef = (__bridge LSSharedFileListItemRef)item;
CFURLRef itemURLRef;
if (LSSharedFileListItemResolve(itemRef, 0, &itemURLRef, NULL) == noErr) {
NSURL *itemURL = (NSURL *)CFBridgingRelease(itemURLRef);
if ([itemURL isEqual:bundleURL]) {
LSSharedFileListItemRemove(loginItemsListRef, itemRef);
}
}
}
}
}
@end

374
Clocker/PreferencesWindow.xib

@ -1,374 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="8191" systemVersion="15B42" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="8191"/>
</dependencies>
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="PreferencesWindowController">
<connections>
<outlet property="availableTimezoneTableView" destination="6Hm-XH-CMI" id="GA1-tc-E9E"/>
<outlet property="is24HourFormatSelected" destination="N47-gw-Pay" id="2MV-F1-uYf"/>
<outlet property="messageLabel" destination="Rty-6T-aPw" id="Qg4-mk-P90"/>
<outlet property="openSourceMessage" destination="cso-OX-qzB" id="yJg-DI-SX9"/>
<outlet property="searchField" destination="5jL-eb-qdB" id="K6C-JS-ko0"/>
<outlet property="timezonePanel" destination="Z6I-Ny-aGx" id="tXP-KH-Xfi"/>
<outlet property="timezoneTableView" destination="oKD-AN-gPT" id="oD2-n0-4jf"/>
<outlet property="window" destination="F0z-JX-Cv5" id="gIp-Ho-8D9"/>
</connections>
</customObject>
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
<window identifier="Selected Timezones" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" oneShot="NO" releasedWhenClosed="NO" animationBehavior="documentWindow" id="F0z-JX-Cv5">
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/>
<windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
<rect key="contentRect" x="407" y="179" width="439" height="426"/>
<rect key="screenRect" x="0.0" y="0.0" width="1280" height="777"/>
<value key="minSize" type="size" width="439" height="351"/>
<view key="contentView" id="se5-gp-TjO">
<rect key="frame" x="0.0" y="0.0" width="439" height="426"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="DCz-qN-ydK">
<rect key="frame" x="11" y="146" width="21" height="22"/>
<constraints>
<constraint firstAttribute="height" constant="20" id="aUK-f8-pvY"/>
<constraint firstAttribute="width" constant="21" id="hAr-3f-KNJ"/>
</constraints>
<animations/>
<buttonCell key="cell" type="smallSquare" bezelStyle="smallSquare" image="NSAddTemplate" imagePosition="overlaps" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="rjd-Yu-81P">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
<connections>
<action selector="addTimeZone:" target="-2" id="dXi-qw-Vu2"/>
</connections>
</button>
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="ixe-Sn-8qT">
<rect key="frame" x="32" y="146" width="21" height="22"/>
<animations/>
<buttonCell key="cell" type="smallSquare" bezelStyle="smallSquare" image="NSRemoveTemplate" imagePosition="overlaps" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="SVO-Wt-Mfb">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
<connections>
<action selector="removeFromFavourites:" target="-2" id="65F-Jn-DMw"/>
</connections>
</button>
<scrollView focusRingType="none" autohidesScrollers="YES" horizontalLineScroll="22" horizontalPageScroll="10" verticalLineScroll="22" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="cI0-M7-C9h">
<rect key="frame" x="10" y="173" width="419" height="245"/>
<clipView key="contentView" id="WWk-6i-nI7">
<rect key="frame" x="1" y="0.0" width="417" height="244"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<tableView focusRingType="none" verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" alternatingRowBackgroundColors="YES" columnSelection="YES" autosaveColumns="NO" rowHeight="20" headerView="dKI-Ue-9QX" id="oKD-AN-gPT">
<rect key="frame" x="0.0" y="0.0" width="417" height="221"/>
<autoresizingMask key="autoresizingMask"/>
<animations/>
<size key="intercellSpacing" width="3" height="2"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
<tableColumns>
<tableColumn identifier="timezoneName" editable="NO" width="413.75" minWidth="40" maxWidth="1000" id="CJN-Eu-3s5">
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" title="Selected Timezone(s)">
<font key="font" metaFont="smallSystem"/>
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
</tableHeaderCell>
<textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" title="Text Cell" id="Vu3-3D-aDG">
<font key="font" size="13" name="HelveticaNeue-Light"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
</tableColumn>
</tableColumns>
<connections>
<outlet property="dataSource" destination="-2" id="do8-kY-7j3"/>
<outlet property="delegate" destination="-2" id="whN-25-mkj"/>
</connections>
</tableView>
</subviews>
<animations/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
</clipView>
<animations/>
<scroller key="horizontalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="YES" id="Hxj-Tc-UWs">
<rect key="frame" x="1" y="214" width="337" height="15"/>
<autoresizingMask key="autoresizingMask"/>
<animations/>
</scroller>
<scroller key="verticalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="NO" id="s9V-58-jwp">
<rect key="frame" x="-14" y="-7" width="15" height="0.0"/>
<autoresizingMask key="autoresizingMask"/>
<animations/>
</scroller>
<tableHeaderView key="headerView" id="dKI-Ue-9QX">
<rect key="frame" x="0.0" y="0.0" width="417" height="23"/>
<autoresizingMask key="autoresizingMask"/>
<animations/>
</tableHeaderView>
</scrollView>
<button translatesAutoresizingMaskIntoConstraints="NO" id="P0l-kc-VxU" customClass="ColoredButton">
<rect key="frame" x="9" y="97" width="191" height="18"/>
<animations/>
<buttonCell key="cell" type="check" title="Show only City/Region name" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="jaB-eA-S6N">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
<font key="font" size="12" name="Helvetica-Light"/>
</buttonCell>
<connections>
<action selector="showOnlyCityName:" target="-2" id="1lf-cZ-gyt"/>
<binding destination="sEG-Zb-KUM" name="value" keyPath="values.showOnlyCity" id="xqX-Jx-epo"/>
</connections>
</button>
<button translatesAutoresizingMaskIntoConstraints="NO" id="GDz-2Z-uX5" customClass="ColoredButton">
<rect key="frame" x="9" y="75" width="191" height="18"/>
<animations/>
<buttonCell key="cell" type="check" title="Start Clocker on system startup" bezelStyle="regularSquare" imagePosition="left" inset="2" id="h45-jZ-cPY">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
<font key="font" size="12" name="Helvetica-Light"/>
</buttonCell>
<connections>
<binding destination="-2" name="value" keyPath="self.launchOnLogin" id="Vqw-iQ-qOe"/>
</connections>
</button>
<button translatesAutoresizingMaskIntoConstraints="NO" id="N47-gw-Pay" customClass="ColoredButton">
<rect key="frame" x="9" y="119" width="343" height="22"/>
<constraints>
<constraint firstAttribute="width" constant="339" id="0eX-T7-EbU"/>
<constraint firstAttribute="height" constant="18" id="qwS-Bk-vmy"/>
</constraints>
<animations/>
<buttonCell key="cell" type="check" title="Use a 24-hour clock" bezelStyle="regularSquare" imagePosition="left" alignment="left" state="on" inset="2" id="Fro-eC-cMC">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
<font key="font" size="12" name="Helvetica-Light"/>
</buttonCell>
<connections>
<action selector="timeFormatSelectionChanged:" target="-2" id="6vB-XV-sSq"/>
<binding destination="sEG-Zb-KUM" name="value" keyPath="values.is24HourFormatSelected" id="wod-mK-9M5"/>
</connections>
</button>
<textField focusRingType="none" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="cso-OX-qzB">
<rect key="frame" x="8" y="49" width="413" height="20"/>
<animations/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" sendsActionOnEndEditing="YES" state="on" focusRingType="none" placeholderString="Open Source Message" id="l7j-wK-zcu">
<font key="font" size="13" name="HelveticaNeue-Thin"/>
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<button toolTip="Say Hello!" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="psn-eC-m9g">
<rect key="frame" x="2" y="13" width="97" height="32"/>
<constraints>
<constraint firstAttribute="height" constant="21" id="Url-R6-qPD"/>
<constraint firstAttribute="width" constant="85" id="Zyt-kT-9nT"/>
</constraints>
<animations/>
<buttonCell key="cell" type="push" title="Report Bug!" bezelStyle="rounded" alignment="center" borderStyle="border" inset="2" id="ZVb-7Q-E7k">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
<connections>
<action selector="supportAction:" target="-2" id="nlJ-e3-fCy"/>
</connections>
</button>
</subviews>
<constraints>
<constraint firstItem="psn-eC-m9g" firstAttribute="top" secondItem="cso-OX-qzB" secondAttribute="bottom" constant="8" id="1ah-5W-DP0"/>
<constraint firstItem="DCz-qN-ydK" firstAttribute="top" secondItem="cI0-M7-C9h" secondAttribute="bottom" constant="6" id="6Ye-VD-kSE"/>
<constraint firstItem="cso-OX-qzB" firstAttribute="leading" secondItem="se5-gp-TjO" secondAttribute="leading" constant="10" id="Bux-4T-BB9"/>
<constraint firstItem="P0l-kc-VxU" firstAttribute="leading" secondItem="se5-gp-TjO" secondAttribute="leading" constant="11" id="DUR-uK-Ncx"/>
<constraint firstItem="GDz-2Z-uX5" firstAttribute="leading" secondItem="se5-gp-TjO" secondAttribute="leading" constant="11" id="FLl-Pc-Gzn"/>
<constraint firstItem="cI0-M7-C9h" firstAttribute="leading" secondItem="se5-gp-TjO" secondAttribute="leading" constant="10" id="Fy5-6V-gu1"/>
<constraint firstAttribute="bottom" secondItem="psn-eC-m9g" secondAttribute="bottom" constant="20" id="N2a-39-Xp7"/>
<constraint firstItem="GDz-2Z-uX5" firstAttribute="top" secondItem="P0l-kc-VxU" secondAttribute="bottom" constant="8" id="NW3-cd-t0e"/>
<constraint firstAttribute="trailing" secondItem="cso-OX-qzB" secondAttribute="trailing" constant="20" id="Q4B-CE-JrO"/>
<constraint firstItem="ixe-Sn-8qT" firstAttribute="leading" secondItem="DCz-qN-ydK" secondAttribute="trailing" id="TLA-Fw-F7P"/>
<constraint firstItem="P0l-kc-VxU" firstAttribute="top" secondItem="N47-gw-Pay" secondAttribute="bottom" constant="8" id="Tfe-Y8-KcS"/>
<constraint firstItem="GDz-2Z-uX5" firstAttribute="width" secondItem="P0l-kc-VxU" secondAttribute="width" id="VUD-7V-5SX"/>
<constraint firstItem="DCz-qN-ydK" firstAttribute="leading" secondItem="se5-gp-TjO" secondAttribute="leading" constant="11" id="Waz-CP-UWF"/>
<constraint firstItem="GDz-2Z-uX5" firstAttribute="height" secondItem="P0l-kc-VxU" secondAttribute="height" id="c2z-Ik-d6W"/>
<constraint firstItem="N47-gw-Pay" firstAttribute="top" secondItem="ixe-Sn-8qT" secondAttribute="bottom" constant="8" id="gbd-HA-u9p"/>
<constraint firstItem="N47-gw-Pay" firstAttribute="leading" secondItem="se5-gp-TjO" secondAttribute="leading" constant="11" id="hXb-69-tI0"/>
<constraint firstItem="ixe-Sn-8qT" firstAttribute="width" secondItem="DCz-qN-ydK" secondAttribute="width" id="o7k-jf-cL0"/>
<constraint firstItem="cso-OX-qzB" firstAttribute="top" secondItem="GDz-2Z-uX5" secondAttribute="bottom" constant="8" id="qZY-wv-3kN"/>
<constraint firstItem="ixe-Sn-8qT" firstAttribute="height" secondItem="DCz-qN-ydK" secondAttribute="height" id="rsK-UP-Umg"/>
<constraint firstItem="cI0-M7-C9h" firstAttribute="top" secondItem="se5-gp-TjO" secondAttribute="top" constant="8" id="u5H-Ff-ivt"/>
<constraint firstAttribute="trailing" secondItem="cI0-M7-C9h" secondAttribute="trailing" constant="10" id="ut9-6b-cdu"/>
<constraint firstItem="N47-gw-Pay" firstAttribute="top" secondItem="DCz-qN-ydK" secondAttribute="bottom" constant="8" id="x0C-Ev-Imb"/>
<constraint firstItem="psn-eC-m9g" firstAttribute="leading" secondItem="se5-gp-TjO" secondAttribute="leading" constant="8" id="xEn-ec-WQn"/>
</constraints>
<animations/>
</view>
<connections>
<outlet property="delegate" destination="-2" id="0bl-1N-AYu"/>
</connections>
<point key="canvasLocation" x="304.5" y="257"/>
</window>
<window title="Window" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" hasShadow="NO" hidesOnDeactivate="YES" oneShot="NO" releasedWhenClosed="NO" showsToolbarButton="NO" visibleAtLaunch="NO" animationBehavior="alertPanel" appearanceType="aqua" frameAutosaveName="" id="Z6I-Ny-aGx" customClass="Panel">
<windowStyleMask key="styleMask" closable="YES" miniaturizable="YES" resizable="YES" documentModal="YES" nonactivatingPanel="YES" texturedBackground="YES"/>
<windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
<rect key="contentRect" x="120" y="64" width="345" height="320"/>
<rect key="screenRect" x="0.0" y="0.0" width="1280" height="777"/>
<value key="minSize" type="size" width="345" height="320"/>
<value key="maxSize" type="size" width="345" height="320"/>
<view key="contentView" id="byp-2M-iAO">
<rect key="frame" x="0.0" y="0.0" width="345" height="320"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<scrollView focusRingType="none" autohidesScrollers="YES" horizontalLineScroll="22" horizontalPageScroll="10" verticalLineScroll="22" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="3B2-hV-f8v">
<rect key="frame" x="8" y="27" width="329" height="257"/>
<clipView key="contentView" id="xtL-kR-J62">
<rect key="frame" x="1" y="0.0" width="327" height="256"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<tableView focusRingType="none" verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" alternatingRowBackgroundColors="YES" columnSelection="YES" multipleSelection="NO" autosaveColumns="NO" rowHeight="20" headerView="hHn-48-RCd" id="6Hm-XH-CMI">
<rect key="frame" x="0.0" y="0.0" width="327" height="233"/>
<autoresizingMask key="autoresizingMask"/>
<animations/>
<size key="intercellSpacing" width="3" height="2"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
<tableViewGridLines key="gridStyleMask" vertical="YES"/>
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
<tableColumns>
<tableColumn identifier="availableTimezones" editable="NO" width="205.5" minWidth="40" maxWidth="1000" id="TEh-P6-jcT">
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" title="Timezone Name">
<font key="font" metaFont="smallSystem"/>
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
</tableHeaderCell>
<textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" title="Text Cell" id="iJJ-UY-Q3g">
<font key="font" size="13" name="HelveticaNeue-Light"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
</tableColumn>
<tableColumn identifier="abbreviation" editable="NO" width="115.71875" minWidth="10" maxWidth="3.4028234663852886e+38" id="Iuq-hc-Ma0">
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="Abbreviation">
<font key="font" metaFont="smallSystem"/>
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
</tableHeaderCell>
<textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" alignment="left" title="Text Cell" id="pwL-7P-icB">
<font key="font" size="13" name="HelveticaNeue-Light"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
</tableColumn>
</tableColumns>
<connections>
<binding destination="-2" name="doubleClickTarget" keyPath="self" id="88W-iC-qMj">
<dictionary key="options">
<string key="NSSelectorName">addToFavorites:</string>
</dictionary>
</binding>
<outlet property="dataSource" destination="-2" id="OMp-pn-8oq"/>
<outlet property="delegate" destination="-2" id="mJw-oC-0dA"/>
</connections>
</tableView>
</subviews>
<animations/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
</clipView>
<constraints>
<constraint firstAttribute="height" constant="257" id="Yru-1j-SeJ"/>
</constraints>
<animations/>
<scroller key="horizontalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="YES" id="nBP-zr-k3M">
<rect key="frame" x="1" y="241" width="327" height="15"/>
<autoresizingMask key="autoresizingMask"/>
<animations/>
</scroller>
<scroller key="verticalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="NO" id="x3e-JD-qwd">
<rect key="frame" x="224" y="17" width="15" height="102"/>
<autoresizingMask key="autoresizingMask"/>
<animations/>
</scroller>
<tableHeaderView key="headerView" id="hHn-48-RCd">
<rect key="frame" x="0.0" y="0.0" width="327" height="23"/>
<autoresizingMask key="autoresizingMask"/>
<animations/>
</tableHeaderView>
</scrollView>
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="KlN-dU-s3o">
<rect key="frame" x="2" y="-2" width="52" height="32"/>
<constraints>
<constraint firstAttribute="height" constant="21" id="2QY-oM-3sO"/>
<constraint firstAttribute="width" constant="40" id="6JQ-5n-kb7"/>
</constraints>
<animations/>
<buttonCell key="cell" type="push" title="Add" bezelStyle="rounded" imagePosition="overlaps" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="kZe-ua-0p9">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" size="13" name="HelveticaNeue-Light"/>
</buttonCell>
<connections>
<action selector="addToFavorites:" target="-2" id="y27-tR-f1g"/>
</connections>
</button>
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Ueh-Ln-TC8">
<rect key="frame" x="44" y="-2" width="65" height="32"/>
<constraints>
<constraint firstAttribute="width" constant="53" id="Bql-d6-oci"/>
</constraints>
<animations/>
<buttonCell key="cell" type="push" title="Close" bezelStyle="rounded" imagePosition="overlaps" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="ODT-4D-sWu">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" size="13" name="HelveticaNeue-Light"/>
</buttonCell>
<connections>
<action selector="closePanel:" target="-2" id="6v9-wN-07n"/>
</connections>
</button>
<searchField wantsLayer="YES" focusRingType="none" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="5jL-eb-qdB">
<rect key="frame" x="8" y="287" width="329" height="25"/>
<animations/>
<searchFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" borderStyle="bezel" focusRingType="none" placeholderString="Enter Timezone Name" drawsBackground="YES" usesSingleLineMode="YES" id="2DC-BS-vbb">
<font key="font" size="13" name="HelveticaNeue-Light"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
</searchFieldCell>
<connections>
<action selector="filterArray:" target="-2" id="tX8-FN-IPy"/>
</connections>
</searchField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Rty-6T-aPw">
<rect key="frame" x="104" y="8" width="232" height="20"/>
<constraints>
<constraint firstAttribute="height" constant="20" id="y9Z-oT-NCB"/>
</constraints>
<animations/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Label" id="ysU-zz-gJh">
<font key="font" size="13" name="HelveticaNeue-Light"/>
<color key="textColor" red="1" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
</subviews>
<constraints>
<constraint firstAttribute="trailing" secondItem="Rty-6T-aPw" secondAttribute="trailing" constant="11" id="1Gg-n3-Hv8"/>
<constraint firstItem="3B2-hV-f8v" firstAttribute="leading" secondItem="byp-2M-iAO" secondAttribute="leading" constant="8" id="Ahs-HL-zfw"/>
<constraint firstAttribute="bottom" secondItem="KlN-dU-s3o" secondAttribute="bottom" constant="5" id="Hfs-he-pyg"/>
<constraint firstItem="3B2-hV-f8v" firstAttribute="top" secondItem="5jL-eb-qdB" secondAttribute="bottom" constant="3" id="Kkl-0p-AQX"/>
<constraint firstItem="5jL-eb-qdB" firstAttribute="top" secondItem="byp-2M-iAO" secondAttribute="top" constant="8" id="Lsa-mI-nMD"/>
<constraint firstItem="Rty-6T-aPw" firstAttribute="leading" secondItem="Ueh-Ln-TC8" secondAttribute="trailing" constant="3" id="NEj-GQ-4oy"/>
<constraint firstItem="5jL-eb-qdB" firstAttribute="leading" secondItem="byp-2M-iAO" secondAttribute="leading" constant="8" id="YFf-7y-AA0"/>
<constraint firstAttribute="bottom" secondItem="Ueh-Ln-TC8" secondAttribute="bottom" constant="5" id="kS2-Vc-NT7"/>
<constraint firstAttribute="bottom" secondItem="Rty-6T-aPw" secondAttribute="bottom" constant="8" id="pyy-35-q2k"/>
<constraint firstItem="Ueh-Ln-TC8" firstAttribute="leading" secondItem="KlN-dU-s3o" secondAttribute="trailing" constant="2" id="qYv-aW-l68"/>
<constraint firstAttribute="trailing" secondItem="3B2-hV-f8v" secondAttribute="trailing" constant="8" id="rae-0k-Dgj"/>
<constraint firstAttribute="trailing" secondItem="5jL-eb-qdB" secondAttribute="trailing" constant="8" id="uy8-q5-8Vi"/>
<constraint firstItem="KlN-dU-s3o" firstAttribute="leading" secondItem="byp-2M-iAO" secondAttribute="leading" constant="8" id="y6V-Aa-AZU"/>
<constraint firstItem="Ueh-Ln-TC8" firstAttribute="height" secondItem="KlN-dU-s3o" secondAttribute="height" id="zET-ty-u3G"/>
</constraints>
<animations/>
</view>
<point key="canvasLocation" x="582.5" y="681"/>
</window>
<userDefaultsController representsSharedInstance="YES" id="sEG-Zb-KUM"/>
</objects>
<resources>
<image name="NSAddTemplate" width="11" height="11"/>
<image name="NSRemoveTemplate" width="11" height="11"/>
</resources>
</document>

4
Clocker/PreferencesWindowController.h

@ -30,16 +30,14 @@
// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#import <Cocoa/Cocoa.h>
#import "CLAboutWindowController.h"
@class AvailableTimezonesPanel;
@interface PreferencesWindowController : NSWindowController <NSCopying, NSTableViewDelegate, NSTableViewDataSource>
@interface c : NSWindowController <NSCopying, NSTableViewDelegate, NSTableViewDataSource>
@property (strong, nonatomic) NSMutableArray *timeZoneArray;
@property (strong, nonatomic) NSMutableArray *selectedTimeZones;
@property (strong, nonatomic) NSArray *filteredArray;
@property (strong, nonatomic) CLAboutWindowController *aboutUsWindow;
@property (atomic, assign) BOOL launchOnLogin;
+ (instancetype)sharedPreferences;

0
Clocker/CommonStrings.h → Clocker/Utilities/CommonStrings.h

0
Clocker/CommonStrings.m → Clocker/Utilities/CommonStrings.m

8
Clocker/en.lproj/PreferencesWindow.xib

@ -18,8 +18,8 @@
</customObject>
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
<window identifier="Selected Timezones" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" restorable="NO" oneShot="NO" releasedWhenClosed="NO" animationBehavior="documentWindow" id="F0z-JX-Cv5">
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES" unifiedTitleAndToolbar="YES"/>
<window identifier="Selected Timezones" title="Clocker" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" restorable="NO" oneShot="NO" releasedWhenClosed="NO" animationBehavior="documentWindow" id="F0z-JX-Cv5">
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/>
<windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
<rect key="contentRect" x="407" y="179" width="439" height="373"/>
<rect key="screenRect" x="0.0" y="0.0" width="1280" height="777"/>
@ -297,8 +297,8 @@
<action selector="filterArray:" target="-2" id="tX8-FN-IPy"/>
</connections>
</searchField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Rty-6T-aPw">
<rect key="frame" x="104" y="8" width="232" height="20"/>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Rty-6T-aPw">
<rect key="frame" x="104" y="7" width="232" height="20"/>
<constraints>
<constraint firstAttribute="height" constant="20" id="y9Z-oT-NCB"/>
</constraints>

0
Crashlytics.framework/Crashlytics → Frameworks/Crashlytics.framework/Crashlytics vendored

0
Crashlytics.framework/Headers → Frameworks/Crashlytics.framework/Headers vendored

0
Crashlytics.framework/Modules → Frameworks/Crashlytics.framework/Modules vendored

0
Crashlytics.framework/Resources → Frameworks/Crashlytics.framework/Resources vendored

0
Crashlytics.framework/Versions/A/Crashlytics → Frameworks/Crashlytics.framework/Versions/A/Crashlytics vendored

0
Crashlytics.framework/Versions/A/Headers/ANSCompatibility.h → Frameworks/Crashlytics.framework/Versions/A/Headers/ANSCompatibility.h vendored

0
Crashlytics.framework/Versions/A/Headers/Answers.h → Frameworks/Crashlytics.framework/Versions/A/Headers/Answers.h vendored

0
Crashlytics.framework/Versions/A/Headers/CLSAttributes.h → Frameworks/Crashlytics.framework/Versions/A/Headers/CLSAttributes.h vendored

0
Crashlytics.framework/Versions/A/Headers/CLSLogging.h → Frameworks/Crashlytics.framework/Versions/A/Headers/CLSLogging.h vendored

0
Crashlytics.framework/Versions/A/Headers/CLSReport.h → Frameworks/Crashlytics.framework/Versions/A/Headers/CLSReport.h vendored

0
Crashlytics.framework/Versions/A/Headers/CLSStackFrame.h → Frameworks/Crashlytics.framework/Versions/A/Headers/CLSStackFrame.h vendored

0
Crashlytics.framework/Versions/A/Headers/Crashlytics.h → Frameworks/Crashlytics.framework/Versions/A/Headers/Crashlytics.h vendored

0
Crashlytics.framework/Versions/A/Modules/module.modulemap → Frameworks/Crashlytics.framework/Versions/A/Modules/module.modulemap vendored

0
Crashlytics.framework/Versions/A/Resources/Info.plist → Frameworks/Crashlytics.framework/Versions/A/Resources/Info.plist vendored

0
Crashlytics.framework/Versions/Current → Frameworks/Crashlytics.framework/Versions/Current vendored

0
Crashlytics.framework/run → Frameworks/Crashlytics.framework/run vendored

0
Crashlytics.framework/submit → Frameworks/Crashlytics.framework/submit vendored

0
Crashlytics.framework/uploadDSYM → Frameworks/Crashlytics.framework/uploadDSYM vendored

0
Fabric.framework/Fabric → Frameworks/Fabric.framework/Fabric vendored

0
Fabric.framework/Headers → Frameworks/Fabric.framework/Headers vendored

0
Fabric.framework/Modules → Frameworks/Fabric.framework/Modules vendored

0
Fabric.framework/Resources → Frameworks/Fabric.framework/Resources vendored

0
Fabric.framework/Versions/A/Fabric → Frameworks/Fabric.framework/Versions/A/Fabric vendored

0
Fabric.framework/Versions/A/Headers/FABAttributes.h → Frameworks/Fabric.framework/Versions/A/Headers/FABAttributes.h vendored

0
Fabric.framework/Versions/A/Headers/Fabric.h → Frameworks/Fabric.framework/Versions/A/Headers/Fabric.h vendored

0
Fabric.framework/Versions/A/Modules/module.modulemap → Frameworks/Fabric.framework/Versions/A/Modules/module.modulemap vendored

0
Fabric.framework/Versions/A/Resources/Info.plist → Frameworks/Fabric.framework/Versions/A/Resources/Info.plist vendored

0
Fabric.framework/Versions/Current → Frameworks/Fabric.framework/Versions/Current vendored

0
Fabric.framework/run → Frameworks/Fabric.framework/run vendored

0
Fabric.framework/uploadDSYM → Frameworks/Fabric.framework/uploadDSYM vendored

0
Security.framework/Headers → Frameworks/Security.framework/Headers

0
Security.framework/Security.tbd → Frameworks/Security.framework/Security.tbd

0
Security.framework/Versions/A/Headers/AuthSession.h → Frameworks/Security.framework/Versions/A/Headers/AuthSession.h

0
Security.framework/Versions/A/Headers/Authorization.h → Frameworks/Security.framework/Versions/A/Headers/Authorization.h

0
Security.framework/Versions/A/Headers/AuthorizationDB.h → Frameworks/Security.framework/Versions/A/Headers/AuthorizationDB.h

0
Security.framework/Versions/A/Headers/AuthorizationPlugin.h → Frameworks/Security.framework/Versions/A/Headers/AuthorizationPlugin.h

0
Security.framework/Versions/A/Headers/AuthorizationTags.h → Frameworks/Security.framework/Versions/A/Headers/AuthorizationTags.h

0
Security.framework/Versions/A/Headers/CMSDecoder.h → Frameworks/Security.framework/Versions/A/Headers/CMSDecoder.h

0
Security.framework/Versions/A/Headers/CMSEncoder.h → Frameworks/Security.framework/Versions/A/Headers/CMSEncoder.h

0
Security.framework/Versions/A/Headers/CSCommon.h → Frameworks/Security.framework/Versions/A/Headers/CSCommon.h

0
Security.framework/Versions/A/Headers/CipherSuite.h → Frameworks/Security.framework/Versions/A/Headers/CipherSuite.h

0
Security.framework/Versions/A/Headers/CodeSigning.h → Frameworks/Security.framework/Versions/A/Headers/CodeSigning.h

0
Security.framework/Versions/A/Headers/SecACL.h → Frameworks/Security.framework/Versions/A/Headers/SecACL.h

0
Security.framework/Versions/A/Headers/SecAccess.h → Frameworks/Security.framework/Versions/A/Headers/SecAccess.h

0
Security.framework/Versions/A/Headers/SecAccessControl.h → Frameworks/Security.framework/Versions/A/Headers/SecAccessControl.h

0
Security.framework/Versions/A/Headers/SecAsn1Coder.h → Frameworks/Security.framework/Versions/A/Headers/SecAsn1Coder.h

0
Security.framework/Versions/A/Headers/SecAsn1Templates.h → Frameworks/Security.framework/Versions/A/Headers/SecAsn1Templates.h

0
Security.framework/Versions/A/Headers/SecAsn1Types.h → Frameworks/Security.framework/Versions/A/Headers/SecAsn1Types.h

0
Security.framework/Versions/A/Headers/SecBase.h → Frameworks/Security.framework/Versions/A/Headers/SecBase.h

0
Security.framework/Versions/A/Headers/SecCertificate.h → Frameworks/Security.framework/Versions/A/Headers/SecCertificate.h

0
Security.framework/Versions/A/Headers/SecCertificateOIDs.h → Frameworks/Security.framework/Versions/A/Headers/SecCertificateOIDs.h

0
Security.framework/Versions/A/Headers/SecCode.h → Frameworks/Security.framework/Versions/A/Headers/SecCode.h

0
Security.framework/Versions/A/Headers/SecCodeHost.h → Frameworks/Security.framework/Versions/A/Headers/SecCodeHost.h

0
Security.framework/Versions/A/Headers/SecCustomTransform.h → Frameworks/Security.framework/Versions/A/Headers/SecCustomTransform.h

0
Security.framework/Versions/A/Headers/SecDecodeTransform.h → Frameworks/Security.framework/Versions/A/Headers/SecDecodeTransform.h

0
Security.framework/Versions/A/Headers/SecDigestTransform.h → Frameworks/Security.framework/Versions/A/Headers/SecDigestTransform.h

0
Security.framework/Versions/A/Headers/SecEncodeTransform.h → Frameworks/Security.framework/Versions/A/Headers/SecEncodeTransform.h

0
Security.framework/Versions/A/Headers/SecEncryptTransform.h → Frameworks/Security.framework/Versions/A/Headers/SecEncryptTransform.h

0
Security.framework/Versions/A/Headers/SecIdentity.h → Frameworks/Security.framework/Versions/A/Headers/SecIdentity.h

0
Security.framework/Versions/A/Headers/SecIdentitySearch.h → Frameworks/Security.framework/Versions/A/Headers/SecIdentitySearch.h

0
Security.framework/Versions/A/Headers/SecImportExport.h → Frameworks/Security.framework/Versions/A/Headers/SecImportExport.h

0
Security.framework/Versions/A/Headers/SecItem.h → Frameworks/Security.framework/Versions/A/Headers/SecItem.h

0
Security.framework/Versions/A/Headers/SecKey.h → Frameworks/Security.framework/Versions/A/Headers/SecKey.h

0
Security.framework/Versions/A/Headers/SecKeychain.h → Frameworks/Security.framework/Versions/A/Headers/SecKeychain.h

0
Security.framework/Versions/A/Headers/SecKeychainItem.h → Frameworks/Security.framework/Versions/A/Headers/SecKeychainItem.h

0
Security.framework/Versions/A/Headers/SecKeychainSearch.h → Frameworks/Security.framework/Versions/A/Headers/SecKeychainSearch.h

0
Security.framework/Versions/A/Headers/SecPolicy.h → Frameworks/Security.framework/Versions/A/Headers/SecPolicy.h

0
Security.framework/Versions/A/Headers/SecPolicySearch.h → Frameworks/Security.framework/Versions/A/Headers/SecPolicySearch.h

0
Security.framework/Versions/A/Headers/SecRandom.h → Frameworks/Security.framework/Versions/A/Headers/SecRandom.h

0
Security.framework/Versions/A/Headers/SecReadTransform.h → Frameworks/Security.framework/Versions/A/Headers/SecReadTransform.h

0
Security.framework/Versions/A/Headers/SecRequirement.h → Frameworks/Security.framework/Versions/A/Headers/SecRequirement.h

0
Security.framework/Versions/A/Headers/SecSignVerifyTransform.h → Frameworks/Security.framework/Versions/A/Headers/SecSignVerifyTransform.h

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save