X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=macosx%2FHBPreferencesController.m;h=943cf3b28ecee1cdf21b74b99d00b1d4866ea6d0;hb=240cf3308bf21be4d1918a71a5510d07e7d6d85b;hp=6aa4b16ceea6ef8470bfc67219bcc18be0a47c4a;hpb=3ca4f8ec57846d3ad1f2a139fa70692cb6f73da3;p=handbrake-jp%2Fhandbrake-jp-git.git diff --git a/macosx/HBPreferencesController.m b/macosx/HBPreferencesController.m index 6aa4b16c..943cf3b2 100644 --- a/macosx/HBPreferencesController.m +++ b/macosx/HBPreferencesController.m @@ -23,12 +23,17 @@ @interface HBPreferencesController (Private) - (void) setPrefView: (id) sender; +- (NSToolbarItem *)toolbarItemWithIdentifier: (NSString *)identifier + label: (NSString *)label + image: (NSImage *)image; @end @implementation HBPreferencesController /** + * +[HBPreferencesController registerUserDefaults] + * * Registers default values to user defaults. This is called immediately * when HandBrake starts, from [HBController init]. */ @@ -38,24 +43,32 @@ [[NSUserDefaults standardUserDefaults] registerDefaults:[NSDictionary dictionaryWithObjectsAndKeys: @"YES", @"CheckForUpdates", + @"Open Source", @"LaunchSourceBehavior", @"English", @"DefaultLanguage", + @"YES", @"UseCoreAudio", @"NO", @"DefaultMpegName", - @"YES", @"DefaultCrf", - @"NO", @"DefaultDeinterlaceOn", - @"NO", @"PixelRatio", + @"YES", @"UseDvdNav", @"", @"DefAdvancedx264Flags", @"YES", @"DefaultPresetsDrawerShow", desktopDirectory, @"LastDestinationDirectory", desktopDirectory, @"LastSourceDirectory", @"NO", @"DefaultAutoNaming", - @"NO", @"DefaultChapterMarkers", @"NO", @"DisableDvdAutoDetect", - @"Alert Window", @"AlertWhenDone", + @"Alert Window", @"AlertWhenDone", + @"1", @"LoggingLevel", + @"NO", @"EncodeLogLocation", + @"10", @"PreviewsNumber", + @"", @"Drawer Size", + @"0.25", @"x264CqSliderFractional", + @"YES", @"AlertBuiltInPresetUpdate", nil]]; } /** + * -[HBPreferencesController init] + * * Initializes the preferences controller by loading Preferences.nib file. + * */ - (id)init { @@ -66,9 +79,16 @@ return self; } +/** + * -[HBPreferencesController awakeFromNib] + * + * Called after all the outlets in the nib file have been attached. Sets up the + * toolbar and shows the "General" pane. + * + */ - (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]; @@ -79,51 +99,36 @@ [self setPrefView:nil]; } -- (NSToolbarItem *) toolbar: (NSToolbar *) toolbar itemForItemIdentifier: (NSString *) ident - willBeInsertedIntoToolbar: (BOOL) flag +- (NSToolbarItem *)toolbar: (NSToolbar *)toolbar + itemForItemIdentifier: (NSString *)ident + willBeInsertedIntoToolbar: (BOOL)flag { - NSToolbarItem * item; - item = [[NSToolbarItem alloc] initWithItemIdentifier: ident]; - - if ([ident isEqualToString: TOOLBAR_GENERAL]) - { - [item setLabel: NSLocalizedString(@"General", "General")]; - [item setImage: [NSImage imageNamed: @"NSPreferencesGeneral"]]; - [item setTarget: self]; - [item setAction: @selector(setPrefView:)]; - [item setAutovalidates: NO]; - } - else if ([ident isEqualToString: TOOLBAR_PICTURE]) + if ( [ident isEqualToString:TOOLBAR_GENERAL] ) { - [item setLabel: NSLocalizedString(@"Picture", "Picture")]; - [item setImage: [NSImage imageNamed: @"pref-picture"]]; - [item setTarget: self]; - [item setAction: @selector(setPrefView:)]; - [item setAutovalidates: NO]; + return [self toolbarItemWithIdentifier:ident + label:NSLocalizedString(@"General", @"Preferences General Toolbar Item") + image:[NSImage imageNamed:NSImageNamePreferencesGeneral]]; } - else if ([ident isEqualToString: TOOLBAR_AUDIO]) + else if ( [ident isEqualToString:TOOLBAR_PICTURE] ) { - [item setLabel: NSLocalizedString(@"Audio", "Audio")]; - [item setImage: [NSImage imageNamed: @"pref-audio"]]; - [item setTarget: self]; - [item setAction: @selector(setPrefView:)]; - [item setAutovalidates: NO]; + return [self toolbarItemWithIdentifier:ident + label:NSLocalizedString(@"Picture", @"Preferences Picture Toolbar Item") + image:[NSImage imageNamed:@"pref-picture"]]; } - else if ([ident isEqualToString: TOOLBAR_ADVANCED]) + else if ( [ident isEqualToString:TOOLBAR_AUDIO] ) { - [item setLabel: NSLocalizedString(@"Advanced", "Advanced")]; - [item setImage: [NSImage imageNamed: @"NSAdvanced"]]; - [item setTarget: self]; - [item setAction: @selector(setPrefView:)]; - [item setAutovalidates: NO]; + return [self toolbarItemWithIdentifier:ident + label:NSLocalizedString(@"Audio", @"Preferences Audio Toolbar Item") + image:[NSImage imageNamed:@"pref-audio"]]; } - else + else if ( [ident isEqualToString:TOOLBAR_ADVANCED] ) { - [item release]; - return nil; + return [self toolbarItemWithIdentifier:ident + label:NSLocalizedString(@"Advanced", @"Preferences Advanced Toolbar Item") + image:[NSImage imageNamed:NSImageNameAdvanced]]; } - return item; + return nil; } - (NSArray *) toolbarSelectableItemIdentifiers: (NSToolbar *) toolbar @@ -138,7 +143,7 @@ - (NSArray *) toolbarAllowedItemIdentifiers: (NSToolbar *) toolbar { - return [NSArray arrayWithObjects: TOOLBAR_GENERAL, TOOLBAR_PICTURE, + return [NSArray arrayWithObjects: TOOLBAR_GENERAL, /*TOOLBAR_PICTURE, */ TOOLBAR_AUDIO, TOOLBAR_ADVANCED, nil]; } @@ -149,24 +154,24 @@ - (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; @@ -176,16 +181,14 @@ [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; @@ -193,4 +196,22 @@ } } +/** + * -[HBPreferencesController(Private) toolbarItemWithIdentifier:label:image:] + * + * Shared code for creating the NSToolbarItems for the Preferences toolbar. + * + */ +- (NSToolbarItem *)toolbarItemWithIdentifier: (NSString *)identifier + label: (NSString *)label + image: (NSImage *)image +{ + NSToolbarItem *item = [[NSToolbarItem alloc] initWithItemIdentifier:identifier]; + [item setLabel:label]; + [item setImage:image]; + [item setAction:@selector(setPrefView:)]; + [item setAutovalidates:NO]; + return [item autorelease]; +} + @end