Changeset 256 for apps/iphone
- Timestamp:
- 03/09/09 11:57:59 (4 years ago)
- Location:
- apps/iphone/my.tel/trunk
- Files:
-
- 7 modified
-
Classes/RecordEditController.h (modified) (3 diffs)
-
Classes/RecordEditController.m (modified) (13 diffs)
-
Classes/RecordViewController.h (modified) (1 diff)
-
Classes/RecordViewController.m (modified) (3 diffs)
-
NaptrValuePlaceholders.plist (modified) (1 diff)
-
RecordEdit.xib (modified) (34 diffs)
-
ServiceTypes.plist (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
apps/iphone/my.tel/trunk/Classes/RecordEditController.h
r241 r256 26 26 IBOutlet UITextField *rLabel; 27 27 IBOutlet UISwitch *rVisibility; 28 IBOutlet UI ActivityIndicatorView *saveIndicator;29 id <RecordEditDelegate> caller;28 IBOutlet UIButton *buttonPrivacy; 29 id <RecordEditDelegate> delegate; 30 30 @private 31 31 NSMutableArray *sArrKey; … … 39 39 - (void) setPickerCol1:(NSDictionary *)pickerData1 col2:(NSDictionary *)pickerData1; 40 40 - (void)presentViewForRecord:(NSDictionary *)aRec; 41 - (void)setStateForTerminal:(BOOL)isTerminal; 42 - (void)slideViewForEditing:(BOOL)isEditing; 43 41 44 - (IBAction)didClickCancel:(id)sender; 42 45 - (IBAction)didClickSave:(id)sender; 46 47 - (void)storeRecord; 48 - (void)storeNTNaptrRecord; 43 49 44 50 @property (nonatomic, retain) IBOutlet UIBarButtonItem *barHeader; … … 48 54 @property (nonatomic, retain) IBOutlet UITextField *rLabel; 49 55 @property (nonatomic, retain) IBOutlet UISwitch *rVisibility; 50 @property (nonatomic, retain) IBOutlet UI ActivityIndicatorView *saveIndicator;51 @property (retain) id caller;56 @property (nonatomic, retain) IBOutlet UIButton *buttonPrivacy; 57 @property (retain) id delegate; 52 58 @end -
apps/iphone/my.tel/trunk/Classes/RecordEditController.m
r250 r256 25 25 @synthesize rLabel; 26 26 @synthesize rVisibility; 27 @synthesize saveIndicator;28 @synthesize caller;27 @synthesize buttonPrivacy; 28 @synthesize delegate; 29 29 30 30 #pragma mark ----- Calling methods 31 31 32 32 - (void)presentViewForRecord:(NSDictionary *)aRec { 33 if (!self.navigationController.view) {34 NSLog(@"Fatal error: record edit view wasn't properly loaded");35 return;36 //[self loadView];37 // TODO: rpicker doesn't have any data here.38 // Either exit this method without showing the view, or add to the RecordEditDelegate39 // protocol a method for a callback to fill the rpicker.40 }41 33 [theRecord release]; 42 34 if (!aRec) { // new … … 48 40 [theRecord setObject:@"0" forKey:@"apiId"]; 49 41 [theRecord setObject:[VIPConnect sharedInstance].selectedDomain forKey:@"domainName"]; 42 [theRecord setObject:[NSArray array] forKey:@"profiles"]; 43 [theRecord setObject:[NSArray array] forKey:@"groups"]; 50 44 } else { // edit 51 45 if (!aRec) { … … 68 62 } 69 63 } 64 if ([[theRecord objectForKey:@"profiles"] isKindOfClass:[NSNull class]]) 65 [theRecord setObject:[NSArray array] forKey:@"profiles"]; 66 if ([[theRecord objectForKey:@"groups"] isKindOfClass:[NSNull class]]) 67 [theRecord setObject:[NSArray array] forKey:@"groups"]; 70 68 71 69 rValue.text = [theRecord objectForKey:@"value"]; … … 90 88 [self viewWillAppear:YES]; 91 89 // Insert our view at the absolute top 92 [[ (UIViewController *)caller view].window addSubview:self.navigationController.view];90 [[UIApplication sharedApplication].keyWindow addSubview:self.navigationController.view]; 93 91 // Set up the animation 94 92 CATransition *animation = [CATransition animation]; … … 102 100 [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]]; 103 101 104 [[[ (UIViewController *)caller view].window layer] addAnimation:animation forKey:@"kEditAnimation"];102 [[[UIApplication sharedApplication].keyWindow layer] addAnimation:animation forKey:@"kEditAnimation"]; 105 103 } 106 104 … … 158 156 liArrKey = [[NSMutableArray arrayWithCapacity:10] retain]; 159 157 liArrVal = [[NSMutableArray arrayWithCapacity:10] retain]; 158 [buttonPrivacy setTitle:@" This item is public" 159 forState:UIControlStateDisabled]; 160 [buttonPrivacy setTitleColor:[UIColor grayColor] forState:UIControlStateDisabled]; 161 [self pickerView:rPicker didSelectRow:0 inComponent:0]; 160 162 } 161 163 … … 189 191 190 192 - (IBAction)didClickCancel:(id)sender { 193 [self slideViewForEditing:NO]; 191 194 [self.navigationController.view removeFromSuperview]; 192 195 } … … 199 202 [theRecord setObject:rLabel.text forKey:@"label"]; 200 203 204 VIPConnect *vipSI = [VIPConnect sharedInstance]; 201 205 NSMutableArray *newProfilesArray = [NSMutableArray arrayWithArray:[theRecord objectForKey:@"profiles"]]; 202 [newProfilesArray removeObjectIdenticalTo: [VIPConnect sharedInstance].selectedProfileId];206 [newProfilesArray removeObjectIdenticalTo:vipSI.selectedProfileId]; 203 207 if (rVisibility.on) { 204 [newProfilesArray addObject: [VIPConnect sharedInstance].selectedProfileId];208 [newProfilesArray addObject:vipSI.selectedProfileId]; 205 209 } 206 210 [theRecord setObject:newProfilesArray forKey:@"profiles"]; 207 211 208 212 // Store the record 209 barButtonSave.enabled = NO; 210 [saveIndicator startAnimating]; 213 if ([rPicker numberOfRowsInComponent:1] == 0) { // ntn 214 [self storeNTNaptrRecord]; 215 } else { 216 [self storeRecord]; 217 } 218 } 219 220 #pragma mark ------ Data methods 221 222 - (void)storeRecord { 223 /* 224 inputRecord = { 225 domainName: "cartman.tel", 226 apiId: 0, 227 serviceKeys: ["voice", "fax"], 228 value: "+34.34343443", 229 label: "my home number", 230 groups: [1, 2, 3], 231 profiles: [12, 23, 47], 232 locations: ["x-home", "x-mobile"] 233 }; 234 235 successResult = { 236 success: "true", 237 actionMessages: ["record stored successfully", 238 "2nd message here", 239 "3dmessage here"], 240 apiId: 17 241 }; 242 */ 211 243 Record *conn = [[[Record alloc] init] autorelease]; 212 [conn setTheDelegate: self];213 [conn setActionSel:@selector( afterSaveAction:)];244 [conn setTheDelegate:[VIPConnect sharedInstance]]; 245 [conn setActionSel:@selector(doNothing:)]; 214 246 [conn setConnectionUrl:[conn urlFromAction:@"storerecord"]]; 215 247 [conn setPayload:theRecord]; 216 [conn performLookup:TRUE]; 217 } 218 219 - (void)afterSaveAction:(NSDictionary *)parsedJson { 248 NSDictionary *parsedJson = [conn performLookup:FALSE]; 249 220 250 if ([[parsedJson valueForKey:@"success"] integerValue] == 1) { 221 [caller didStoreRecord:theRecord]; 251 [delegate didStoreRecord:theRecord]; 252 [self slideViewForEditing:NO]; 222 253 [self.navigationController.view removeFromSuperview]; 223 254 } else { 224 255 [JsonConnection throwJsonErrorAlert:parsedJson]; 225 } 226 [saveIndicator stopAnimating]; 227 barButtonSave.enabled = YES; 256 } 257 } 258 259 - (void)storeNTNaptrRecord { 260 /* 261 inputRecord = { 262 domainName: "cartman.tel", 263 apiId: 0, 264 value: "test", 265 groups: [], 266 profiles: [], 267 globalProfile: true 268 }; 269 270 successResult = { 271 success: true, 272 actionMessages: ["record stored successfully", 273 "2nd message here", 274 "3dmessage here"], 275 apiId: 17 276 }; 277 */ 278 279 NSMutableDictionary *ntnRec = [NSMutableDictionary dictionaryWithDictionary:theRecord]; 280 [ntnRec removeObjectForKey:@"locations"]; 281 [ntnRec setObject:[NSArray array] forKey:@"groups"]; 282 [ntnRec setObject:[NSArray array] forKey:@"profiles"]; 283 [ntnRec setValue:[NSNumber numberWithBool:TRUE] forKey:@"globalProfile"]; 284 285 if ([(NSString *)[ntnRec objectForKey:@"value"] hasSuffix:@".tel"]) { 286 // A fully qualified NTN has to end with a dot (".tel.") 287 [ntnRec setObject:[(NSString *)[ntnRec objectForKey:@"value"] stringByAppendingString:@"."] 288 forKey:@"value"]; 289 } 290 291 Record *conn = [[[Record alloc] init] autorelease]; 292 [conn setTheDelegate:[VIPConnect sharedInstance]]; 293 [conn setActionSel:@selector(doNothing:)]; 294 [conn setConnectionUrl:[conn urlFromAction:@"storentnaptrrecord"]]; 295 [conn setPayload:ntnRec]; 296 NSDictionary *parsedJson = [conn performLookup:FALSE]; 297 298 if ([[parsedJson valueForKey:@"success"] integerValue] == 1) { 299 [delegate didStoreRecord:theRecord]; 300 [self slideViewForEditing:NO]; 301 [self.navigationController.view removeFromSuperview]; 302 } else { 303 [JsonConnection throwJsonErrorAlert:parsedJson]; 304 } 305 } 306 307 #pragma mark ------ Utility methods 308 309 - (void)setStateForTerminal:(BOOL)isTerminal { 310 // Disable label for now on ntn. 311 // TODO: re-enable when labels allowed for ntn 312 // note that the buttonPrivacy disabled state string is set in viewDidLoad 313 if (isTerminal) { 314 rLabel.placeholder = @"Short description"; 315 rLabel.enabled = YES; 316 rVisibility.enabled = YES; 317 buttonPrivacy.enabled = YES; 318 NSUInteger numGroups = [(NSArray *)[theRecord objectForKey:@"groups"] count]; 319 if (numGroups == 0) { 320 [buttonPrivacy setTitle:@" This item is public" 321 forState:(UIControlStateNormal&&UIControlStateHighlighted)]; 322 } else { 323 if (numGroups == 1) 324 [buttonPrivacy setTitle:@" Member of 1 privacy group" 325 forState:(UIControlStateNormal&&UIControlStateHighlighted)]; 326 else 327 [buttonPrivacy setTitle:[NSString stringWithFormat:@" Member of %d privacy groups", numGroups] 328 forState:(UIControlStateNormal&&UIControlStateHighlighted)]; 329 } 330 } else { 331 rLabel.text = @""; 332 rLabel.enabled = NO; 333 rLabel.placeholder = @" -- disabled --"; 334 rVisibility.on = YES; 335 rVisibility.enabled = NO; 336 buttonPrivacy.enabled = NO; 337 } 338 [self.view setNeedsLayout]; 339 [self.view setNeedsDisplay]; 340 } 341 342 - (void)slideViewForEditing:(BOOL)isEditing { 343 if (isEditing) { 344 if (self.view.frame.origin.y >=0) { 345 CGRect newFrame = CGRectMake(self.view.frame.origin.x, self.view.frame.origin.y -220, 346 self.view.frame.size.width, self.view.frame.size.height + 220); 347 self.view.frame = newFrame; 348 } 349 } else { 350 if (self.view.frame.origin.y <0) { 351 CGRect newFrame = CGRectMake(self.view.frame.origin.x, self.view.frame.origin.y + 220, 352 self.view.frame.size.width, self.view.frame.size.height - 220); 353 354 self.view.frame = newFrame; 355 } 356 } 228 357 } 229 358 230 359 #pragma mark ------ TextField delegate methods 231 360 - (void)textFieldDidBeginEditing:(UITextField *)textField { 232 if (self.view.frame.origin.y >=0) { 233 CGRect newFrame = CGRectMake(self.view.frame.origin.x, self.view.frame.origin.y -230, 234 self.view.frame.size.width, self.view.frame.size.height + 230); 235 self.view.frame = newFrame; 236 } 361 [self slideViewForEditing:YES]; 237 362 return; 238 363 } … … 242 367 - (BOOL)textFieldShouldReturn:(UITextField *)textField { 243 368 [textField resignFirstResponder]; 244 if (self.view.frame.origin.y <0) { 245 CGRect newFrame = CGRectMake(self.view.frame.origin.x, self.view.frame.origin.y + 230, 246 self.view.frame.size.width, self.view.frame.size.height - 230); 247 248 self.view.frame = newFrame; 249 } 369 [self slideViewForEditing:NO]; 250 370 return YES; 251 371 } … … 254 374 // Check length of fields. Terminal labels should be very short 255 375 if (textField == rLabel) { 256 if ([ [theRecord objectForKey:@"terminal"] integerValue] == 0) {376 if ([rPicker numberOfRowsInComponent:1] == 0) { // ntn 257 377 if ((range.location + range.length) >= kNTNLabelLength) 258 378 return NO; … … 264 384 return YES; 265 385 } 266 267 268 386 269 387 #pragma mark ------ Picker data source methods … … 306 424 // Synchronize the locations component for NTNs in service component 307 425 if ([[sArrKey objectAtIndex:row] isEqualToString:@"ntn"]) { 308 if ([pickerView numberOfRowsInComponent:1] > 0) 426 if ([pickerView numberOfRowsInComponent:1] > 0) { 309 427 [pickerView reloadComponent:1]; 310 } else { 311 if ([pickerView numberOfRowsInComponent:1] == 0) 428 [self setStateForTerminal:NO]; 429 } 430 } else { 431 if ([pickerView numberOfRowsInComponent:1] == 0) { 312 432 [pickerView reloadComponent:1]; 433 [self setStateForTerminal:YES]; 434 } 313 435 } 314 436 } … … 318 440 forKey:@"locations"]; 319 441 } else { 442 // this shouldn't happen 320 443 [theRecord removeObjectForKey:@"locations"]; 321 322 } 323 444 } 324 445 } 325 446 } -
apps/iphone/my.tel/trunk/Classes/RecordViewController.h
r250 r256 47 47 - (void)getServiceKeys:(BOOL)fromNetwork; 48 48 - (void)getLocations:(BOOL)fromNetwork; 49 - (void)displayEditingForRecord:(NSDictionary *)aRec; 49 50 50 51 @property (nonatomic, retain) NSMutableDictionary *skeysDict; -
apps/iphone/my.tel/trunk/Classes/RecordViewController.m
r250 r256 177 177 178 178 - (void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath { 179 NSDictionary *theRecord = [self selectRecordInSetUsingId:[[uiArray objectAtIndex:indexPath.row] 180 objectForKey:@"apiId"]]; 181 [self displayEditingForRecord:theRecord]; 182 } 183 184 - (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath { 185 return YES; 186 } 187 188 - (UITableViewCellEditingStyle)tableView:(UITableView *)tableView 189 editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath { 190 return UITableViewCellEditingStyleDelete; 191 } 192 193 /* 194 - (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath { 195 return YES; 196 } 197 */ 198 199 - (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath 200 toIndexPath:(NSIndexPath *)toIndexPath { 201 202 NSDictionary *recordToMove = [[uiArray objectAtIndex:fromIndexPath.row] retain]; 203 [uiArray removeObjectAtIndex:fromIndexPath.row]; 204 [uiArray insertObject:recordToMove atIndex:toIndexPath.row]; 205 [recordToMove release]; 206 } 207 208 - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { 209 return recordTableHeight; 210 } 211 212 #pragma mark ------ Open Record Edit view 213 214 - (void)displayEditingForRecord:(NSDictionary *)aRec { 179 215 if (!editNavController) { 180 216 NSArray *nibItems = [[NSBundle mainBundle] loadNibNamed:@"RecordEdit" owner:self options:nil]; … … 184 220 [editController setPickerCol1:skeysDict col2:liDict]; 185 221 } 186 editController.caller = self; 187 NSDictionary *theRecord = [self selectRecordInSetUsingId:[[uiArray objectAtIndex:indexPath.row] 188 objectForKey:@"apiId"]]; 189 [editController presentViewForRecord:theRecord]; 190 } 191 192 - (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath { 193 return YES; 194 } 195 196 - (UITableViewCellEditingStyle)tableView:(UITableView *)tableView 197 editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath { 198 return UITableViewCellEditingStyleDelete; 199 } 200 201 /* 202 - (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath { 203 return YES; 204 } 205 */ 206 207 - (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath 208 toIndexPath:(NSIndexPath *)toIndexPath { 209 210 NSDictionary *recordToMove = [[uiArray objectAtIndex:fromIndexPath.row] retain]; 211 [uiArray removeObjectAtIndex:fromIndexPath.row]; 212 [uiArray insertObject:recordToMove atIndex:toIndexPath.row]; 213 [recordToMove release]; 214 } 215 216 - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { 217 return recordTableHeight; 222 editController.delegate = self; 223 [editController presentViewForRecord:aRec]; 218 224 } 219 225 … … 245 251 #pragma mark ------ UI Methods and Json Delegates 246 252 - (IBAction)addRecord:(id)sender { 247 if (!editController) { 248 editController = [[[RecordEditController alloc] 249 initWithNibName:@"RecordEdit" bundle:[NSBundle mainBundle]] retain]; 250 [editController setPickerCol1:skeysDict col2:liDict]; 251 } 252 editController.caller = self; 253 [editController presentViewForRecord:nil]; 253 [self displayEditingForRecord:nil]; 254 254 } 255 255 -
apps/iphone/my.tel/trunk/NaptrValuePlaceholders.plist
r241 r256 56 56 <string>Jabber username</string> 57 57 <key>ntn</key> 58 <string> telnic.tel</string>58 <string>some.domain.tel.</string> 59 59 </dict> 60 60 </plist> -
apps/iphone/my.tel/trunk/RecordEdit.xib
r250 r256 9 9 <object class="NSMutableArray" key="IBDocument.EditedObjectIDs"> 10 10 <bool key="EncodedWithXMLCoder">YES</bool> 11 <integer value="3 2"/>11 <integer value="3"/> 12 12 </object> 13 13 <object class="NSArray" key="IBDocument.PluginDependencies"> … … 32 32 <string key="IBProxiedObjectIdentifier">IBFirstResponder</string> 33 33 </object> 34 <object class="IBUINavigationController" id=" 327438418">34 <object class="IBUINavigationController" id="1070770624"> 35 35 <object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/> 36 <object class="IBUINavigationBar" key="IBUINavigationBar" id=" 719504618">36 <object class="IBUINavigationBar" key="IBUINavigationBar" id="227037696"> 37 37 <nil key="NSNextResponder"/> 38 38 <int key="NSvFlags">256</int> … … 44 44 <object class="NSMutableArray" key="IBUIViewControllers"> 45 45 <bool key="EncodedWithXMLCoder">YES</bool> 46 <object class="IBUIViewController" id=" 913002537">46 <object class="IBUIViewController" id="568141545"> 47 47 <object class="IBUIView" key="IBUIView" id="457831344"> 48 48 <reference key="NSNextResponder"/> … … 73 73 <int key="NSfFlags">16</int> 74 74 </object> 75 <object class="NSColor" key="IBUITextColor" id="8 66640345">75 <object class="NSColor" key="IBUITextColor" id="844693157"> 76 76 <int key="NSColorSpace">1</int> 77 77 <bytes key="NSRGB">MSAxIDEAA</bytes> … … 121 121 <string key="IBUIText">Descriptive Label</string> 122 122 <reference key="IBUIFont" ref="549292833"/> 123 <reference key="IBUITextColor" ref="8 66640345"/>123 <reference key="IBUITextColor" ref="844693157"/> 124 124 <nil key="IBUIHighlightedColor"/> 125 125 <int key="IBUIBaselineAdjustment">1</int> … … 136 136 <string key="IBUIText">Privacy</string> 137 137 <reference key="IBUIFont" ref="549292833"/> 138 <reference key="IBUITextColor" ref="8 66640345"/>138 <reference key="IBUITextColor" ref="844693157"/> 139 139 <nil key="IBUIHighlightedColor"/> 140 140 <int key="IBUIBaselineAdjustment">1</int> … … 151 151 <string key="IBUIText">Visibility</string> 152 152 <reference key="IBUIFont" ref="549292833"/> 153 <reference key="IBUITextColor" ref="8 66640345"/>153 <reference key="IBUITextColor" ref="844693157"/> 154 154 <nil key="IBUIHighlightedColor"/> 155 155 <int key="IBUIBaselineAdjustment">1</int> … … 197 197 <bool key="IBUIClipsSubviews">YES</bool> 198 198 <bool key="IBUIClearsContextBeforeDrawing">NO</bool> 199 <int key="IBUIContentHorizontalAlignment">0</int>200 199 <int key="IBUIContentVerticalAlignment">0</int> 201 200 <object class="NSFont" key="IBUIFont"> … … 205 204 </object> 206 205 <int key="IBUIButtonType">1</int> 207 <string key="IBUIHighlightedTitle"/> 208 <string key="IBUIDisabledTitle"/> 209 <string key="IBUISelectedTitle"/> 210 <string key="IBUINormalTitle"/> 211 <reference key="IBUIHighlightedTitleColor" ref="866640345"/> 212 <object class="NSColor" key="IBUINormalTitleColor"> 213 <int key="NSColorSpace">1</int> 214 <bytes key="NSRGB">MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA</bytes> 215 </object> 216 </object> 217 <object class="IBUILabel" id="545942572"> 218 <reference key="NSNextResponder" ref="457831344"/> 219 <int key="NSvFlags">292</int> 220 <string key="NSFrame">{{18, 382}, {241, 21}}</string> 221 <reference key="NSSuperview" ref="457831344"/> 222 <bool key="IBUIOpaque">NO</bool> 223 <bool key="IBUIClipsSubviews">YES</bool> 224 <bool key="IBUIUserInteractionEnabled">NO</bool> 225 <string key="IBUIText">This item is public</string> 226 <object class="NSFont" key="IBUIFont"> 227 <string key="NSName">Helvetica-Bold</string> 228 <double key="NSSize">1.400000e+01</double> 229 <int key="NSfFlags">16</int> 230 </object> 231 <object class="NSColor" key="IBUITextColor"> 206 <string key="IBUIHighlightedTitle"> This item is public</string> 207 <string key="IBUIDisabledTitle"> This item is public</string> 208 <string key="IBUISelectedTitle"> This item is public</string> 209 <string key="IBUINormalTitle"> This item is public</string> 210 <object class="NSColor" key="IBUIHighlightedTitleColor" id="1017508620"> 232 211 <int key="NSColorSpace">1</int> 233 212 <bytes key="NSRGB">MCAwIDAAA</bytes> 234 213 </object> 235 <nil key="IBUIHighlightedColor"/> 236 <int key="IBUIBaselineAdjustment">1</int> 237 <bool key="IBUIAdjustsFontSizeToFit">NO</bool> 238 <float key="IBUIMinimumFontSize">1.400000e+01</float> 214 <reference key="IBUINormalTitleColor" ref="1017508620"/> 239 215 </object> 240 216 <object class="IBUIImageView" id="387856602"> … … 273 249 </object> 274 250 </object> 275 <reference key="IBUIParentViewController" ref=" 327438418"/>251 <reference key="IBUIParentViewController" ref="1070770624"/> 276 252 </object> 277 253 </object> … … 285 261 <string key="label">delegate</string> 286 262 <reference key="source" ref="568290383"/> 287 <reference key="destination" ref=" 913002537"/>263 <reference key="destination" ref="568141545"/> 288 264 </object> 289 265 <int key="connectionID">42</int> … … 293 269 <string key="label">dataSource</string> 294 270 <reference key="source" ref="568290383"/> 295 <reference key="destination" ref=" 913002537"/>271 <reference key="destination" ref="568141545"/> 296 272 </object> 297 273 <int key="connectionID">43</int> … … 300 276 <object class="IBCocoaTouchOutletConnection" key="connection"> 301 277 <string key="label">rPicker</string> 302 <reference key="source" ref=" 913002537"/>278 <reference key="source" ref="568141545"/> 303 279 <reference key="destination" ref="568290383"/> 304 280 </object> … … 309 285 <string key="label">delegate</string> 310 286 <reference key="source" ref="986043956"/> 311 <reference key="destination" ref=" 913002537"/>287 <reference key="destination" ref="568141545"/> 312 288 </object> 313 289 <int key="connectionID">45</int> … … 316 292 <object class="IBCocoaTouchOutletConnection" key="connection"> 317 293 <string key="label">rValue</string> 318 <reference key="source" ref=" 913002537"/>294 <reference key="source" ref="568141545"/> 319 295 <reference key="destination" ref="986043956"/> 320 296 </object> … … 325 301 <string key="label">delegate</string> 326 302 <reference key="source" ref="320910893"/> 327 <reference key="destination" ref=" 913002537"/>303 <reference key="destination" ref="568141545"/> 328 304 </object> 329 305 <int key="connectionID">47</int> … … 332 308 <object class="IBCocoaTouchOutletConnection" key="connection"> 333 309 <string key="label">rVisibility</string> 334 <reference key="source" ref=" 913002537"/>310 <reference key="source" ref="568141545"/> 335 311 <reference key="destination" ref="559766415"/> 336 312 </object> … … 340 316 <object class="IBCocoaTouchOutletConnection" key="connection"> 341 317 <string key="label">barButtonSave</string> 342 <reference key="source" ref=" 913002537"/>318 <reference key="source" ref="568141545"/> 343 319 <reference key="destination" ref="985818708"/> 344 320 </object> … … 348 324 <object class="IBCocoaTouchOutletConnection" key="connection"> 349 325 <string key="label">rLabel</string> 350 <reference key="source" ref=" 913002537"/>326 <reference key="source" ref="568141545"/> 351 327 <reference key="destination" ref="320910893"/> 352 328 </object> … … 357 333 <string key="label">didClickCancel:</string> 358 334 <reference key="source" ref="967829433"/> 359 <reference key="destination" ref=" 913002537"/>335 <reference key="destination" ref="568141545"/> 360 336 </object> 361 337 <int key="connectionID">51</int> … … 365 341 <string key="label">didClickSave:</string> 366 342 <reference key="source" ref="985818708"/> 367 <reference key="destination" ref=" 913002537"/>343 <reference key="destination" ref="568141545"/> 368 344 </object> 369 345 <int key="connectionID">52</int> 346 </object> 347 <object class="IBConnectionRecord"> 348 <object class="IBCocoaTouchOutletConnection" key="connection"> 349 <string key="label">buttonPrivacy</string> 350 <reference key="source" ref="568141545"/> 351 <reference key="destination" ref="352974104"/> 352 </object> 353 <int key="connectionID">59</int> 370 354 </object> 371 355 </object> … … 394 378 <object class="IBObjectRecord"> 395 379 <int key="objectID">38</int> 396 <reference key="object" ref=" 327438418"/>380 <reference key="object" ref="1070770624"/> 397 381 <object class="NSMutableArray" key="children"> 398 382 <bool key="EncodedWithXMLCoder">YES</bool> 399 <reference ref=" 913002537"/>400 <reference ref=" 719504618"/>383 <reference ref="568141545"/> 384 <reference ref="227037696"/> 401 385 </object> 402 386 <reference key="parent" ref="360949347"/> … … 404 388 <object class="IBObjectRecord"> 405 389 <int key="objectID">39</int> 406 <reference key="object" ref=" 913002537"/>390 <reference key="object" ref="568141545"/> 407 391 <object class="NSMutableArray" key="children"> 408 392 <bool key="EncodedWithXMLCoder">YES</bool> … … 410 394 <reference ref="457831344"/> 411 395 </object> 412 <reference key="parent" ref=" 327438418"/>396 <reference key="parent" ref="1070770624"/> 413 397 </object> 414 398 <object class="IBObjectRecord"> 415 399 <int key="objectID">40</int> 416 <reference key="object" ref=" 719504618"/>417 <reference key="parent" ref=" 327438418"/>400 <reference key="object" ref="227037696"/> 401 <reference key="parent" ref="1070770624"/> 418 402 </object> 419 403 <object class="IBObjectRecord"> … … 425 409 <reference ref="967829433"/> 426 410 </object> 427 <reference key="parent" ref=" 913002537"/>411 <reference key="parent" ref="568141545"/> 428 412 </object> 429 413 <object class="IBObjectRecord"> … … 451 435 <reference ref="479973692"/> 452 436 <reference ref="352974104"/> 453 <reference ref="545942572"/>454 437 <reference ref="387856602"/> 455 438 </object> 456 <reference key="parent" ref=" 913002537"/>439 <reference key="parent" ref="568141545"/> 457 440 </object> 458 441 <object class="IBObjectRecord"> … … 499 482 <int key="objectID">33</int> 500 483 <reference key="object" ref="352974104"/> 501 <reference key="parent" ref="457831344"/>502 </object>503 <object class="IBObjectRecord">504 <int key="objectID">34</int>505 <reference key="object" ref="545942572"/>506 484 <reference key="parent" ref="457831344"/> 507 485 </object> … … 528 506 <string>32.IBPluginDependency</string> 529 507 <string>33.IBPluginDependency</string> 530 <string>34.IBPluginDependency</string>531 508 <string>35.IBPluginDependency</string> 532 509 <string>37.IBPluginDependency</string> … … 556 533 <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 557 534 <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 558 <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>559 535 <string>{{21, 342}, {320, 480}}</string> 560 536 <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> … … 588 564 </object> 589 565 <nil key="sourceID"/> 590 <int key="maxID">5 7</int>566 <int key="maxID">59</int> 591 567 </object> 592 568 <object class="IBClassDescriber" key="IBDocument.Classes"> … … 622 598 <string>barButtonSave</string> 623 599 <string>barHeader</string> 600 <string>buttonPrivacy</string> 624 601 <string>caller</string> 625 602 <string>rLabel</string> … … 627 604 <string>rValue</string> 628 605 <string>rVisibility</string> 629 <string>saveIndicator</string>630 606 </object> 631 607 <object class="NSMutableArray" key="dict.values"> … … 633 609 <string>UIBarButtonItem</string> 634 610 <string>UIBarButtonItem</string> 611 <string>UIButton</string> 635 612 <string>id</string> 636 613 <string>UITextField</string> … … 638 615 <string>UITextField</string> 639 616 <string>UISwitch</string> 640 <string>UIActivityIndicatorView</string>641 617 </object> 642 618 </object> -
apps/iphone/my.tel/trunk/ServiceTypes.plist
r241 r256 56 56 <string>IM Jabber</string> 57 57 <key>ntn</key> 58 <string> .tel Link</string>58 <string>Link to a .tel</string> 59 59 </dict> 60 60 </plist>








