diff --git a/CueSheet/CueSheetDocument.h b/CueSheet/CueSheetDocument.h index cfd27d60..4cdb0a4c 100644 --- a/CueSheet/CueSheetDocument.h +++ b/CueSheet/CueSheetDocument.h @@ -23,8 +23,7 @@ @interface CueSheetDocument : NSDocument { IBOutlet NSArrayController *_trackController; - IBOutlet NSDrawer *_trackDrawer; - IBOutlet NSDrawer *_artDrawer; + IBOutlet NSPanel *_metadataPanel; IBOutlet NSTableView *_trackTable; IBOutlet NSTextField *_discNumberTextField; IBOutlet NSTextField *_discTotalTextField; @@ -67,8 +66,7 @@ - (IBAction) queryMusicBrainz:(id)sender; - (void) queryMusicBrainzNonInteractive; -- (IBAction) toggleTrackInformation:(id)sender; -- (IBAction) toggleAlbumArt:(id)sender; +- (IBAction) toggleMetadataInspectorPanel:(id)sender; - (IBAction) selectNextTrack:(id)sender; - (IBAction) selectPreviousTrack:(id)sender; @@ -101,9 +99,6 @@ - (NSImage *) albumArt; - (void) setAlbumArt:(NSImage *)albumArt; -- (NSUInteger) albumArtWidth; -- (NSUInteger) albumArtHeight; - - (NSNumber *) discNumber; - (void) setDiscNumber:(NSNumber *)discNumber; diff --git a/CueSheet/CueSheetDocument.m b/CueSheet/CueSheetDocument.m index 575d039c..3f9d44e3 100644 --- a/CueSheet/CueSheetDocument.m +++ b/CueSheet/CueSheetDocument.m @@ -102,20 +102,12 @@ - (BOOL) validateMenuItem:(NSMenuItem *)item return [_trackController canSelectNext]; else if([item action] == @selector(selectPreviousTrack:)) return [_trackController canSelectPrevious]; - else if([item action] == @selector(toggleTrackInformation:)) { - if(NSDrawerOpenState == [_trackDrawer state] || NSDrawerOpeningState == [_trackDrawer state]) - [item setTitle:NSLocalizedStringFromTable(@"Hide Metadata", @"Menus", @"")]; + else if([item action] == @selector(toggleMetadataInspectorPanel:)) { + if([_metadataPanel isVisible]) + [item setTitle:NSLocalizedStringFromTable(@"Hide Track Inspector", @"Menus", @"")]; else - [item setTitle:NSLocalizedStringFromTable(@"Show Metadata", @"Menus", @"")]; - - return YES; - } - else if([item action] == @selector(toggleAlbumArt:)) { - if(NSDrawerOpenState == [_artDrawer state] || NSDrawerOpeningState == [_artDrawer state]) - [item setTitle:NSLocalizedStringFromTable(@"Hide Album Art", @"Menus", @"")]; - else - [item setTitle:NSLocalizedStringFromTable(@"Show Album Art", @"Menus", @"")]; - + [item setTitle:NSLocalizedStringFromTable(@"Show Track Inspector", @"Menus", @"")]; + return YES; } else @@ -599,8 +591,11 @@ - (IBAction) queryMusicBrainz:(id)sender PerformMusicBrainzQuery([self discID], ^(NSArray *results) { // NSAssert(0 != matchCount, NSLocalizedStringFromTable(@"No matching discs were found.", @"Exceptions", @"")); + if(0 == [results count]) { + return; + } // If only match was found, update ourselves - if(1 == [results count]) { + else if(1 == [results count]) { NSDictionary *release = [results firstObject]; [self updateMetadataFromMusicBrainz:release]; NSString *releaseID = [release objectForKey:@"albumId"]; @@ -643,8 +638,16 @@ - (void) queryMusicBrainzNonInteractive }); } -- (IBAction) toggleTrackInformation:(id)sender { [_trackDrawer toggle:sender]; } -- (IBAction) toggleAlbumArt:(id)sender { [_artDrawer toggle:sender]; } +- (IBAction) toggleMetadataInspectorPanel:(id)sender +{ + if(![_metadataPanel isVisible]) { + [_metadataPanel orderFront:sender]; + } + else { + [_metadataPanel orderOut:sender]; + } +} + - (IBAction) selectNextTrack:(id)sender { [_trackController selectNext:sender]; } - (IBAction) selectPreviousTrack:(id)sender { [_trackController selectPrevious:sender]; } @@ -698,8 +701,6 @@ - (NSString *) composer { return [[_composer retain] autorelease]; } - (NSString *) comment { return [[_comment retain] autorelease]; } - (NSImage *) albumArt { return [[_albumArt retain] autorelease]; } -- (NSUInteger) albumArtWidth { return (NSUInteger)[[self albumArt] size].width; } -- (NSUInteger) albumArtHeight { return (NSUInteger)[[self albumArt] size].height; } - (NSNumber *) discNumber { return [[_discNumber retain] autorelease]; } - (NSNumber *) discTotal { return [[_discTotal retain] autorelease]; } diff --git a/CueSheet/CueSheetDocumentToolbar.m b/CueSheet/CueSheetDocumentToolbar.m index a972e337..f21e400e 100644 --- a/CueSheet/CueSheetDocumentToolbar.m +++ b/CueSheet/CueSheetDocumentToolbar.m @@ -19,8 +19,7 @@ #import "CueSheetDocumentToolbar.h" static NSString *EncodeToolbarItemIdentifier = @"org.sbooth.Max.CueSheetDocument.Toolbar.Encode"; -static NSString *TrackInfoToolbarItemIdentifier = @"org.sbooth.Max.CueSheetDocument.Toolbar.TrackInfo"; -static NSString *AlbumArtToolbarItemIdentifier = @"org.sbooth.Max.CueSheetDocument.Toolbar.AlbumArt"; +static NSString *MetadataToolbarItemIdentifier = @"org.sbooth.Max.CueSheetDocument.Toolbar.Metadata"; static NSString *SelectNextTrackToolbarItemIdentifier = @"org.sbooth.Max.CueSheetDocument.Toolbar.SelectNextTrack"; static NSString *SelectPreviousTrackToolbarItemIdentifier = @"org.sbooth.Max.CueSheetDocument.Toolbar.SelectPreviousTrack"; static NSString *QueryMusicBrainzToolbarItemIdentifier = @"org.sbooth.Max.CueSheetDocument.Toolbar.QueryMusicBrainz"; @@ -75,27 +74,16 @@ - (NSToolbarItem *) toolbar:(NSToolbar *)toolbar itemForItemIdentifier:(NSString [toolbarItem setTarget:_document]; [toolbarItem setAction:@selector(encode:)]; } - else if([itemIdentifier isEqualToString:TrackInfoToolbarItemIdentifier]) { + else if([itemIdentifier isEqualToString:MetadataToolbarItemIdentifier]) { toolbarItem = [[[NSToolbarItem alloc] initWithItemIdentifier:itemIdentifier] autorelease]; [toolbarItem setLabel:NSLocalizedStringFromTable(@"Metadata", @"CueSheet", @"")]; [toolbarItem setPaletteLabel:NSLocalizedStringFromTable(@"Metadata", @"CueSheet", @"")]; [toolbarItem setToolTip:NSLocalizedStringFromTable(@"Show or hide detailed track metadata", @"CueSheet", @"")]; - [toolbarItem setImage:[NSImage imageNamed:@"TrackInfoToolbarImage"]]; + [toolbarItem setImage:[NSImage imageNamed:@"NSInfo"]]; [toolbarItem setTarget:_document]; - [toolbarItem setAction:@selector(toggleTrackInformation:)]; - } - else if([itemIdentifier isEqualToString:AlbumArtToolbarItemIdentifier]) { - toolbarItem = [[[NSToolbarItem alloc] initWithItemIdentifier:itemIdentifier] autorelease]; - - [toolbarItem setLabel:NSLocalizedStringFromTable(@"Album Art", @"CompactDisc", @"")]; - [toolbarItem setPaletteLabel:NSLocalizedStringFromTable(@"Album Art", @"CompactDisc", @"")]; - [toolbarItem setToolTip:NSLocalizedStringFromTable(@"Show or hide the artwork associated with this album", @"CompactDisc", @"")]; - [toolbarItem setImage:[NSImage imageNamed:@"AlbumArtToolbarImage"]]; - - [toolbarItem setTarget:_document]; - [toolbarItem setAction:@selector(toggleAlbumArt:)]; + [toolbarItem setAction:@selector(toggleMetadataInspectorPanel:)]; } else if([itemIdentifier isEqualToString:SelectNextTrackToolbarItemIdentifier]) { toolbarItem = [[[NSToolbarItem alloc] initWithItemIdentifier:itemIdentifier] autorelease]; @@ -103,7 +91,7 @@ - (NSToolbarItem *) toolbar:(NSToolbar *)toolbar itemForItemIdentifier:(NSString [toolbarItem setLabel:NSLocalizedStringFromTable(@"Next", @"CompactDisc", @"")]; [toolbarItem setPaletteLabel:NSLocalizedStringFromTable(@"Next", @"CompactDisc", @"")]; [toolbarItem setToolTip:NSLocalizedStringFromTable(@"Select the next track for editing", @"CompactDisc", @"")]; - [toolbarItem setImage:[NSImage imageNamed:@"SelectNextTrackToolbarImage"]]; + [toolbarItem setImage:[NSImage imageNamed:@"NSGoRightTemplate"]]; [toolbarItem setTarget:_document]; [toolbarItem setAction:@selector(selectNextTrack:)]; @@ -114,7 +102,7 @@ - (NSToolbarItem *) toolbar:(NSToolbar *)toolbar itemForItemIdentifier:(NSString [toolbarItem setLabel:NSLocalizedStringFromTable(@"Previous", @"CompactDisc", @"")]; [toolbarItem setPaletteLabel:NSLocalizedStringFromTable(@"Previous", @"CompactDisc", @"")]; [toolbarItem setToolTip:NSLocalizedStringFromTable(@"Select the previous track for editing", @"CompactDisc", @"")]; - [toolbarItem setImage:[NSImage imageNamed:@"SelectPreviousTrackToolbarImage"]]; + [toolbarItem setImage:[NSImage imageNamed:@"NSGoLeftTemplate"]]; [toolbarItem setTarget:_document]; [toolbarItem setAction:@selector(selectPreviousTrack:)]; @@ -139,7 +127,7 @@ - (NSToolbarItem *) toolbar:(NSToolbar *)toolbar itemForItemIdentifier:(NSString - (NSArray *) toolbarDefaultItemIdentifiers:(NSToolbar *)toolbar { return [NSArray arrayWithObjects:EncodeToolbarItemIdentifier, - TrackInfoToolbarItemIdentifier, AlbumArtToolbarItemIdentifier, + MetadataToolbarItemIdentifier, QueryMusicBrainzToolbarItemIdentifier, nil]; } @@ -147,7 +135,7 @@ - (NSArray *) toolbarDefaultItemIdentifiers:(NSToolbar *)toolbar - (NSArray *) toolbarAllowedItemIdentifiers:(NSToolbar *) toolbar { return [NSArray arrayWithObjects:EncodeToolbarItemIdentifier, - TrackInfoToolbarItemIdentifier, AlbumArtToolbarItemIdentifier, + MetadataToolbarItemIdentifier, SelectPreviousTrackToolbarItemIdentifier, SelectNextTrackToolbarItemIdentifier, QueryMusicBrainzToolbarItemIdentifier, NSToolbarSeparatorItemIdentifier, NSToolbarSpaceItemIdentifier, NSToolbarFlexibleSpaceItemIdentifier, diff --git a/Dutch.lproj/CueSheetDocument.xib b/Dutch.lproj/CueSheetDocument.xib index c51f328c..747276f5 100644 --- a/Dutch.lproj/CueSheetDocument.xib +++ b/Dutch.lproj/CueSheetDocument.xib @@ -8,16 +8,16 @@ - + - + - + @@ -185,9 +185,9 @@ - + - + @@ -536,264 +536,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Onbekend - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Zelfde als album - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Zelfde als album - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Zelfde als album - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Zelfde als album - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Geen gespecificeerd - - - - - - - - - @@ -815,28 +557,285 @@ - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ImageDimensionsValueTransformer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Onbekend + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Zelfde als album + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Zelfde als album + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Zelfde als album + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Zelfde als album + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Geen gespecificeerd + + + + + + + + + + + diff --git a/English.lproj/CueSheetDocument.xib b/English.lproj/CueSheetDocument.xib index c42a1e54..ad47be38 100644 --- a/English.lproj/CueSheetDocument.xib +++ b/English.lproj/CueSheetDocument.xib @@ -8,16 +8,16 @@ - + - + - + @@ -140,9 +140,9 @@ - + - + @@ -461,249 +461,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Same As Album - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Same As Album - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Same As Album - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Same As Album - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -725,28 +482,270 @@ - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ImageDimensionsValueTransformer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Unknown + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Same As Album + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Same As Album + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Same As Album + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Same As Album + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/French.lproj/CueSheetDocument.xib b/French.lproj/CueSheetDocument.xib index fb352407..80b96ac3 100644 --- a/French.lproj/CueSheetDocument.xib +++ b/French.lproj/CueSheetDocument.xib @@ -8,16 +8,16 @@ - + - + - + @@ -185,9 +185,9 @@ - + - + @@ -536,264 +536,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Inconnu - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Même qu'Album - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Même qu'Album - - - - - - - - - - - - - - - - - - - - - - - - - - - - Même qu'Album - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Même qu'Album - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Aucun Specifié - - - - - - - - - @@ -815,28 +557,282 @@ - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + ImageDimensionsValueTransformer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Inconnu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Même qu'Album + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Même qu'Album + + + + + + + + + + + + + + + + + + + + + + + + + + + + Même qu'Album + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Même qu'Album + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Aucun Specifié + + + + + + + + + + + diff --git a/German.lproj/CueSheetDocument.xib b/German.lproj/CueSheetDocument.xib index a9c718bd..55b82aaf 100644 --- a/German.lproj/CueSheetDocument.xib +++ b/German.lproj/CueSheetDocument.xib @@ -8,16 +8,16 @@ - + - + - + @@ -185,9 +185,9 @@ - + - + @@ -536,264 +536,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Unbekannter - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Gleich wie Album - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Gleich wie Album - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Gleich wie Album - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Gleich wie Album - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Nicht festgelegt - - - - - - - - - @@ -815,28 +557,285 @@ - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ImageDimensionsValueTransformer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Unbekannter + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gleich wie Album + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gleich wie Album + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gleich wie Album + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gleich wie Album + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Nicht festgelegt + + + + + + + + + + + diff --git a/Italian.lproj/CueSheetDocument.xib b/Italian.lproj/CueSheetDocument.xib index e1448b91..a010f416 100644 --- a/Italian.lproj/CueSheetDocument.xib +++ b/Italian.lproj/CueSheetDocument.xib @@ -8,16 +8,16 @@ - + - + - + @@ -140,9 +140,9 @@ - + - + @@ -461,249 +461,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Same As Album - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Same As Album - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Same As Album - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Same As Album - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -725,28 +482,270 @@ - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ImageDimensionsValueTransformer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Unknown + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Same As Album + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Same As Album + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Same As Album + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Same As Album + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Max.xcodeproj/project.pbxproj b/Max.xcodeproj/project.pbxproj index 606b5aa7..855f5b0f 100644 --- a/Max.xcodeproj/project.pbxproj +++ b/Max.xcodeproj/project.pbxproj @@ -1351,12 +1351,12 @@ 8C9451350A12E4D700C8DCAE /* CompactDisc */ = { isa = PBXGroup; children = ( - 8C9451380A12E4D700C8DCAE /* CompactDisc.h */, - 8C9451390A12E4D700C8DCAE /* CompactDisc.m */, 8C94513A0A12E4D700C8DCAE /* CompactDiscDocument.h */, 8C94513B0A12E4D700C8DCAE /* CompactDiscDocument.m */, 8C94513C0A12E4D700C8DCAE /* CompactDiscDocumentToolbar.h */, 8C94513D0A12E4D700C8DCAE /* CompactDiscDocumentToolbar.m */, + 8C9451380A12E4D700C8DCAE /* CompactDisc.h */, + 8C9451390A12E4D700C8DCAE /* CompactDisc.m */, 8C9451400A12E4D700C8DCAE /* Track.h */, 8C9451410A12E4D700C8DCAE /* Track.m */, ); diff --git a/Spanish.lproj/CueSheetDocument.xib b/Spanish.lproj/CueSheetDocument.xib index cd73700b..8cab00be 100644 --- a/Spanish.lproj/CueSheetDocument.xib +++ b/Spanish.lproj/CueSheetDocument.xib @@ -8,16 +8,16 @@ - + - + - + @@ -140,9 +140,9 @@ - + - + @@ -461,249 +461,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Same As Album - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Same As Album - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Same As Album - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Same As Album - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -725,28 +482,270 @@ - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ImageDimensionsValueTransformer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Unknown + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Same As Album + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Same As Album + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Same As Album + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Same As Album + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +