Abhishek Banthia
9 years ago
161 changed files with 1185 additions and 1382 deletions
Binary file not shown.
@ -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> |
@ -0,0 +1,13 @@ |
|||||||
|
//
|
||||||
|
// CLAboutUsViewController.h
|
||||||
|
// Clocker
|
||||||
|
//
|
||||||
|
// Created by Abhishek Banthia on 12/12/15.
|
||||||
|
//
|
||||||
|
//
|
||||||
|
|
||||||
|
#import <Cocoa/Cocoa.h> |
||||||
|
|
||||||
|
@interface CLAboutUsViewController : NSViewController |
||||||
|
|
||||||
|
@end |
@ -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 |
@ -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> |
|
@ -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 |
|
@ -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 |
|
@ -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> |
|
@ -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> |
|
@ -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> |
@ -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 |
@ -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 |
@ -1,7 +1,7 @@ |
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> |
<?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> |
<dependencies> |
||||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="8191"/> |
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="9531"/> |
||||||
</dependencies> |
</dependencies> |
||||||
<objects> |
<objects> |
||||||
<customObject id="-2" userLabel="File's Owner" customClass="NSApplication"> |
<customObject id="-2" userLabel="File's Owner" customClass="NSApplication"> |
@ -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> |
@ -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 |
@ -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 |
@ -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> |
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue