rendered paste bodyIndex: macosx/Controller.mm===================================================================--- macosx/Controller.mm (revision 741)+++ macosx/Controller.mm (working copy)@@ -44,6 +44,7 @@ static NSString* ShowQueueIdentifier = @"Show Queue Item Identifier"; static NSString* AddToQueueIdentifier = @"Add to Queue Item Identifier"; static NSString* DebugOutputIdentifier = @"Debug Output Item Identifier";+static NSString* ChooseSourceIdentifier = @"Choose Source Item Identifier"; /******************************* * HBController implementation *@@ -401,6 +402,21 @@ [toolbarItem setTarget: self]; [toolbarItem setAction: @selector(showDebugOutputPanel:)]; + } else if ([itemIdent isEqual: ChooseSourceIdentifier]) {+ toolbarItem = [[[NSToolbarItem alloc] initWithItemIdentifier: itemIdent] autorelease];++ // Set the text label to be displayed in the toolbar and customization palette + [toolbarItem setLabel: @"Source"];+ [toolbarItem setPaletteLabel: @"Source"];+ + // Set up a reasonable tooltip, and image Note, these aren't localized, but you will likely want to localize many of the item's properties + [toolbarItem setToolTip: @"Choose Video Source"];+ [toolbarItem setImage: [NSImage imageNamed: @"Disc"]];+ + // Tell the item what message to send when it is clicked + [toolbarItem setTarget: self];+ [toolbarItem setAction: @selector(ShowScanPanel:)];+ } else { //itemIdent refered to a toolbar item that is not provide or supported by us or cocoa //Returning nil will inform the toolbar this kind of item is not supported @@ -418,7 +434,7 @@ // Required delegate method: Returns the ordered list of items to be shown in the toolbar by default // If during the toolbar's initialization, no overriding values are found in the user defaults, or if the // user chooses to revert to the default items this set will be used - return [NSArray arrayWithObjects: StartEncodingIdentifier, PauseEncodingIdentifier, NSToolbarSeparatorItemIdentifier,+ return [NSArray arrayWithObjects: ChooseSourceIdentifier, NSToolbarSeparatorItemIdentifier, StartEncodingIdentifier, PauseEncodingIdentifier, AddToQueueIdentifier, ShowQueueIdentifier, NSToolbarFlexibleSpaceItemIdentifier, NSToolbarSpaceItemIdentifier, DebugOutputIdentifier, ToggleDrawerIdentifier, nil];@@ -430,7 +446,7 @@ // The set of allowed items is used to construct the customization palette return [NSArray arrayWithObjects: StartEncodingIdentifier, PauseEncodingIdentifier, AddToQueueIdentifier, ShowQueueIdentifier, DebugOutputIdentifier, NSToolbarCustomizeToolbarItemIdentifier,- NSToolbarFlexibleSpaceItemIdentifier, NSToolbarSpaceItemIdentifier,+ NSToolbarFlexibleSpaceItemIdentifier, NSToolbarSpaceItemIdentifier, NSToolbarSpaceItemIdentifier, ChooseSourceIdentifier, NSToolbarSeparatorItemIdentifier,ToggleDrawerIdentifier, nil]; } @@ -480,6 +496,9 @@ if ([[toolbarItem itemIdentifier] isEqual: AddToQueueIdentifier]) { enable = AddToQueueButtonEnabled; }+ if ([[toolbarItem itemIdentifier] isEqual: ChooseSourceIdentifier]) {+ enable = YES;+ } return enable; } Index: macosx/HandBrake.xcodeproj/project.pbxproj===================================================================--- macosx/HandBrake.xcodeproj/project.pbxproj (revision 741)+++ macosx/HandBrake.xcodeproj/project.pbxproj (working copy)@@ -112,6 +112,7 @@ 593034EC0BBA39A100172349 /* ChapterTitles.m in Sources */ = {isa = PBXBuildFile; fileRef = 593034EA0BBA39A100172349 /* ChapterTitles.m */; }; 59CBD2370BBB44DA004A3BE3 /* parsecsv.c in Sources */ = {isa = PBXBuildFile; fileRef = 59CBD2360BBB44DA004A3BE3 /* parsecsv.c */; }; 59CBD2650BBB4D1B004A3BE3 /* ChapterTitles.m in Sources */ = {isa = PBXBuildFile; fileRef = 593034EA0BBA39A100172349 /* ChapterTitles.m */; };+ A11895AE0C582C20006F0701 /* Disc.tiff in Resources */ = {isa = PBXBuildFile; fileRef = A11895AD0C582C20006F0701 /* Disc.tiff */; }; A273E04E0C57B39A00493A45 /* Add.tiff in Resources */ = {isa = PBXBuildFile; fileRef = A273E0470C57B39A00493A45 /* Add.tiff */; }; A273E04F0C57B39A00493A45 /* Brushed Window.tiff in Resources */ = {isa = PBXBuildFile; fileRef = A273E0480C57B39A00493A45 /* Brushed Window.tiff */; }; A273E0500C57B39A00493A45 /* Drawer-List2.png in Resources */ = {isa = PBXBuildFile; fileRef = A273E0490C57B39A00493A45 /* Drawer-List2.png */; };@@ -241,6 +242,7 @@ 593034E90BBA39A100172349 /* ChapterTitles.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ChapterTitles.h; sourceTree = "<group>"; }; 593034EA0BBA39A100172349 /* ChapterTitles.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ChapterTitles.m; sourceTree = "<group>"; }; 59CBD2360BBB44DA004A3BE3 /* parsecsv.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = parsecsv.c; path = ../test/parsecsv.c; sourceTree = SOURCE_ROOT; };+ A11895AD0C582C20006F0701 /* Disc.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = Disc.tiff; sourceTree = "<group>"; }; A273E0470C57B39A00493A45 /* Add.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = Add.tiff; sourceTree = "<group>"; }; A273E0480C57B39A00493A45 /* Brushed Window.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = "Brushed Window.tiff"; sourceTree = "<group>"; }; A273E0490C57B39A00493A45 /* Drawer-List2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Drawer-List2.png"; sourceTree = "<group>"; };@@ -460,6 +462,7 @@ A273E0490C57B39A00493A45 /* Drawer-List2.png */, A273E04A0C57B39A00493A45 /* Pause.tiff */, A273E04B0C57B39A00493A45 /* Play.tiff */,+ A11895AD0C582C20006F0701 /* Disc.tiff */, A273E04C0C57B39A00493A45 /* Stop.tiff */, A273E04D0C57B39A00493A45 /* Terminal.tiff */, );@@ -640,6 +643,7 @@ A273E0520C57B39A00493A45 /* Play.tiff in Resources */, A273E0530C57B39A00493A45 /* Stop.tiff in Resources */, A273E0540C57B39A00493A45 /* Terminal.tiff in Resources */,+ A11895AE0C582C20006F0701 /* Disc.tiff in Resources */, ); runOnlyForDeploymentPostprocessing = 0; };