Merge lp:~rockstar/ubuntuone-ios-music/simplify-view-controller into lp:ubuntuone-ios-music
- simplify-view-controller
- Merge into trunk
Proposed by
Paul Hummer
Status: | Merged |
---|---|
Approved by: | Zachery Bir |
Approved revision: | 265 |
Merged at revision: | 238 |
Proposed branch: | lp:~rockstar/ubuntuone-ios-music/simplify-view-controller |
Merge into: | lp:ubuntuone-ios-music |
Prerequisite: | lp:~rockstar/ubuntuone-ios-music/pass-token |
Diff against target: |
636 lines (+143/-215) 7 files modified
Other Sources/U1MusicAppDelegate.m (+5/-5) U1Music.xcodeproj/project.pbxproj (+0/-6) view_controllers/UOMusicLoginController.h (+0/-31) view_controllers/UOMusicLoginController.m (+0/-108) view_controllers/UOSSOCredentialsViewController.h (+6/-1) view_controllers/UOSSOCredentialsViewController.m (+45/-8) view_controllers/UOSSOCredentialsViewController.xib (+87/-56) |
To merge this branch: | bzr merge lp:~rockstar/ubuntuone-ios-music/simplify-view-controller |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Zachery Bir | Approve | ||
Review via email: mp+125407@code.launchpad.net |
Commit message
Simplify the view controllers for handling login.
Description of the change
We had two view controllers for handling login. Now we only have one. It's simpler, and everything still works the same way (though in testing, I discovered a bug in UbuntuOneAuthKit).
To post a comment you must log in.
Revision history for this message
Zachery Bir (urbanape) : | # |
review:
Approve
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'Other Sources/U1MusicAppDelegate.m' |
2 | --- Other Sources/U1MusicAppDelegate.m 2012-09-20 04:23:25 +0000 |
3 | +++ Other Sources/U1MusicAppDelegate.m 2012-09-20 04:23:26 +0000 |
4 | @@ -37,14 +37,14 @@ |
5 | #import "StreamingPlayer.h" |
6 | #import "Subsonic.h" |
7 | #import "Song.h" |
8 | -#import "UOMusicLoginController.h" |
9 | #import "URLQueryStringParser.h" |
10 | #import "U1CacheFileManager.h" |
11 | #import "U1LocalMusicServer.h" |
12 | #import "U1MigrationViewController.h" |
13 | +#import "UOSSOCredentialsViewController.h" |
14 | |
15 | -@interface U1MusicAppDelegate () <UOMusicLoginControllerDelegate> |
16 | -@property (retain) UOMusicLoginController *loginController; |
17 | +@interface U1MusicAppDelegate () <UOSSOCredentialsViewControllerDelegate> |
18 | +@property (retain) UOSSOCredentialsViewController *loginController; |
19 | @property (retain) U1LocalMusicServer *musicServer; |
20 | - (void)parseQueryCredentials:(NSURL*)anURL; |
21 | - (BOOL)configureUsernamePassword; |
22 | @@ -176,9 +176,9 @@ |
23 | |
24 | - (void)presentLoginView; |
25 | { |
26 | - self.loginController = [[UOMusicLoginController alloc] init]; |
27 | + self.loginController = [[UOSSOCredentialsViewController alloc] init]; |
28 | self.loginController.delegate = self; |
29 | - [tabBarController presentModalViewController:self.loginController.loginViewController animated:YES]; |
30 | + [tabBarController presentModalViewController:self.loginController animated:YES]; |
31 | } |
32 | |
33 | - (void)loginControllerDidLoginWithUsername:(NSString *)username; |
34 | |
35 | === modified file 'U1Music.xcodeproj/project.pbxproj' |
36 | --- U1Music.xcodeproj/project.pbxproj 2012-09-20 04:23:25 +0000 |
37 | +++ U1Music.xcodeproj/project.pbxproj 2012-09-20 04:23:26 +0000 |
38 | @@ -216,7 +216,6 @@ |
39 | 964FA3EA13CA848D0018A65B /* UOHTTPFetchOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 964FA3E913CA848D0018A65B /* UOHTTPFetchOperation.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; |
40 | 9654C9BC13C7826900D0EEA0 /* UOSSOCredentialsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9654C9BA13C7826900D0EEA0 /* UOSSOCredentialsViewController.m */; }; |
41 | 9654C9BD13C7826900D0EEA0 /* UOSSOCredentialsViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9654C9BB13C7826900D0EEA0 /* UOSSOCredentialsViewController.xib */; }; |
42 | - 9654C9C713C7AF9200D0EEA0 /* UOMusicLoginController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9654C9C613C7AF9200D0EEA0 /* UOMusicLoginController.m */; }; |
43 | 9674C2C513A7DC01004509E4 /* UORadialProgressControl.m in Sources */ = {isa = PBXBuildFile; fileRef = 9674C2C413A7DC01004509E4 /* UORadialProgressControl.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; |
44 | 96E01B3714E1BDAF00A9F36C /* U1StreamPipe.m in Sources */ = {isa = PBXBuildFile; fileRef = 96E01B3614E1BDAF00A9F36C /* U1StreamPipe.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; |
45 | 96FB790A13AA628700D8D4A4 /* UONetworkStatusCoordinator.m in Sources */ = {isa = PBXBuildFile; fileRef = 96FB790913AA628700D8D4A4 /* UONetworkStatusCoordinator.m */; }; |
46 | @@ -577,8 +576,6 @@ |
47 | 9654C9B913C7826900D0EEA0 /* UOSSOCredentialsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UOSSOCredentialsViewController.h; sourceTree = "<group>"; }; |
48 | 9654C9BA13C7826900D0EEA0 /* UOSSOCredentialsViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UOSSOCredentialsViewController.m; sourceTree = "<group>"; }; |
49 | 9654C9BB13C7826900D0EEA0 /* UOSSOCredentialsViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = UOSSOCredentialsViewController.xib; sourceTree = "<group>"; }; |
50 | - 9654C9C513C7AF9200D0EEA0 /* UOMusicLoginController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UOMusicLoginController.h; sourceTree = "<group>"; }; |
51 | - 9654C9C613C7AF9200D0EEA0 /* UOMusicLoginController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UOMusicLoginController.m; sourceTree = "<group>"; }; |
52 | 9674C2C313A7DC01004509E4 /* UORadialProgressControl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UORadialProgressControl.h; sourceTree = "<group>"; }; |
53 | 9674C2C413A7DC01004509E4 /* UORadialProgressControl.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UORadialProgressControl.m; sourceTree = "<group>"; }; |
54 | 96E01B3514E1BDAF00A9F36C /* U1StreamPipe.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = U1StreamPipe.h; sourceTree = "<group>"; }; |
55 | @@ -1192,8 +1189,6 @@ |
56 | 9654C9B913C7826900D0EEA0 /* UOSSOCredentialsViewController.h */, |
57 | 9654C9BA13C7826900D0EEA0 /* UOSSOCredentialsViewController.m */, |
58 | 9654C9BB13C7826900D0EEA0 /* UOSSOCredentialsViewController.xib */, |
59 | - 9654C9C513C7AF9200D0EEA0 /* UOMusicLoginController.h */, |
60 | - 9654C9C613C7AF9200D0EEA0 /* UOMusicLoginController.m */, |
61 | ); |
62 | name = SSO; |
63 | sourceTree = "<group>"; |
64 | @@ -1464,7 +1459,6 @@ |
65 | 9674C2C513A7DC01004509E4 /* UORadialProgressControl.m in Sources */, |
66 | 96FB790A13AA628700D8D4A4 /* UONetworkStatusCoordinator.m in Sources */, |
67 | 9654C9BC13C7826900D0EEA0 /* UOSSOCredentialsViewController.m in Sources */, |
68 | - 9654C9C713C7AF9200D0EEA0 /* UOMusicLoginController.m in Sources */, |
69 | 964FA3EA13CA848D0018A65B /* UOHTTPFetchOperation.m in Sources */, |
70 | 96377AEE14E0726800517845 /* U1Descriptor.m in Sources */, |
71 | 96377AF314E0730B00517845 /* U1StreamReader.m in Sources */, |
72 | |
73 | === removed file 'view_controllers/UOMusicLoginController.h' |
74 | --- view_controllers/UOMusicLoginController.h 2011-07-12 21:35:15 +0000 |
75 | +++ view_controllers/UOMusicLoginController.h 1970-01-01 00:00:00 +0000 |
76 | @@ -1,31 +0,0 @@ |
77 | -// |
78 | -// Copyright 2011 Canonical Ltd. |
79 | -// |
80 | -// This program is free software: you can redistribute it and/or modify it |
81 | -// under the terms of the GNU Affero General Public License version 3, |
82 | -// as published by the Free Software Foundation. |
83 | -// |
84 | -// This program is distributed in the hope that it will be useful, but |
85 | -// WITHOUT ANY WARRANTY; without even the implied warranties of |
86 | -// MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR |
87 | -// PURPOSE. See the GNU Affero General Public License for more details. |
88 | -// |
89 | -// You should have received a copy of the GNU Affero General Public License |
90 | -// along with this program. If not, see <http://www.gnu.org/licenses/>. |
91 | - |
92 | -#import <UIKit/UIKit.h> |
93 | - |
94 | - |
95 | -@protocol UOMusicLoginControllerDelegate; |
96 | - |
97 | - |
98 | -@interface UOMusicLoginController : NSObject |
99 | -@property (assign) id<UOMusicLoginControllerDelegate> delegate; |
100 | -@property (readonly, retain) UIViewController *loginViewController; |
101 | -@end |
102 | - |
103 | - |
104 | -@protocol UOMusicLoginControllerDelegate <NSObject> |
105 | -@required |
106 | -- (void)loginControllerDidLoginWithUsername:(NSString *)username; |
107 | -@end |
108 | |
109 | === removed file 'view_controllers/UOMusicLoginController.m' |
110 | --- view_controllers/UOMusicLoginController.m 2012-09-20 04:23:25 +0000 |
111 | +++ view_controllers/UOMusicLoginController.m 1970-01-01 00:00:00 +0000 |
112 | @@ -1,108 +0,0 @@ |
113 | -// |
114 | -// Copyright 2011 Canonical Ltd. |
115 | -// |
116 | -// This program is free software: you can redistribute it and/or modify it |
117 | -// under the terms of the GNU Affero General Public License version 3, |
118 | -// as published by the Free Software Foundation. |
119 | -// |
120 | -// This program is distributed in the hope that it will be useful, but |
121 | -// WITHOUT ANY WARRANTY; without even the implied warranties of |
122 | -// MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR |
123 | -// PURPOSE. See the GNU Affero General Public License for more details. |
124 | -// |
125 | -// You should have received a copy of the GNU Affero General Public License |
126 | -// along with this program. If not, see <http://www.gnu.org/licenses/>. |
127 | - |
128 | -#import "UOMusicLoginController.h" |
129 | -#import "UOSSOCredentialsViewController.h" |
130 | - |
131 | -#import "UOAuthManager.h" |
132 | - |
133 | -@implementation UOMusicLoginController |
134 | - |
135 | -@synthesize delegate, loginViewController; |
136 | - |
137 | -- (id)init; |
138 | -{ |
139 | - if (!(self = [super init])) |
140 | - return nil; |
141 | - |
142 | - UOSSOCredentialsViewController *rootController = [[UOSSOCredentialsViewController alloc] initWithNibName:@"UOSSOCredentialsViewController" bundle:nil]; |
143 | - |
144 | - __block id this = self; |
145 | - rootController.loginAction = ^ (NSString *username, NSString *password) |
146 | - { |
147 | - [this loginWithUsername:username password:password]; |
148 | - }; |
149 | - |
150 | - UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:rootController]; |
151 | - navController.navigationBar.barStyle = UIBarStyleBlack; |
152 | - navController.navigationBarHidden = YES; |
153 | - loginViewController = navController; |
154 | - |
155 | - return self; |
156 | -} |
157 | - |
158 | -- (void)dealloc |
159 | -{ |
160 | - delegate = nil; |
161 | -} |
162 | - |
163 | -- (void)loginWithUsername:(NSString*)username password:(NSString*)password; |
164 | -{ |
165 | - [self.loginViewController.view setUserInteractionEnabled:NO]; |
166 | - |
167 | - UOAuthManager *authManager = [UOAuthManager sharedAuthManager]; |
168 | - id completionBlock = ^(){ |
169 | - id subsonicCompletionBlock = ^(NSString *username) { |
170 | - [self.delegate loginControllerDidLoginWithUsername:username]; |
171 | - }; |
172 | - id subsonicErrorBlock = ^(NSError *error) { |
173 | - UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Ubuntu One", nil) message:[error localizedDescription] delegate:self cancelButtonTitle:@"Dismiss" otherButtonTitles:nil]; |
174 | - [alert show]; |
175 | - [self.loginViewController.view setUserInteractionEnabled:YES]; |
176 | - UOSSOCredentialsViewController *loginController = (id)[(UINavigationController*)[self loginViewController] topViewController]; |
177 | - [loginController reset]; |
178 | - }; |
179 | - [authManager fetchSubsonicCredentials:subsonicCompletionBlock errorBlock:subsonicErrorBlock]; |
180 | - }; |
181 | - id errorBlock = ^(NSError *error) { |
182 | - NSString *errorMessage = nil;[error localizedDescription]; |
183 | - switch (error.code) { |
184 | - case 401: |
185 | - errorMessage = NSLocalizedString(@"Incorrect username or password.", nil); |
186 | - break; |
187 | - default: |
188 | - errorMessage = [error localizedDescription]; |
189 | - if (errorMessage == nil) { |
190 | - errorMessage = NSLocalizedString(@"An error occured trying to sign in, please try again.", @"Login Error Message"); |
191 | - } |
192 | - break; |
193 | - } |
194 | - UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Ubuntu One", nil) message:errorMessage delegate:self cancelButtonTitle:@"Dismiss" otherButtonTitles:nil]; |
195 | - [alert show]; |
196 | - [self.loginViewController.view setUserInteractionEnabled:YES]; |
197 | - UOSSOCredentialsViewController *loginController = (id)[(UINavigationController*)[self loginViewController] topViewController]; |
198 | - [loginController reset]; |
199 | - }; |
200 | - NSString *tokenName = @"Ubuntu One @ iOS"; |
201 | - [authManager loginWithUsername:username andPassword:password tokenName:tokenName completionBlock:completionBlock errorBlock:errorBlock]; |
202 | -} |
203 | - |
204 | -@end |
205 | - |
206 | - |
207 | -static NSString *UOSSOEncodedStringFromParametersDictionary(NSDictionary *arguments) |
208 | -{ |
209 | - NSMutableArray *encodedArguments = [NSMutableArray array]; |
210 | - [arguments enumerateKeysAndObjectsUsingBlock:^(id key, id value, BOOL *stop) { |
211 | - if (![key isEqualToString:@"ws.op"]) { |
212 | - value = [NSString stringWithFormat:@"\"%@\"", value]; |
213 | - } |
214 | - value = [value urlParameterEncodedString]; |
215 | - NSString *argumentPair = [key stringByAppendingFormat:@"=%@", value]; |
216 | - [encodedArguments addObject:argumentPair]; |
217 | - }]; |
218 | - |
219 | - return [encodedArguments componentsJoinedByString:@"&"]; |
220 | -} |
221 | |
222 | === modified file 'view_controllers/UOSSOCredentialsViewController.h' |
223 | --- view_controllers/UOSSOCredentialsViewController.h 2012-09-20 04:23:25 +0000 |
224 | +++ view_controllers/UOSSOCredentialsViewController.h 2012-09-20 04:23:26 +0000 |
225 | @@ -15,6 +15,10 @@ |
226 | |
227 | #import <UIKit/UIKit.h> |
228 | |
229 | +@protocol UOSSOCredentialsViewControllerDelegate <NSObject> |
230 | +@required |
231 | +- (void)loginControllerDidLoginWithUsername:(NSString *)username; |
232 | +@end |
233 | |
234 | @interface UOSSOCredentialsViewController : UIViewController <UITextFieldDelegate> |
235 | |
236 | @@ -23,9 +27,10 @@ |
237 | @property (nonatomic, retain) IBOutlet UIView *patternView; |
238 | @property (nonatomic, retain) IBOutlet UIActivityIndicatorView *spinner; |
239 | @property (nonatomic, retain) IBOutlet UIButton *loginButton; |
240 | -@property (nonatomic, copy) void (^loginAction)(NSString *username, NSString *password); |
241 | |
242 | - (IBAction)logIn:(id)sender; |
243 | - (void)reset; |
244 | |
245 | +@property (assign) id<UOSSOCredentialsViewControllerDelegate> delegate; |
246 | + |
247 | @end |
248 | |
249 | === modified file 'view_controllers/UOSSOCredentialsViewController.m' |
250 | --- view_controllers/UOSSOCredentialsViewController.m 2012-09-20 04:23:25 +0000 |
251 | +++ view_controllers/UOSSOCredentialsViewController.m 2012-09-20 04:23:26 +0000 |
252 | @@ -14,6 +14,7 @@ |
253 | // along with this program. If not, see <http://www.gnu.org/licenses/>. |
254 | |
255 | #import "UOSSOCredentialsViewController.h" |
256 | +#import "UOAuthManager.h" |
257 | |
258 | |
259 | @implementation UOSSOCredentialsViewController |
260 | @@ -23,7 +24,6 @@ |
261 | @synthesize patternView; |
262 | @synthesize spinner; |
263 | @synthesize loginButton; |
264 | -@synthesize loginAction; |
265 | |
266 | - (void)viewDidUnload; |
267 | { |
268 | @@ -49,13 +49,11 @@ |
269 | { |
270 | [self.emailField resignFirstResponder]; |
271 | [self.passwordField resignFirstResponder]; |
272 | - if (self.loginAction) |
273 | - { |
274 | - NSString *username = [self.emailField text]; |
275 | - NSString *password = [self.passwordField text]; |
276 | - self.loginAction(username, password); |
277 | - [self.spinner startAnimating]; |
278 | - } |
279 | + |
280 | + NSString *username = [self.emailField text]; |
281 | + NSString *password = [self.passwordField text]; |
282 | + [self loginWithUsername:username password:password]; |
283 | + [self.spinner startAnimating]; |
284 | } |
285 | |
286 | - (void)reset; |
287 | @@ -63,4 +61,43 @@ |
288 | [self.spinner stopAnimating]; |
289 | } |
290 | |
291 | +- (void)loginWithUsername:(NSString*)username password:(NSString*)password; |
292 | +{ |
293 | + [self.view setUserInteractionEnabled:NO]; |
294 | + |
295 | + UOAuthManager *authManager = [UOAuthManager sharedAuthManager]; |
296 | + id completionBlock = ^(){ |
297 | + id subsonicCompletionBlock = ^(NSString *username) { |
298 | + [self.delegate loginControllerDidLoginWithUsername:username]; |
299 | + }; |
300 | + id subsonicErrorBlock = ^(NSError *error) { |
301 | + UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Ubuntu One", nil) message:[error localizedDescription] delegate:self cancelButtonTitle:@"Dismiss" otherButtonTitles:nil]; |
302 | + [alert show]; |
303 | + [self.view setUserInteractionEnabled:YES]; |
304 | + [self reset]; |
305 | + }; |
306 | + [authManager fetchSubsonicCredentials:subsonicCompletionBlock errorBlock:subsonicErrorBlock]; |
307 | + }; |
308 | + id errorBlock = ^(NSError *error) { |
309 | + NSString *errorMessage = nil;[error localizedDescription]; |
310 | + switch (error.code) { |
311 | + case 401: |
312 | + errorMessage = NSLocalizedString(@"Incorrect username or password.", nil); |
313 | + break; |
314 | + default: |
315 | + errorMessage = [error localizedDescription]; |
316 | + if (errorMessage == nil) { |
317 | + errorMessage = NSLocalizedString(@"An error occured trying to sign in, please try again.", @"Login Error Message"); |
318 | + } |
319 | + break; |
320 | + } |
321 | + UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Ubuntu One", nil) message:errorMessage delegate:self cancelButtonTitle:@"Dismiss" otherButtonTitles:nil]; |
322 | + [alert show]; |
323 | + [self.view setUserInteractionEnabled:YES]; |
324 | + [self reset]; |
325 | + }; |
326 | + NSString *tokenName = @"Ubuntu One @ iOS"; |
327 | + [authManager loginWithUsername:username andPassword:password tokenName:tokenName completionBlock:completionBlock errorBlock:errorBlock]; |
328 | +} |
329 | + |
330 | @end |
331 | |
332 | === modified file 'view_controllers/UOSSOCredentialsViewController.xib' |
333 | --- view_controllers/UOSSOCredentialsViewController.xib 2011-08-03 18:34:14 +0000 |
334 | +++ view_controllers/UOSSOCredentialsViewController.xib 2012-09-20 04:23:26 +0000 |
335 | @@ -1,35 +1,32 @@ |
336 | <?xml version="1.0" encoding="UTF-8"?> |
337 | <archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10"> |
338 | <data> |
339 | - <int key="IBDocument.SystemTarget">1056</int> |
340 | - <string key="IBDocument.SystemVersion">10K540</string> |
341 | - <string key="IBDocument.InterfaceBuilderVersion">1306</string> |
342 | - <string key="IBDocument.AppKitVersion">1038.36</string> |
343 | - <string key="IBDocument.HIToolboxVersion">461.00</string> |
344 | + <int key="IBDocument.SystemTarget">1536</int> |
345 | + <string key="IBDocument.SystemVersion">12C54</string> |
346 | + <string key="IBDocument.InterfaceBuilderVersion">2840</string> |
347 | + <string key="IBDocument.AppKitVersion">1187.34</string> |
348 | + <string key="IBDocument.HIToolboxVersion">625.00</string> |
349 | <object class="NSMutableDictionary" key="IBDocument.PluginVersions"> |
350 | <string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> |
351 | - <string key="NS.object.0">301</string> |
352 | + <string key="NS.object.0">1926</string> |
353 | </object> |
354 | <object class="NSArray" key="IBDocument.IntegratedClassDependencies"> |
355 | <bool key="EncodedWithXMLCoder">YES</bool> |
356 | - <string>IBUIView</string> |
357 | <string>IBProxyObject</string> |
358 | + <string>IBUIActivityIndicatorView</string> |
359 | + <string>IBUIButton</string> |
360 | + <string>IBUIImageView</string> |
361 | <string>IBUILabel</string> |
362 | - <string>IBUIImageView</string> |
363 | - <string>IBUIActivityIndicatorView</string> |
364 | <string>IBUITextField</string> |
365 | - <string>IBUIButton</string> |
366 | + <string>IBUIView</string> |
367 | </object> |
368 | <object class="NSArray" key="IBDocument.PluginDependencies"> |
369 | <bool key="EncodedWithXMLCoder">YES</bool> |
370 | <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> |
371 | </object> |
372 | <object class="NSMutableDictionary" key="IBDocument.Metadata"> |
373 | - <bool key="EncodedWithXMLCoder">YES</bool> |
374 | - <object class="NSArray" key="dict.sortedKeys" id="0"> |
375 | - <bool key="EncodedWithXMLCoder">YES</bool> |
376 | - </object> |
377 | - <reference key="dict.values" ref="0"/> |
378 | + <string key="NS.key.0">PluginDependencyRecalculationVersion</string> |
379 | + <integer value="1" key="NS.object.0"/> |
380 | </object> |
381 | <object class="NSMutableArray" key="IBDocument.RootObjects" id="1000"> |
382 | <bool key="EncodedWithXMLCoder">YES</bool> |
383 | @@ -67,18 +64,24 @@ |
384 | <int key="NSID">2</int> |
385 | </object> |
386 | </object> |
387 | - <object class="NSFont" key="IBUIFont"> |
388 | + <bool key="IBUIAdjustsFontSizeToFit">YES</bool> |
389 | + <float key="IBUIMinimumFontSize">17</float> |
390 | + <object class="IBUITextInputTraits" key="IBUITextInputTraits"> |
391 | + <int key="IBUIAutocorrectionType">1</int> |
392 | + <int key="IBUIKeyboardType">7</int> |
393 | + <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> |
394 | + </object> |
395 | + <object class="IBUIFontDescription" key="IBUIFontDescription"> |
396 | + <string key="name">Helvetica</string> |
397 | + <string key="family">Helvetica</string> |
398 | + <int key="traits">0</int> |
399 | + <double key="pointSize">12</double> |
400 | + </object> |
401 | + <object class="NSFont" key="IBUIFont" id="884414828"> |
402 | <string key="NSName">Helvetica</string> |
403 | <double key="NSSize">12</double> |
404 | <int key="NSfFlags">16</int> |
405 | </object> |
406 | - <bool key="IBUIAdjustsFontSizeToFit">YES</bool> |
407 | - <float key="IBUIMinimumFontSize">17</float> |
408 | - <object class="IBUITextInputTraits" key="IBUITextInputTraits"> |
409 | - <int key="IBUIAutocorrectionType">1</int> |
410 | - <int key="IBUIKeyboardType">7</int> |
411 | - <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> |
412 | - </object> |
413 | </object> |
414 | <object class="IBUITextField" id="965235407"> |
415 | <reference key="NSNextResponder" ref="191373211"/> |
416 | @@ -105,6 +108,11 @@ |
417 | <bool key="IBUISecureTextEntry">YES</bool> |
418 | <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> |
419 | </object> |
420 | + <object class="IBUIFontDescription" key="IBUIFontDescription"> |
421 | + <int key="type">1</int> |
422 | + <double key="pointSize">12</double> |
423 | + </object> |
424 | + <reference key="IBUIFont" ref="884414828"/> |
425 | </object> |
426 | <object class="IBUILabel" id="522019067"> |
427 | <reference key="NSNextResponder" ref="191373211"/> |
428 | @@ -119,19 +127,26 @@ |
429 | <bool key="IBUIUserInteractionEnabled">NO</bool> |
430 | <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> |
431 | <string key="IBUIText">Email address:</string> |
432 | - <object class="NSFont" key="IBUIFont" id="638683467"> |
433 | - <string key="NSName">HelveticaNeue</string> |
434 | - <double key="NSSize">13</double> |
435 | - <int key="NSfFlags">16</int> |
436 | - </object> |
437 | <object class="NSColor" key="IBUITextColor" id="377051206"> |
438 | <int key="NSColorSpace">1</int> |
439 | <bytes key="NSRGB">MCAwIDAAA</bytes> |
440 | + <string key="IBUIColorCocoaTouchKeyPath">darkTextColor</string> |
441 | </object> |
442 | <nil key="IBUIHighlightedColor"/> |
443 | <int key="IBUIBaselineAdjustment">1</int> |
444 | <float key="IBUIMinimumFontSize">10</float> |
445 | <int key="IBUITextAlignment">2</int> |
446 | + <object class="IBUIFontDescription" key="IBUIFontDescription" id="723334359"> |
447 | + <string key="name">HelveticaNeue</string> |
448 | + <string key="family">Helvetica Neue</string> |
449 | + <int key="traits">0</int> |
450 | + <double key="pointSize">13</double> |
451 | + </object> |
452 | + <object class="NSFont" key="IBUIFont" id="525870143"> |
453 | + <string key="NSName">HelveticaNeue-Medium</string> |
454 | + <double key="NSSize">13</double> |
455 | + <int key="NSfFlags">16</int> |
456 | + </object> |
457 | </object> |
458 | <object class="IBUILabel" id="1028176743"> |
459 | <reference key="NSNextResponder" ref="191373211"/> |
460 | @@ -146,12 +161,13 @@ |
461 | <bool key="IBUIUserInteractionEnabled">NO</bool> |
462 | <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> |
463 | <string key="IBUIText">Password:</string> |
464 | - <reference key="IBUIFont" ref="638683467"/> |
465 | <reference key="IBUITextColor" ref="377051206"/> |
466 | <nil key="IBUIHighlightedColor"/> |
467 | <int key="IBUIBaselineAdjustment">1</int> |
468 | <float key="IBUIMinimumFontSize">10</float> |
469 | <int key="IBUITextAlignment">2</int> |
470 | + <reference key="IBUIFontDescription" ref="723334359"/> |
471 | + <reference key="IBUIFont" ref="525870143"/> |
472 | </object> |
473 | <object class="IBUIButton" id="1065737352"> |
474 | <reference key="NSNextResponder" ref="191373211"/> |
475 | @@ -168,11 +184,6 @@ |
476 | <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> |
477 | <int key="IBUIContentHorizontalAlignment">0</int> |
478 | <int key="IBUIContentVerticalAlignment">0</int> |
479 | - <object class="NSFont" key="IBUIFont"> |
480 | - <string key="NSName">HelveticaNeue-Bold</string> |
481 | - <double key="NSSize">14</double> |
482 | - <int key="NSfFlags">16</int> |
483 | - </object> |
484 | <bool key="IBUIReversesTitleShadowWhenHighlighted">YES</bool> |
485 | <bool key="IBUIShowsTouchWhenHighlighted">YES</bool> |
486 | <string key="IBUINormalTitle">Continue</string> |
487 | @@ -185,6 +196,17 @@ |
488 | <int key="NSColorSpace">3</int> |
489 | <bytes key="NSWhite">MC41AA</bytes> |
490 | </object> |
491 | + <object class="IBUIFontDescription" key="IBUIFontDescription"> |
492 | + <string key="name">HelveticaNeue-Bold</string> |
493 | + <string key="family">Helvetica Neue</string> |
494 | + <int key="traits">2</int> |
495 | + <double key="pointSize">14</double> |
496 | + </object> |
497 | + <object class="NSFont" key="IBUIFont"> |
498 | + <string key="NSName">HelveticaNeue-Bold</string> |
499 | + <double key="NSSize">14</double> |
500 | + <int key="NSfFlags">16</int> |
501 | + </object> |
502 | </object> |
503 | <object class="IBUIView" id="79561459"> |
504 | <reference key="NSNextResponder" ref="191373211"/> |
505 | @@ -209,11 +231,6 @@ |
506 | <bool key="IBUIUserInteractionEnabled">NO</bool> |
507 | <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> |
508 | <string key="IBUIText">Log in to Ubuntu One</string> |
509 | - <object class="NSFont" key="IBUIFont"> |
510 | - <string key="NSName">HelveticaNeue-Bold</string> |
511 | - <double key="NSSize">17</double> |
512 | - <int key="NSfFlags">16</int> |
513 | - </object> |
514 | <reference key="IBUITextColor" ref="112434491"/> |
515 | <nil key="IBUIHighlightedColor"/> |
516 | <object class="NSColor" key="IBUIShadowColor" id="760542035"> |
517 | @@ -223,6 +240,17 @@ |
518 | <string key="IBUIShadowOffset">{0, 0}</string> |
519 | <int key="IBUIBaselineAdjustment">1</int> |
520 | <float key="IBUIMinimumFontSize">10</float> |
521 | + <object class="IBUIFontDescription" key="IBUIFontDescription"> |
522 | + <string key="name">HelveticaNeue-Bold</string> |
523 | + <string key="family">Helvetica Neue</string> |
524 | + <int key="traits">2</int> |
525 | + <double key="pointSize">17</double> |
526 | + </object> |
527 | + <object class="NSFont" key="IBUIFont"> |
528 | + <string key="NSName">HelveticaNeue-Bold</string> |
529 | + <double key="NSSize">17</double> |
530 | + <int key="NSfFlags">16</int> |
531 | + </object> |
532 | </object> |
533 | </object> |
534 | <string key="NSFrameSize">{320, 44}</string> |
535 | @@ -260,7 +288,6 @@ |
536 | <string key="NSFrame">{{96, 236}, {128, 128}}</string> |
537 | <reference key="NSSuperview" ref="191373211"/> |
538 | <reference key="NSWindow"/> |
539 | - <reference key="NSNextKeyView"/> |
540 | <bool key="IBUIUserInteractionEnabled">NO</bool> |
541 | <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> |
542 | <object class="NSCustomResource" key="IBUIImage"> |
543 | @@ -310,15 +337,6 @@ |
544 | <int key="connectionID">13</int> |
545 | </object> |
546 | <object class="IBConnectionRecord"> |
547 | - <object class="IBCocoaTouchEventConnection" key="connection"> |
548 | - <string key="label">logIn:</string> |
549 | - <reference key="source" ref="1065737352"/> |
550 | - <reference key="destination" ref="372490531"/> |
551 | - <int key="IBEventType">7</int> |
552 | - </object> |
553 | - <int key="connectionID">14</int> |
554 | - </object> |
555 | - <object class="IBConnectionRecord"> |
556 | <object class="IBCocoaTouchOutletConnection" key="connection"> |
557 | <string key="label">loginButton</string> |
558 | <reference key="source" ref="372490531"/> |
559 | @@ -342,13 +360,24 @@ |
560 | </object> |
561 | <int key="connectionID">25</int> |
562 | </object> |
563 | + <object class="IBConnectionRecord"> |
564 | + <object class="IBCocoaTouchEventConnection" key="connection"> |
565 | + <string key="label">logIn:</string> |
566 | + <reference key="source" ref="1065737352"/> |
567 | + <reference key="destination" ref="372490531"/> |
568 | + <int key="IBEventType">7</int> |
569 | + </object> |
570 | + <int key="connectionID">14</int> |
571 | + </object> |
572 | </object> |
573 | <object class="IBMutableOrderedSet" key="objectRecords"> |
574 | <object class="NSArray" key="orderedObjects"> |
575 | <bool key="EncodedWithXMLCoder">YES</bool> |
576 | <object class="IBObjectRecord"> |
577 | <int key="objectID">0</int> |
578 | - <reference key="object" ref="0"/> |
579 | + <object class="NSArray" key="object" id="0"> |
580 | + <bool key="EncodedWithXMLCoder">YES</bool> |
581 | + </object> |
582 | <reference key="children" ref="1000"/> |
583 | <nil key="parent"/> |
584 | </object> |
585 | @@ -444,8 +473,9 @@ |
586 | <object class="NSArray" key="dict.sortedKeys"> |
587 | <bool key="EncodedWithXMLCoder">YES</bool> |
588 | <string>-1.CustomClassName</string> |
589 | + <string>-1.IBPluginDependency</string> |
590 | <string>-2.CustomClassName</string> |
591 | - <string>1.IBEditorWindowLastContentRect</string> |
592 | + <string>-2.IBPluginDependency</string> |
593 | <string>1.IBPluginDependency</string> |
594 | <string>11.IBPluginDependency</string> |
595 | <string>15.IBPluginDependency</string> |
596 | @@ -458,11 +488,12 @@ |
597 | <string>7.IBPluginDependency</string> |
598 | <string>8.IBPluginDependency</string> |
599 | </object> |
600 | - <object class="NSMutableArray" key="dict.values"> |
601 | + <object class="NSArray" key="dict.values"> |
602 | <bool key="EncodedWithXMLCoder">YES</bool> |
603 | <string>UOSSOCredentialsViewController</string> |
604 | + <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> |
605 | <string>UIResponder</string> |
606 | - <string>{{556, 412}, {320, 480}}</string> |
607 | + <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> |
608 | <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> |
609 | <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> |
610 | <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> |
611 | @@ -517,7 +548,7 @@ |
612 | <string>patternView</string> |
613 | <string>spinner</string> |
614 | </object> |
615 | - <object class="NSMutableArray" key="dict.values"> |
616 | + <object class="NSArray" key="dict.values"> |
617 | <bool key="EncodedWithXMLCoder">YES</bool> |
618 | <string>UITextField</string> |
619 | <string>UIButton</string> |
620 | @@ -536,7 +567,7 @@ |
621 | <string>patternView</string> |
622 | <string>spinner</string> |
623 | </object> |
624 | - <object class="NSMutableArray" key="dict.values"> |
625 | + <object class="NSArray" key="dict.values"> |
626 | <bool key="EncodedWithXMLCoder">YES</bool> |
627 | <object class="IBToOneOutletInfo"> |
628 | <string key="name">emailField</string> |
629 | @@ -579,6 +610,6 @@ |
630 | <string key="NS.key.0">about_logo.png</string> |
631 | <string key="NS.object.0">{512, 512}</string> |
632 | </object> |
633 | - <string key="IBCocoaTouchPluginVersion">301</string> |
634 | + <string key="IBCocoaTouchPluginVersion">1926</string> |
635 | </data> |
636 | </archive> |