diff --git a/DDWRT-Monitor.xcodeproj/project.xcworkspace/xcuserdata/spike.xcuserdatad/UserInterfaceState.xcuserstate b/DDWRT-Monitor.xcodeproj/project.xcworkspace/xcuserdata/spike.xcuserdatad/UserInterfaceState.xcuserstate index ba0439c..3e7eab5 100644 --- a/DDWRT-Monitor.xcodeproj/project.xcworkspace/xcuserdata/spike.xcuserdatad/UserInterfaceState.xcuserstate +++ b/DDWRT-Monitor.xcodeproj/project.xcworkspace/xcuserdata/spike.xcuserdatad/UserInterfaceState.xcuserstate @@ -2801,9 +2801,9 @@ - 328577815.697043 - {930, 959} - {1434, 0} + 328578404.99264902 + {733, 885} + {1321, 0} $class @@ -2897,9 +2897,9 @@ - 328577902.92416799 - {0, 1089} - {2472, 0} + 328578489.274598 + {1044, 1134} + {2148, 0} $class @@ -3586,7 +3586,7 @@ 323 NS.time - 328577829.65523702 + 328578485.318919 $classes @@ -3597,7 +3597,7 @@ $classname NSDate - Today at 7:37 PM + Today at 7:48 PM 106 $class @@ -3893,7 +3893,7 @@ CF$UID - 464 + 473 CF$UID @@ -3905,7 +3905,7 @@ CF$UID - 465 + 474 @@ -3975,7 +3975,7 @@ CF$UID - 407 + 409 CF$UID @@ -3983,7 +3983,7 @@ CF$UID - 415 + 417 @@ -4124,19 +4124,19 @@ CF$UID - 372 + 374 CF$UID - 376 + 378 CF$UID - 42 + 362 CF$UID - 389 + 391 @@ -4208,7 +4208,7 @@ CF$UID - 366 + 369 @@ -4220,13 +4220,18 @@ 13 NS.objects - + + + CF$UID + 366 + + $class CF$UID - 53 + 38 NS.objects @@ -4236,8 +4241,24 @@ CF$UID - 369 + 65 + + CF$UID + 368 + + + + DDWRT-Monitor + DDWRT_MonitorAppDelegate.m + + $class + + CF$UID + 53 + + NS.objects + CF$UID 370 @@ -4246,6 +4267,14 @@ CF$UID 371 + + CF$UID + 372 + + + CF$UID + 373 + @@ -4258,11 +4287,10 @@ CF$UID - 368 + 367 - DDWRT-Monitor $class @@ -4273,7 +4301,7 @@ CF$UID - 368 + 367 CF$UID @@ -4291,7 +4319,7 @@ CF$UID - 368 + 367 CF$UID @@ -4309,7 +4337,7 @@ CF$UID - 368 + 367 CF$UID @@ -4327,15 +4355,15 @@ CF$UID - 373 + 375 CF$UID - 374 + 376 CF$UID - 375 + 377 NS.objects @@ -4367,31 +4395,31 @@ CF$UID - 377 + 379 CF$UID - 378 + 380 CF$UID - 379 + 381 CF$UID - 380 + 382 CF$UID - 381 + 383 CF$UID - 382 + 384 CF$UID - 383 + 385 NS.objects @@ -4410,11 +4438,11 @@ CF$UID - 384 + 386 CF$UID - 385 + 387 CF$UID @@ -4422,7 +4450,7 @@ CF$UID - 387 + 389 @@ -4438,7 +4466,7 @@ $class CF$UID - 386 + 388 NSRangeCount 0 @@ -4456,7 +4484,7 @@ $class CF$UID - 388 + 390 NSRangeCount 0 @@ -4479,14 +4507,6 @@ NS.keys - - CF$UID - 390 - - - CF$UID - 391 - CF$UID 392 @@ -4519,6 +4539,14 @@ CF$UID 399 + + CF$UID + 400 + + + CF$UID + 401 + NS.objects @@ -4528,19 +4556,19 @@ CF$UID - 400 + 402 CF$UID - 401 + 403 CF$UID - 403 + 405 CF$UID - 404 + 406 CF$UID @@ -4552,7 +4580,7 @@ CF$UID - 405 + 407 CF$UID @@ -4560,7 +4588,7 @@ CF$UID - 406 + 408 @@ -4579,7 +4607,7 @@ $class CF$UID - 402 + 404 NS.objects @@ -4598,7 +4626,7 @@ $class CF$UID - 402 + 404 NS.objects @@ -4616,7 +4644,7 @@ $class CF$UID - 402 + 404 NS.objects @@ -4625,7 +4653,7 @@ $class CF$UID - 402 + 404 NS.objects @@ -4647,7 +4675,7 @@ CF$UID - 408 + 410 @@ -4661,15 +4689,15 @@ CF$UID - 409 + 411 CF$UID - 411 + 413 CF$UID - 413 + 415 @@ -4698,7 +4726,7 @@ CF$UID - 410 + 412 @@ -4728,7 +4756,7 @@ CF$UID - 412 + 414 @@ -4758,7 +4786,7 @@ CF$UID - 414 + 416 @@ -4808,15 +4836,15 @@ CF$UID - 416 + 418 CF$UID - 424 + 430 CF$UID - 442 + 451 CF$UID @@ -4828,11 +4856,11 @@ CF$UID - 457 + 466 CF$UID - 463 + 472 CF$UID @@ -4854,12 +4882,12 @@ primaryEditorContextNode CF$UID - 417 + 419 rootLayoutTreeNode CF$UID - 422 + 428 @@ -4878,14 +4906,14 @@ documentArchivableRepresentation CF$UID - 418 + 420 orientation 0 parent CF$UID - 422 + 428 @@ -4897,22 +4925,22 @@ DocumentLocation CF$UID - 421 + 426 DomainIdentifier CF$UID - 0 + 87 IdentifierPath CF$UID - 419 + 421 IndexOfDocumentIdentifier CF$UID - 420 + 26 @@ -4922,9 +4950,58 @@ 13 NS.objects - + + + CF$UID + 422 + + + CF$UID + 423 + + + CF$UID + 424 + + - 9223372036854775807 + + $class + + CF$UID + 90 + + Identifier + + CF$UID + 368 + + + + $class + + CF$UID + 90 + + Identifier + + CF$UID + 65 + + + + $class + + CF$UID + 90 + + Identifier + + CF$UID + 425 + + + DDWRT-Monitor $class @@ -4934,7 +5011,7 @@ documentURL CF$UID - 336 + 427 timestamp @@ -4942,6 +5019,15 @@ 0 + + $class + + CF$UID + 97 + + NS.string + file://localhost/Users/spike/Downloads/DDWRT-Monitor/DDWRT_MonitorAppDelegate.m + $class @@ -4951,7 +5037,7 @@ children CF$UID - 423 + 429 contentType 0 @@ -4978,7 +5064,7 @@ CF$UID - 417 + 419 @@ -4999,7 +5085,7 @@ CF$UID - 425 + 431 @@ -5020,7 +5106,7 @@ CF$UID - 426 + 432 @@ -5049,7 +5135,7 @@ CF$UID - 427 + 433 CF$UID @@ -5057,7 +5143,7 @@ CF$UID - 440 + 449 @@ -5071,7 +5157,7 @@ CF$UID - 428 + 434 @@ -5116,23 +5202,23 @@ CF$UID - 429 + 435 CF$UID - 430 + 436 CF$UID - 433 + 442 CF$UID - 437 + 446 CF$UID - 438 + 368 CF$UID @@ -5140,7 +5226,7 @@ CF$UID - 439 + 447 @@ -5154,22 +5240,22 @@ DocumentLocation CF$UID - 421 + 426 DomainIdentifier CF$UID - 0 + 87 IdentifierPath CF$UID - 431 + 437 IndexOfDocumentIdentifier CF$UID - 432 + 26 @@ -5179,9 +5265,58 @@ 13 NS.objects - + + + CF$UID + 438 + + + CF$UID + 439 + + + CF$UID + 440 + + + + + $class + + CF$UID + 90 + + Identifier + + CF$UID + 368 + - 9223372036854775807 + + $class + + CF$UID + 90 + + Identifier + + CF$UID + 65 + + + + $class + + CF$UID + 90 + + Identifier + + CF$UID + 441 + + + DDWRT-Monitor $class @@ -5211,11 +5346,11 @@ CF$UID - 434 + 443 CF$UID - 435 + 444 CF$UID @@ -5223,15 +5358,14 @@ CF$UID - 436 + 445 - 328577902.926952 - {0, 1089} - {2472, 0} - @implementation DDWRT_MonitorAppDelegate - DDWRT_MonitorAppDelegate.m + 328578489.277578 + {1044, 1134} + {2148, 0} + -initDefaults $class @@ -5246,9 +5380,10 @@ NS.relative CF$UID - 336 + 448 + file://localhost/Users/spike/Downloads/DDWRT-Monitor/DDWRT_MonitorAppDelegate.m $class @@ -5259,7 +5394,7 @@ CF$UID - 441 + 450 @@ -5305,11 +5440,11 @@ CF$UID - 443 + 452 CF$UID - 444 + 453 CF$UID @@ -5317,11 +5452,11 @@ CF$UID - 445 + 454 CF$UID - 451 + 460 @@ -5384,7 +5519,7 @@ CF$UID - 446 + 455 @@ -5398,11 +5533,11 @@ CF$UID - 447 + 456 CF$UID - 449 + 458 @@ -5431,7 +5566,7 @@ CF$UID - 448 + 457 @@ -5461,7 +5596,7 @@ CF$UID - 450 + 459 @@ -5483,7 +5618,7 @@ CF$UID - 452 + 461 @@ -5497,11 +5632,11 @@ CF$UID - 453 + 462 CF$UID - 455 + 464 @@ -5530,7 +5665,7 @@ CF$UID - 454 + 463 @@ -5560,7 +5695,7 @@ CF$UID - 456 + 465 @@ -5582,7 +5717,7 @@ CF$UID - 458 + 467 @@ -5596,11 +5731,11 @@ CF$UID - 459 + 468 CF$UID - 461 + 470 @@ -5629,7 +5764,7 @@ CF$UID - 460 + 469 @@ -5659,7 +5794,7 @@ CF$UID - 462 + 471 diff --git a/DDWRT_MonitorAppDelegate.h b/DDWRT_MonitorAppDelegate.h index cc677c0..f69c56a 100644 --- a/DDWRT_MonitorAppDelegate.h +++ b/DDWRT_MonitorAppDelegate.h @@ -50,7 +50,8 @@ IBOutlet id menuWanDNSItem2; IBOutlet id menuWanBandwidthGraph; - + NSUserDefaults *defaults; + NSStatusItem *_appMenu; NSAlert *modalWindow; @@ -65,6 +66,9 @@ BOOL _wrtReachable; } +- (void) initDefaults; +- (void) readDefaults; + - (void) terminate:(id)sender; - (void) showConfigPanel:(id)sender; - (void) hideConfigPanel:(id)sender; diff --git a/DDWRT_MonitorAppDelegate.m b/DDWRT_MonitorAppDelegate.m index b2d6c3d..00ed349 100644 --- a/DDWRT_MonitorAppDelegate.m +++ b/DDWRT_MonitorAppDelegate.m @@ -14,44 +14,23 @@ //- (void)applicationDidFinishLaunching:(NSNotification *)aNotification - (void) awakeFromNib -{ - NSLog(@"Spike debug start."); - +{ wrt_client = [[WRTStatusClient alloc] initWithHostname:@"router" port:80 username:@"spike" password:@"aaaassss"]; - - [wrt_client getStatusUpdate:@"graph_if.svg?vlan2" delegate: self]; - - NSLog(@"Spike debug end."); - + // Insert code here to initialize your application [self showMenubar]; _wrtReachable = false; - // initialize defaults - NSString *hostname = [[NSUserDefaults standardUserDefaults] stringForKey:@"hostname"]; - - if (hostname == nil) // App first run: set up user defaults. + defaults = [NSUserDefaults standardUserDefaults]; + + // check if the app is configured yet + if (![defaults boolForKey:@"configured"]) { - NSDictionary *appDefaults = [NSDictionary dictionaryWithObjectsAndKeys:nil]; - - NSLog(@"Creating new user defaults"); - - // do any other initialization you want to do here - e.g. the starting default values. - //[[NSUserDefaults standardUserDefaults] setObject:@"192.168.1.1" foKey:@"hostname"]; - [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"showMenuIcon"]; - [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"useBytes"]; - [[NSUserDefaults standardUserDefaults] setInteger:80 forKey:@"port"]; - [[NSUserDefaults standardUserDefaults] setInteger:4 forKey:@"refreshTime"]; - - // sync the defaults to disk - [[NSUserDefaults standardUserDefaults] registerDefaults:appDefaults]; - [[NSUserDefaults standardUserDefaults] synchronize]; - - // TODO: Add modal alert "First launch" here... - [self showConfigPanel:nil]; + [self initDefaults]; } else { + [self readDefaults]; NSLog(@"Using existing user defaults"); //_readTimer = [NSTimer scheduledTimerWithTimeInterval:[[NSUserDefaults standardUserDefaults] integerForKey:@"refreshTime"] target:self selector:@selector(updateThroughput:) userInfo:nil repeats:YES]; @@ -59,9 +38,9 @@ [self updateThroughput]; - WRTRequest *wrtr = [[WRTRequest alloc] init]; + //WRTRequest *wrtr = [[WRTRequest alloc] init]; - [wrtr doRequest:self requestSelector:@selector(doUpdateStatus:) uri:@"Status_Router.live.asp"]; + //[wrtr doRequest:self requestSelector:@selector(doUpdateStatus:) uri:@"Status_Router.live.asp"]; } } @@ -75,6 +54,32 @@ [super dealloc]; } +- (void) initDefaults +{ + NSDictionary *appDefaults = [NSDictionary dictionaryWithObjectsAndKeys:nil]; + + NSLog(@"Creating new user defaults"); + + // do any other initialization you want to do here - e.g. the starting default values. + //[[NSUserDefaults standardUserDefaults] setObject:@"192.168.1.1" foKey:@"hostname"]; + [defaults setBool:YES forKey:@"showMenuIcon"]; + [defaults setBool:YES forKey:@"useBytes"]; + [defaults setInteger:80 forKey:@"port"]; + [defaults setInteger:4 forKey:@"refreshTime"]; + + // sync the defaults to disk + [defaults registerDefaults:appDefaults]; + [defaults synchronize]; + + // TODO: Add modal alert "First launch" here... + [self showConfigPanel:self]; +} + +- (void) readDefaults +{ + +} + - (void) terminate:(id)sender { [[NSUserDefaults standardUserDefaults] synchronize]; [self dealloc]; @@ -241,9 +246,9 @@ [configStateStatus startAnimation:nil]; [configStateStatus setHidden:false]; - WRTRequest *wrtr = [[WRTRequest alloc] init]; + //WRTRequest *wrtr = [[WRTRequest alloc] init]; - [wrtr doRequest:self requestSelector:@selector(configSaveRequestCallback:) uri:@"Status_Router.live.asp"]; + //[wrtr doRequest:self requestSelector:@selector(configSaveRequestCallback:) uri:@"Status_Router.live.asp"]; } -(NSString *)getKey:(NSString *)stringData key:(NSString *)key @@ -308,9 +313,9 @@ - (void) updateThroughput { - WRTRequest *wrtr = [[WRTRequest alloc] init]; + //WRTRequest *wrtr = [[WRTRequest alloc] init]; - [wrtr doRequest:self requestSelector:@selector(throughputCallback:) uri:@"fetchif.cgi?ppp1"]; + //[wrtr doRequest:self requestSelector:@selector(throughputCallback:) uri:@"fetchif.cgi?ppp1"]; } - (void) throughputCallback:(NSData *)data @@ -367,9 +372,9 @@ - (void) refreshWanMenu:(id)sender { NSLog(@"Refreshing Wan Menu"); - WRTRequest *wrtr = [[WRTRequest alloc] init]; + //WRTRequest *wrtr = [[WRTRequest alloc] init]; - [wrtr doRequest:self requestSelector:@selector(wanRequestCallback:) uri:@"Status_Internet.live.asp"]; + //[wrtr doRequest:self requestSelector:@selector(wanRequestCallback:) uri:@"Status_Internet.live.asp"]; } - (void) wanRequestCallback:(NSData *)data