Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

Initial import

  • Loading branch information...
commit a9c0696ba69346231dd82301c30bd4290624b9b4 0 parents
Bertrand Fan authored
2  English.lproj/InfoPlist.strings
... ...
@@ -0,0 +1,2 @@
  1
+/* Localized versions of Info.plist keys */
  2
+
3,532  English.lproj/MainMenu.xib
3532 additions, 0 deletions not shown
34  Hipster-Info.plist
... ...
@@ -0,0 +1,34 @@
  1
+<?xml version="1.0" encoding="UTF-8"?>
  2
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  3
+<plist version="1.0">
  4
+<dict>
  5
+	<key>CFBundleDevelopmentRegion</key>
  6
+	<string>English</string>
  7
+	<key>CFBundleExecutable</key>
  8
+	<string>${EXECUTABLE_NAME}</string>
  9
+	<key>CFBundleIconFile</key>
  10
+	<string>bike-icon.icns</string>
  11
+	<key>CFBundleIdentifier</key>
  12
+	<string>com.smittn.hipster</string>
  13
+	<key>CFBundleInfoDictionaryVersion</key>
  14
+	<string>6.0</string>
  15
+	<key>CFBundleName</key>
  16
+	<string>${PRODUCT_NAME}</string>
  17
+	<key>CFBundlePackageType</key>
  18
+	<string>APPL</string>
  19
+	<key>CFBundleShortVersionString</key>
  20
+	<string>1.0</string>
  21
+	<key>CFBundleSignature</key>
  22
+	<string>????</string>
  23
+	<key>CFBundleVersion</key>
  24
+	<string>1</string>
  25
+	<key>LSMinimumSystemVersion</key>
  26
+	<string>${MACOSX_DEPLOYMENT_TARGET}</string>
  27
+	<key>LSUIElement</key>
  28
+	<true/>
  29
+	<key>NSMainNibFile</key>
  30
+	<string>MainMenu</string>
  31
+	<key>NSPrincipalClass</key>
  32
+	<string>NSApplication</string>
  33
+</dict>
  34
+</plist>
294  Hipster.xcodeproj/project.pbxproj
... ...
@@ -0,0 +1,294 @@
  1
+// !$*UTF8*$!
  2
+{
  3
+	archiveVersion = 1;
  4
+	classes = {
  5
+	};
  6
+	objectVersion = 46;
  7
+	objects = {
  8
+
  9
+/* Begin PBXBuildFile section */
  10
+		06C7292B14A81FAC00AF20BE /* bike-icon.icns in Resources */ = {isa = PBXBuildFile; fileRef = 06C7292A14A81FAC00AF20BE /* bike-icon.icns */; };
  11
+		06C7292D14A820D200AF20BE /* bike-menubar.png in Resources */ = {isa = PBXBuildFile; fileRef = 06C7292C14A820D200AF20BE /* bike-menubar.png */; };
  12
+		1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1DDD58140DA1D0A300B32029 /* MainMenu.xib */; };
  13
+		256AC3DA0F4B6AC300CF3369 /* StatusBarAppAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 256AC3D90F4B6AC300CF3369 /* StatusBarAppAppDelegate.m */; };
  14
+		8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; };
  15
+		8D11072D0486CEB800E47090 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; };
  16
+		8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
  17
+/* End PBXBuildFile section */
  18
+
  19
+/* Begin PBXFileReference section */
  20
+		06C7292A14A81FAC00AF20BE /* bike-icon.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = "bike-icon.icns"; sourceTree = "<group>"; };
  21
+		06C7292C14A820D200AF20BE /* bike-menubar.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "bike-menubar.png"; sourceTree = "<group>"; };
  22
+		089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
  23
+		1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
  24
+		13E42FB307B3F0F600E4EEF1 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = "<absolute>"; };
  25
+		1DDD58150DA1D0A300B32029 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/MainMenu.xib; sourceTree = "<group>"; };
  26
+		256AC3D80F4B6AC300CF3369 /* StatusBarAppAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StatusBarAppAppDelegate.h; sourceTree = "<group>"; };
  27
+		256AC3D90F4B6AC300CF3369 /* StatusBarAppAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = StatusBarAppAppDelegate.m; sourceTree = "<group>"; };
  28
+		256AC3F00F4B6AF500CF3369 /* Hipster_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Hipster_Prefix.pch; sourceTree = "<group>"; };
  29
+		29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
  30
+		29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
  31
+		29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
  32
+		8D1107310486CEB800E47090 /* Hipster-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Hipster-Info.plist"; sourceTree = "<group>"; };
  33
+		8D1107320486CEB800E47090 /* Hipster.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Hipster.app; sourceTree = BUILT_PRODUCTS_DIR; };
  34
+/* End PBXFileReference section */
  35
+
  36
+/* Begin PBXFrameworksBuildPhase section */
  37
+		8D11072E0486CEB800E47090 /* Frameworks */ = {
  38
+			isa = PBXFrameworksBuildPhase;
  39
+			buildActionMask = 2147483647;
  40
+			files = (
  41
+				8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */,
  42
+			);
  43
+			runOnlyForDeploymentPostprocessing = 0;
  44
+		};
  45
+/* End PBXFrameworksBuildPhase section */
  46
+
  47
+/* Begin PBXGroup section */
  48
+		080E96DDFE201D6D7F000001 /* Classes */ = {
  49
+			isa = PBXGroup;
  50
+			children = (
  51
+				256AC3D80F4B6AC300CF3369 /* StatusBarAppAppDelegate.h */,
  52
+				256AC3D90F4B6AC300CF3369 /* StatusBarAppAppDelegate.m */,
  53
+			);
  54
+			name = Classes;
  55
+			sourceTree = "<group>";
  56
+		};
  57
+		1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = {
  58
+			isa = PBXGroup;
  59
+			children = (
  60
+				1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */,
  61
+			);
  62
+			name = "Linked Frameworks";
  63
+			sourceTree = "<group>";
  64
+		};
  65
+		1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = {
  66
+			isa = PBXGroup;
  67
+			children = (
  68
+				29B97324FDCFA39411CA2CEA /* AppKit.framework */,
  69
+				13E42FB307B3F0F600E4EEF1 /* CoreData.framework */,
  70
+				29B97325FDCFA39411CA2CEA /* Foundation.framework */,
  71
+			);
  72
+			name = "Other Frameworks";
  73
+			sourceTree = "<group>";
  74
+		};
  75
+		19C28FACFE9D520D11CA2CBB /* Products */ = {
  76
+			isa = PBXGroup;
  77
+			children = (
  78
+				8D1107320486CEB800E47090 /* Hipster.app */,
  79
+			);
  80
+			name = Products;
  81
+			sourceTree = "<group>";
  82
+		};
  83
+		29B97314FDCFA39411CA2CEA /* StatusBarApp */ = {
  84
+			isa = PBXGroup;
  85
+			children = (
  86
+				080E96DDFE201D6D7F000001 /* Classes */,
  87
+				29B97315FDCFA39411CA2CEA /* Other Sources */,
  88
+				29B97317FDCFA39411CA2CEA /* Resources */,
  89
+				29B97323FDCFA39411CA2CEA /* Frameworks */,
  90
+				19C28FACFE9D520D11CA2CBB /* Products */,
  91
+			);
  92
+			name = StatusBarApp;
  93
+			sourceTree = "<group>";
  94
+		};
  95
+		29B97315FDCFA39411CA2CEA /* Other Sources */ = {
  96
+			isa = PBXGroup;
  97
+			children = (
  98
+				256AC3F00F4B6AF500CF3369 /* Hipster_Prefix.pch */,
  99
+				29B97316FDCFA39411CA2CEA /* main.m */,
  100
+			);
  101
+			name = "Other Sources";
  102
+			sourceTree = "<group>";
  103
+		};
  104
+		29B97317FDCFA39411CA2CEA /* Resources */ = {
  105
+			isa = PBXGroup;
  106
+			children = (
  107
+				8D1107310486CEB800E47090 /* Hipster-Info.plist */,
  108
+				06C7292A14A81FAC00AF20BE /* bike-icon.icns */,
  109
+				06C7292C14A820D200AF20BE /* bike-menubar.png */,
  110
+				089C165CFE840E0CC02AAC07 /* InfoPlist.strings */,
  111
+				1DDD58140DA1D0A300B32029 /* MainMenu.xib */,
  112
+			);
  113
+			name = Resources;
  114
+			sourceTree = "<group>";
  115
+		};
  116
+		29B97323FDCFA39411CA2CEA /* Frameworks */ = {
  117
+			isa = PBXGroup;
  118
+			children = (
  119
+				1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */,
  120
+				1058C7A2FEA54F0111CA2CBB /* Other Frameworks */,
  121
+			);
  122
+			name = Frameworks;
  123
+			sourceTree = "<group>";
  124
+		};
  125
+/* End PBXGroup section */
  126
+
  127
+/* Begin PBXNativeTarget section */
  128
+		8D1107260486CEB800E47090 /* Hipster */ = {
  129
+			isa = PBXNativeTarget;
  130
+			buildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "Hipster" */;
  131
+			buildPhases = (
  132
+				8D1107290486CEB800E47090 /* Resources */,
  133
+				8D11072C0486CEB800E47090 /* Sources */,
  134
+				8D11072E0486CEB800E47090 /* Frameworks */,
  135
+			);
  136
+			buildRules = (
  137
+			);
  138
+			dependencies = (
  139
+			);
  140
+			name = Hipster;
  141
+			productInstallPath = "$(HOME)/Applications";
  142
+			productName = StatusBarApp;
  143
+			productReference = 8D1107320486CEB800E47090 /* Hipster.app */;
  144
+			productType = "com.apple.product-type.application";
  145
+		};
  146
+/* End PBXNativeTarget section */
  147
+
  148
+/* Begin PBXProject section */
  149
+		29B97313FDCFA39411CA2CEA /* Project object */ = {
  150
+			isa = PBXProject;
  151
+			attributes = {
  152
+				LastUpgradeCheck = 0420;
  153
+			};
  154
+			buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "Hipster" */;
  155
+			compatibilityVersion = "Xcode 3.2";
  156
+			developmentRegion = English;
  157
+			hasScannedForEncodings = 1;
  158
+			knownRegions = (
  159
+				en,
  160
+			);
  161
+			mainGroup = 29B97314FDCFA39411CA2CEA /* StatusBarApp */;
  162
+			projectDirPath = "";
  163
+			projectRoot = "";
  164
+			targets = (
  165
+				8D1107260486CEB800E47090 /* Hipster */,
  166
+			);
  167
+		};
  168
+/* End PBXProject section */
  169
+
  170
+/* Begin PBXResourcesBuildPhase section */
  171
+		8D1107290486CEB800E47090 /* Resources */ = {
  172
+			isa = PBXResourcesBuildPhase;
  173
+			buildActionMask = 2147483647;
  174
+			files = (
  175
+				8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */,
  176
+				1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */,
  177
+				06C7292B14A81FAC00AF20BE /* bike-icon.icns in Resources */,
  178
+				06C7292D14A820D200AF20BE /* bike-menubar.png in Resources */,
  179
+			);
  180
+			runOnlyForDeploymentPostprocessing = 0;
  181
+		};
  182
+/* End PBXResourcesBuildPhase section */
  183
+
  184
+/* Begin PBXSourcesBuildPhase section */
  185
+		8D11072C0486CEB800E47090 /* Sources */ = {
  186
+			isa = PBXSourcesBuildPhase;
  187
+			buildActionMask = 2147483647;
  188
+			files = (
  189
+				8D11072D0486CEB800E47090 /* main.m in Sources */,
  190
+				256AC3DA0F4B6AC300CF3369 /* StatusBarAppAppDelegate.m in Sources */,
  191
+			);
  192
+			runOnlyForDeploymentPostprocessing = 0;
  193
+		};
  194
+/* End PBXSourcesBuildPhase section */
  195
+
  196
+/* Begin PBXVariantGroup section */
  197
+		089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = {
  198
+			isa = PBXVariantGroup;
  199
+			children = (
  200
+				089C165DFE840E0CC02AAC07 /* English */,
  201
+			);
  202
+			name = InfoPlist.strings;
  203
+			sourceTree = "<group>";
  204
+		};
  205
+		1DDD58140DA1D0A300B32029 /* MainMenu.xib */ = {
  206
+			isa = PBXVariantGroup;
  207
+			children = (
  208
+				1DDD58150DA1D0A300B32029 /* English */,
  209
+			);
  210
+			name = MainMenu.xib;
  211
+			sourceTree = "<group>";
  212
+		};
  213
+/* End PBXVariantGroup section */
  214
+
  215
+/* Begin XCBuildConfiguration section */
  216
+		C01FCF4B08A954540054247B /* Debug */ = {
  217
+			isa = XCBuildConfiguration;
  218
+			buildSettings = {
  219
+				ALWAYS_SEARCH_USER_PATHS = NO;
  220
+				COPY_PHASE_STRIP = NO;
  221
+				GCC_DYNAMIC_NO_PIC = NO;
  222
+				GCC_MODEL_TUNING = G5;
  223
+				GCC_OPTIMIZATION_LEVEL = 0;
  224
+				GCC_PRECOMPILE_PREFIX_HEADER = YES;
  225
+				GCC_PREFIX_HEADER = Hipster_Prefix.pch;
  226
+				INFOPLIST_FILE = "Hipster-Info.plist";
  227
+				INSTALL_PATH = "$(HOME)/Applications";
  228
+				PRODUCT_NAME = Hipster;
  229
+			};
  230
+			name = Debug;
  231
+		};
  232
+		C01FCF4C08A954540054247B /* Release */ = {
  233
+			isa = XCBuildConfiguration;
  234
+			buildSettings = {
  235
+				ALWAYS_SEARCH_USER_PATHS = NO;
  236
+				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
  237
+				GCC_MODEL_TUNING = G5;
  238
+				GCC_PRECOMPILE_PREFIX_HEADER = YES;
  239
+				GCC_PREFIX_HEADER = Hipster_Prefix.pch;
  240
+				INFOPLIST_FILE = "Hipster-Info.plist";
  241
+				INSTALL_PATH = "$(HOME)/Applications";
  242
+				PRODUCT_NAME = Hipster;
  243
+			};
  244
+			name = Release;
  245
+		};
  246
+		C01FCF4F08A954540054247B /* Debug */ = {
  247
+			isa = XCBuildConfiguration;
  248
+			buildSettings = {
  249
+				ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
  250
+				GCC_C_LANGUAGE_STANDARD = gnu99;
  251
+				GCC_OPTIMIZATION_LEVEL = 0;
  252
+				GCC_WARN_ABOUT_RETURN_TYPE = YES;
  253
+				GCC_WARN_UNUSED_VARIABLE = YES;
  254
+				ONLY_ACTIVE_ARCH = YES;
  255
+				SDKROOT = macosx10.6;
  256
+			};
  257
+			name = Debug;
  258
+		};
  259
+		C01FCF5008A954540054247B /* Release */ = {
  260
+			isa = XCBuildConfiguration;
  261
+			buildSettings = {
  262
+				ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
  263
+				GCC_C_LANGUAGE_STANDARD = gnu99;
  264
+				GCC_WARN_ABOUT_RETURN_TYPE = YES;
  265
+				GCC_WARN_UNUSED_VARIABLE = YES;
  266
+				SDKROOT = macosx10.6;
  267
+			};
  268
+			name = Release;
  269
+		};
  270
+/* End XCBuildConfiguration section */
  271
+
  272
+/* Begin XCConfigurationList section */
  273
+		C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "Hipster" */ = {
  274
+			isa = XCConfigurationList;
  275
+			buildConfigurations = (
  276
+				C01FCF4B08A954540054247B /* Debug */,
  277
+				C01FCF4C08A954540054247B /* Release */,
  278
+			);
  279
+			defaultConfigurationIsVisible = 0;
  280
+			defaultConfigurationName = Release;
  281
+		};
  282
+		C01FCF4E08A954540054247B /* Build configuration list for PBXProject "Hipster" */ = {
  283
+			isa = XCConfigurationList;
  284
+			buildConfigurations = (
  285
+				C01FCF4F08A954540054247B /* Debug */,
  286
+				C01FCF5008A954540054247B /* Release */,
  287
+			);
  288
+			defaultConfigurationIsVisible = 0;
  289
+			defaultConfigurationName = Release;
  290
+		};
  291
+/* End XCConfigurationList section */
  292
+	};
  293
+	rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
  294
+}
7  Hipster.xcodeproj/project.xcworkspace/contents.xcworkspacedata
... ...
@@ -0,0 +1,7 @@
  1
+<?xml version="1.0" encoding="UTF-8"?>
  2
+<Workspace
  3
+   version = "1.0">
  4
+   <FileRef
  5
+      location = "self:Hipster.xcodeproj">
  6
+   </FileRef>
  7
+</Workspace>
BIN  Hipster.xcodeproj/project.xcworkspace/xcuserdata/bertrand.xcuserdatad/UserInterfaceState.xcuserstate
Binary file not shown
10  Hipster.xcodeproj/project.xcworkspace/xcuserdata/bertrand.xcuserdatad/WorkspaceSettings.xcsettings
... ...
@@ -0,0 +1,10 @@
  1
+<?xml version="1.0" encoding="UTF-8"?>
  2
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  3
+<plist version="1.0">
  4
+<dict>
  5
+	<key>IDEWorkspaceUserSettings_HasAskedToTakeAutomaticSnapshotBeforeSignificantChanges</key>
  6
+	<true/>
  7
+	<key>IDEWorkspaceUserSettings_SnapshotAutomaticallyBeforeSignificantChanges</key>
  8
+	<true/>
  9
+</dict>
  10
+</plist>
5  Hipster.xcodeproj/xcuserdata/bertrand.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist
... ...
@@ -0,0 +1,5 @@
  1
+<?xml version="1.0" encoding="UTF-8"?>
  2
+<Bucket
  3
+   type = "1"
  4
+   version = "1.0">
  5
+</Bucket>
84  Hipster.xcodeproj/xcuserdata/bertrand.xcuserdatad/xcschemes/StatusBarApp.xcscheme
... ...
@@ -0,0 +1,84 @@
  1
+<?xml version="1.0" encoding="UTF-8"?>
  2
+<Scheme
  3
+   version = "1.3">
  4
+   <BuildAction
  5
+      parallelizeBuildables = "YES"
  6
+      buildImplicitDependencies = "YES">
  7
+      <BuildActionEntries>
  8
+         <BuildActionEntry
  9
+            buildForTesting = "YES"
  10
+            buildForRunning = "YES"
  11
+            buildForProfiling = "YES"
  12
+            buildForArchiving = "YES"
  13
+            buildForAnalyzing = "YES">
  14
+            <BuildableReference
  15
+               BuildableIdentifier = "primary"
  16
+               BlueprintIdentifier = "8D1107260486CEB800E47090"
  17
+               BuildableName = "Hipster.app"
  18
+               BlueprintName = "Hipster"
  19
+               ReferencedContainer = "container:Hipster.xcodeproj">
  20
+            </BuildableReference>
  21
+         </BuildActionEntry>
  22
+      </BuildActionEntries>
  23
+   </BuildAction>
  24
+   <TestAction
  25
+      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
  26
+      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
  27
+      shouldUseLaunchSchemeArgsEnv = "YES"
  28
+      buildConfiguration = "Debug">
  29
+      <Testables>
  30
+      </Testables>
  31
+      <MacroExpansion>
  32
+         <BuildableReference
  33
+            BuildableIdentifier = "primary"
  34
+            BlueprintIdentifier = "8D1107260486CEB800E47090"
  35
+            BuildableName = "Hipster.app"
  36
+            BlueprintName = "Hipster"
  37
+            ReferencedContainer = "container:Hipster.xcodeproj">
  38
+         </BuildableReference>
  39
+      </MacroExpansion>
  40
+   </TestAction>
  41
+   <LaunchAction
  42
+      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
  43
+      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
  44
+      launchStyle = "0"
  45
+      useCustomWorkingDirectory = "NO"
  46
+      buildConfiguration = "Debug"
  47
+      debugDocumentVersioning = "YES"
  48
+      allowLocationSimulation = "YES">
  49
+      <BuildableProductRunnable>
  50
+         <BuildableReference
  51
+            BuildableIdentifier = "primary"
  52
+            BlueprintIdentifier = "8D1107260486CEB800E47090"
  53
+            BuildableName = "Hipster.app"
  54
+            BlueprintName = "Hipster"
  55
+            ReferencedContainer = "container:Hipster.xcodeproj">
  56
+         </BuildableReference>
  57
+      </BuildableProductRunnable>
  58
+      <AdditionalOptions>
  59
+      </AdditionalOptions>
  60
+   </LaunchAction>
  61
+   <ProfileAction
  62
+      shouldUseLaunchSchemeArgsEnv = "YES"
  63
+      savedToolIdentifier = ""
  64
+      useCustomWorkingDirectory = "NO"
  65
+      buildConfiguration = "Release"
  66
+      debugDocumentVersioning = "YES">
  67
+      <BuildableProductRunnable>
  68
+         <BuildableReference
  69
+            BuildableIdentifier = "primary"
  70
+            BlueprintIdentifier = "8D1107260486CEB800E47090"
  71
+            BuildableName = "Hipster.app"
  72
+            BlueprintName = "Hipster"
  73
+            ReferencedContainer = "container:Hipster.xcodeproj">
  74
+         </BuildableReference>
  75
+      </BuildableProductRunnable>
  76
+   </ProfileAction>
  77
+   <AnalyzeAction
  78
+      buildConfiguration = "Debug">
  79
+   </AnalyzeAction>
  80
+   <ArchiveAction
  81
+      buildConfiguration = "Release"
  82
+      revealArchiveInOrganizer = "YES">
  83
+   </ArchiveAction>
  84
+</Scheme>
22  Hipster.xcodeproj/xcuserdata/bertrand.xcuserdatad/xcschemes/xcschememanagement.plist
... ...
@@ -0,0 +1,22 @@
  1
+<?xml version="1.0" encoding="UTF-8"?>
  2
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  3
+<plist version="1.0">
  4
+<dict>
  5
+	<key>SchemeUserState</key>
  6
+	<dict>
  7
+		<key>StatusBarApp.xcscheme</key>
  8
+		<dict>
  9
+			<key>orderHint</key>
  10
+			<integer>0</integer>
  11
+		</dict>
  12
+	</dict>
  13
+	<key>SuppressBuildableAutocreation</key>
  14
+	<dict>
  15
+		<key>8D1107260486CEB800E47090</key>
  16
+		<dict>
  17
+			<key>primary</key>
  18
+			<true/>
  19
+		</dict>
  20
+	</dict>
  21
+</dict>
  22
+</plist>
7  Hipster_Prefix.pch
... ...
@@ -0,0 +1,7 @@
  1
+//
  2
+// Prefix header for all source files of the 'StatusBarApp' target in the 'StatusBarApp' project
  3
+//
  4
+
  5
+#ifdef __OBJC__
  6
+    #import <Cocoa/Cocoa.h>
  7
+#endif
22  StatusBarAppAppDelegate.h
... ...
@@ -0,0 +1,22 @@
  1
+//
  2
+//  StatusBarAppAppDelegate.h
  3
+//  StatusBarApp
  4
+//
  5
+//  Created by Aravindkumar Rajendiran on 10-04-17.
  6
+//  Copyright 2010 Grapewave. All rights reserved.
  7
+//
  8
+
  9
+#import <Cocoa/Cocoa.h>
  10
+
  11
+@interface StatusBarAppAppDelegate : NSObject <NSApplicationDelegate> {
  12
+    NSWindow *window;
  13
+    IBOutlet NSMenu *statusMenu;
  14
+    NSStatusItem * statusItem;
  15
+}
  16
+
  17
+- (void)waitForNextSecond;
  18
+- (void)updateStatusItemTitle;
  19
+
  20
+@property (assign) IBOutlet NSWindow *window;
  21
+
  22
+@end
65  StatusBarAppAppDelegate.m
... ...
@@ -0,0 +1,65 @@
  1
+//
  2
+//  StatusBarAppAppDelegate.m
  3
+//  StatusBarApp
  4
+//
  5
+//  Created by Aravindkumar Rajendiran on 10-04-17.
  6
+//  Copyright 2010 Grapewave. All rights reserved.
  7
+//
  8
+
  9
+#import "StatusBarAppAppDelegate.h"
  10
+
  11
+@implementation StatusBarAppAppDelegate
  12
+
  13
+@synthesize window;
  14
+
  15
+- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
  16
+    // Insert code here to initialize your application
  17
+    
  18
+    [self waitForNextSecond];
  19
+    
  20
+}
  21
+
  22
+-(void)awakeFromNib{
  23
+    
  24
+    
  25
+    statusItem = [[[NSStatusBar systemStatusBar] statusItemWithLength:NSVariableStatusItemLength] retain];
  26
+    [statusItem setMenu:statusMenu];
  27
+    [self updateStatusItemTitle];
  28
+    
  29
+    
  30
+    NSImage *bike = [NSImage imageNamed:@"bike-menubar.png"];
  31
+    
  32
+    [statusItem setImage:bike];
  33
+    [statusItem setHighlightMode:YES];
  34
+    
  35
+    
  36
+}
  37
+
  38
+- (void)updateStatusItemTitle {
  39
+
  40
+    NSDateFormatter* df_local = [[[NSDateFormatter alloc] init] autorelease];
  41
+    [df_local setTimeZone:[NSTimeZone timeZoneWithName:@"America/Los_Angeles"]];
  42
+    [df_local setDateFormat:@"h:mm a"];
  43
+    
  44
+    NSString* ts_local_string = [df_local stringFromDate:[NSDate date]];    
  45
+        
  46
+    [statusItem setTitle:ts_local_string];
  47
+
  48
+}
  49
+
  50
+- (void)waitForNextSecond {
  51
+    
  52
+    [NSTimer scheduledTimerWithTimeInterval:1
  53
+                                     target:self
  54
+                                   selector:@selector(nextSecondTimerDidFire:)
  55
+                                   userInfo:nil
  56
+                                    repeats:NO];
  57
+}
  58
+
  59
+
  60
+- (void)nextSecondTimerDidFire:(NSTimer*)timer {
  61
+    [self updateStatusItemTitle];
  62
+    [self waitForNextSecond];
  63
+}
  64
+
  65
+@end
BIN  bike-icon.icns
Binary file not shown
BIN  bike-menubar.png
14  main.m
... ...
@@ -0,0 +1,14 @@
  1
+//
  2
+//  main.m
  3
+//  StatusBarApp
  4
+//
  5
+//  Created by Aravindkumar Rajendiran on 10-04-17.
  6
+//  Copyright 2010 Grapewave. All rights reserved.
  7
+//
  8
+
  9
+#import <Cocoa/Cocoa.h>
  10
+
  11
+int main(int argc, char *argv[])
  12
+{
  13
+    return NSApplicationMain(argc,  (const char **) argv);
  14
+}

0 notes on commit a9c0696

Please sign in to comment.
Something went wrong with that request. Please try again.