X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?p=xscreensaver;a=blobdiff_plain;f=OSX%2FSaverRunner.m;h=60233a087b6b7c5028b54357b2d99b7ad76d4e7b;hp=a5eb429db9597d33c2cb370d5035e271310e5d3c;hb=c70f94f648d51bb4828193124f325fa52b0e57f3;hpb=f8cf5ac7b2f53510f80a0eaf286a25298be17bfe diff --git a/OSX/SaverRunner.m b/OSX/SaverRunner.m index a5eb429d..60233a08 100644 --- a/OSX/SaverRunner.m +++ b/OSX/SaverRunner.m @@ -341,32 +341,20 @@ relabel_menus (NSObject *v, NSString *old_str, NSString *new_str) } -- (void) openPreferences: (id) sender +- (void) openPreferences: (NSString *) saver { - NSString *saver = [listController selected]; - if (! saver) return; - [self loadSaver:saver launch:NO]; if (! saverView) return; + NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; + [prefs setObject:saver forKey:@"selectedSaverName"]; + [prefs synchronize]; + [rootViewController pushViewController: [saverView configureView] animated:YES]; } -- (void) loadSaverMenu: (id) sender -{ - NSString *saver = [listController selected]; - NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; - if (saver) { - [prefs setObject:saver forKey:@"selectedSaverName"]; - } else { - [prefs removeObjectForKey:@"selectedSaverName"]; - } - [self saveScreenshot]; - [self selectedSaverDidChange:nil]; -} - #endif // USE_IPHONE @@ -424,6 +412,10 @@ relabel_menus (NSObject *v, NSString *old_str, NSString *new_str) # else // USE_IPHONE + NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; + [prefs setObject:name forKey:@"selectedSaverName"]; + [prefs synchronize]; + if (saverName && [saverName isEqualToString: name]) { if (launch && ![saverView isAnimating]) { [window addSubview: saverView]; @@ -746,41 +738,6 @@ relabel_menus (NSObject *v, NSString *old_str, NSString *new_str) } -- (UIViewController *) makeMenu -{ - listController = [[[SaverListController alloc] - initWithNames:saverNames - descriptions:[self makeDescTable]] - retain]; - UIBarButtonItem *run = [[[UIBarButtonItem alloc] - initWithTitle:@"Run" - style: UIBarButtonItemStylePlain - target: self - action: @selector(loadSaverMenu:)] - autorelease]; - UIBarButtonItem *about = [[[UIBarButtonItem alloc] - initWithTitle: @"About" - style: UIBarButtonItemStylePlain - target: self - action: @selector(aboutPanel:)] - autorelease]; - UIBarButtonItem *pref = [[[UIBarButtonItem alloc] - initWithTitle:@"Settings" - style: UIBarButtonItemStylePlain - target: self - action: @selector(openPreferences:)] - autorelease]; - NSArray *a = [NSArray arrayWithObjects: pref, about, nil]; - - [run setEnabled:NO]; - [about setEnabled:YES]; - [pref setEnabled:NO]; - listController.navigationItem.leftBarButtonItem = run; - listController.navigationItem.rightBarButtonItems = a; - - return listController; -} - #endif // USE_IPHONE @@ -954,8 +911,11 @@ relabel_menus (NSObject *v, NSString *old_str, NSString *new_str) rootViewController = [[[RotateyViewController alloc] init] retain]; [window setRootViewController: rootViewController]; - [rootViewController pushViewController:[self makeMenu] - animated:YES]; + + SaverListController *menu = [[SaverListController alloc] + initWithNames:saverNames + descriptions:[self makeDescTable]]; + [rootViewController pushViewController:menu animated:YES]; [window makeKeyAndVisible]; [window setAutoresizesSubviews:YES]; @@ -993,6 +953,7 @@ relabel_menus (NSObject *v, NSString *old_str, NSString *new_str) # ifdef USE_IPHONE NSString *prev = [prefs stringForKey:@"selectedSaverName"]; + if (forced) prev = forced; @@ -1003,7 +964,7 @@ relabel_menus (NSObject *v, NSString *old_str, NSString *new_str) prev = [saverNames objectAtIndex: (random() % [saverNames count])]; if (prev) - [listController scrollTo: prev]; + [menu scrollTo: prev]; # endif // USE_IPHONE if (forced)