* no getter/setter code is needed in this file (unless more complicated
* preference settings are added that cannot be handled with Cocoa bindings).
*/
-
+
@interface HBPreferencesController (Private)
- (void) setPrefView: (id) sender;
+ (void)registerUserDefaults
{
NSString *desktopDirectory = [@"~/Desktop" stringByExpandingTildeInPath];
-
+
[[NSUserDefaults standardUserDefaults] registerDefaults:[NSDictionary dictionaryWithObjectsAndKeys:
@"YES", @"CheckForUpdates",
@"English", @"DefaultLanguage",
@"NO", @"DefaultMpegName",
@"YES", @"DefaultCrf",
- @"NO", @"DefaultDeinterlaceOn",
- @"NO", @"PixelRatio",
@"", @"DefAdvancedx264Flags",
@"YES", @"DefaultPresetsDrawerShow",
desktopDirectory, @"LastDestinationDirectory",
desktopDirectory, @"LastSourceDirectory",
@"NO", @"DefaultAutoNaming",
- @"NO", @"DefaultChapterMarkers",
- @"YES", @"ShowVerboseOutput",
- @"NO", @"AllowLargeFiles",
- @"NO", @"DisableDvdAutoDetect",
- @"Alert Window", @"AlertWhenDone",
+ @"NO", @"DisableDvdAutoDetect",
+ @"Alert Window", @"AlertWhenDone",
+ @"1", @"LoggingLevel",
+ @"4:10:15:9:10:35:9", @"DecombCustomString",
+ @"NO", @"EncodeLogLocation",
nil]];
}
{
NSAssert([self window], @"[HBPreferencesController init] window outlet is not connected in Preferences.nib");
}
- return self;
+ return self;
}
- (void) awakeFromNib
{
- NSToolbar * toolbar = [[NSToolbar alloc] initWithIdentifier: @"Preferences Toolbar"];
+ NSToolbar * toolbar = [[[NSToolbar alloc] initWithIdentifier: @"Preferences Toolbar"] autorelease];
[toolbar setDelegate: self];
[toolbar setAllowsUserCustomization: NO];
[toolbar setDisplayMode: NSToolbarDisplayModeIconAndLabel];
[toolbar setSizeMode: NSToolbarSizeModeRegular];
[[self window] setToolbar: toolbar];
-
+
[toolbar setSelectedItemIdentifier: TOOLBAR_GENERAL];
[self setPrefView:nil];
}
willBeInsertedIntoToolbar: (BOOL) flag
{
NSToolbarItem * item;
- item = [[NSToolbarItem alloc] initWithItemIdentifier: ident];
+ item = [[[NSToolbarItem alloc] initWithItemIdentifier: ident] autorelease];
if ([ident isEqualToString: TOOLBAR_GENERAL])
{
[item setLabel: NSLocalizedString(@"General", "General")];
- [item setImage: [NSImage imageNamed: @"pref-general"]];
+ [item setImage: [NSImage imageNamed: @"NSPreferencesGeneral"]];
[item setTarget: self];
[item setAction: @selector(setPrefView:)];
[item setAutovalidates: NO];
else if ([ident isEqualToString: TOOLBAR_ADVANCED])
{
[item setLabel: NSLocalizedString(@"Advanced", "Advanced")];
- [item setImage: [NSImage imageNamed: @"pref-advanced"]];
+ [item setImage: [NSImage imageNamed: @"NSAdvanced"]];
[item setTarget: self];
[item setAction: @selector(setPrefView:)];
[item setAutovalidates: NO];
}
else
{
- [item release];
return nil;
}
TOOLBAR_AUDIO, TOOLBAR_ADVANCED, nil];
}
-/**
- * Closes the window and stops modal state. Any changes made in field editor
- * are saved by [NSWindow endEditingFor:] before closing the window.
- */
-- (IBAction)close:(id)sender
-{
- //[self makeFirstResponder: nil];
-}
-
@end
@implementation HBPreferencesController (Private)
- (void) setPrefView: (id) sender
{
NSView * view = fGeneralView;
- if (sender)
+ if( sender )
{
NSString * identifier = [sender itemIdentifier];
- if ([identifier isEqualToString: TOOLBAR_PICTURE])
+ if( [identifier isEqualToString: TOOLBAR_PICTURE] )
view = fPictureView;
- else if ([identifier isEqualToString: TOOLBAR_AUDIO])
+ else if( [identifier isEqualToString: TOOLBAR_AUDIO] )
view = fAudioView;
- else if ([identifier isEqualToString: TOOLBAR_ADVANCED])
+ else if( [identifier isEqualToString: TOOLBAR_ADVANCED] )
view = fAdvancedView;
else;
}
-
+
NSWindow * window = [self window];
- if ([window contentView] == view)
+ if( [window contentView] == view )
return;
-
+
NSRect windowRect = [window frame];
- float difference = ([view frame].size.height - [[window contentView] frame].size.height) * [window userSpaceScaleFactor];
+ CGFloat difference = ( [view frame].size.height - [[window contentView] frame].size.height ) * [window userSpaceScaleFactor];
windowRect.origin.y -= difference;
windowRect.size.height += difference;
-
+
[view setHidden: YES];
[window setContentView: view];
[window setFrame: windowRect display: YES animate: YES];
[view setHidden: NO];
-
+
//set title label
- if (sender)
+ if( sender )
[window setTitle: [sender label]];
else
{
NSToolbar * toolbar = [window toolbar];
NSString * itemIdentifier = [toolbar selectedItemIdentifier];
- NSEnumerator * enumerator = [[toolbar items] objectEnumerator];
- NSToolbarItem * item;
- while ((item = [enumerator nextObject]))
- if ([[item itemIdentifier] isEqualToString: itemIdentifier])
+ for( NSToolbarItem * item in [toolbar items] )
+ if( [[item itemIdentifier] isEqualToString: itemIdentifier] )
{
[window setTitle: [item label]];
break;