Added optional colorful dock icons by tuurngait; Imported the Growl configuration page for disabling notifications if Growl.app is not installed
|
@ -14,6 +14,8 @@
|
|||
NSImage *dockImage;
|
||||
|
||||
IBOutlet PlaybackController *playbackController;
|
||||
|
||||
NSInteger lastPlaybackStatus;
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
|
@ -16,39 +16,76 @@ static NSString *DockIconPlaybackStatusObservationContext = @"DockIconPlaybackSt
|
|||
- (void)startObserving
|
||||
{
|
||||
[playbackController addObserver:self forKeyPath:@"playbackStatus" options:(NSKeyValueObservingOptionNew | NSKeyValueObservingOptionInitial) context:DockIconPlaybackStatusObservationContext];
|
||||
[[NSUserDefaultsController sharedUserDefaultsController] addObserver:self forKeyPath:@"values.colorfulDockIcons" options:0 context:DockIconPlaybackStatusObservationContext];
|
||||
}
|
||||
|
||||
- (void)stopObserving
|
||||
{
|
||||
[playbackController removeObserver:self forKeyPath:@"playbackStatus"];
|
||||
[[NSUserDefaultsController sharedUserDefaultsController] removeObserver:self forKeyPath:@"values.colorfulDockIcons"];
|
||||
}
|
||||
|
||||
static NSString *getBadgeName(NSString *baseName, BOOL colorfulIcons)
|
||||
{
|
||||
if (colorfulIcons)
|
||||
{
|
||||
return [baseName stringByAppendingString:@"Colorful"];
|
||||
}
|
||||
else
|
||||
{
|
||||
return baseName;
|
||||
}
|
||||
}
|
||||
|
||||
- (void)refreshDockIcon:(NSInteger)playbackStatus
|
||||
{
|
||||
if ( playbackStatus < 0 )
|
||||
playbackStatus = lastPlaybackStatus;
|
||||
else
|
||||
lastPlaybackStatus = playbackStatus;
|
||||
|
||||
NSImage *badgeImage = nil;
|
||||
|
||||
BOOL colorfulIcons = [[NSUserDefaults standardUserDefaults] boolForKey:@"colorfulDockIcons"];
|
||||
|
||||
if (playbackStatus == kCogStatusPlaying) {
|
||||
badgeImage = [NSImage imageNamed:getBadgeName(@"playDockBadge", colorfulIcons)];
|
||||
}
|
||||
else if (playbackStatus == kCogStatusPaused) {
|
||||
badgeImage = [NSImage imageNamed:getBadgeName(@"pauseDockBadge", colorfulIcons)];
|
||||
}
|
||||
else {
|
||||
badgeImage = [NSImage imageNamed:getBadgeName(@"stopDockBadge", colorfulIcons)];
|
||||
}
|
||||
|
||||
NSSize badgeSize = [badgeImage size];
|
||||
|
||||
NSImage *newDockImage = [dockImage copy];
|
||||
[newDockImage lockFocus];
|
||||
|
||||
[badgeImage drawInRect:NSMakeRect(0, 0, 128, 128)
|
||||
fromRect:NSMakeRect(0, 0, badgeSize.width, badgeSize.height)
|
||||
operation:NSCompositeSourceOver fraction:1.0];
|
||||
|
||||
[newDockImage unlockFocus];
|
||||
[NSApp setApplicationIconImage:newDockImage];
|
||||
[newDockImage release];
|
||||
}
|
||||
|
||||
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
|
||||
{
|
||||
if ([DockIconPlaybackStatusObservationContext isEqual:context])
|
||||
{
|
||||
NSInteger playbackStatus = [[change objectForKey:NSKeyValueChangeNewKey] integerValue];
|
||||
|
||||
NSImage *badgeImage = nil;
|
||||
|
||||
if (playbackStatus == kCogStatusPlaying) {
|
||||
badgeImage = [NSImage imageNamed:@"playDockBadge"];
|
||||
}
|
||||
else if (playbackStatus == kCogStatusPaused) {
|
||||
badgeImage = [NSImage imageNamed:@"pauseDockBadge"];
|
||||
}
|
||||
else {
|
||||
badgeImage = [NSImage imageNamed:@"stopDockBadge"];
|
||||
}
|
||||
|
||||
NSSize badgeSize = [badgeImage size];
|
||||
|
||||
NSImage *newDockImage = [dockImage copy];
|
||||
[newDockImage lockFocus];
|
||||
[badgeImage drawInRect:NSMakeRect(0, 0, 128, 128) fromRect:NSMakeRect(0, 0, badgeSize.width, badgeSize.height) operation:NSCompositeSourceOver fraction:1.0];
|
||||
[newDockImage unlockFocus];
|
||||
[NSApp setApplicationIconImage:newDockImage];
|
||||
[newDockImage release];
|
||||
if ([keyPath isEqualToString:@"playbackStatus"])
|
||||
{
|
||||
NSInteger playbackStatus = [[change objectForKey:NSKeyValueChangeNewKey] integerValue];
|
||||
|
||||
[self refreshDockIcon:playbackStatus];
|
||||
}
|
||||
else if ([keyPath isEqualToString:@"values.colorfulDockIcons"])
|
||||
{
|
||||
[self refreshDockIcon:-1];
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -94,6 +94,26 @@
|
|||
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(playbackDidPause:) name:CogPlaybackDidPauseNotficiation object:nil];
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(playbackDidResume:) name:CogPlaybackDidResumeNotficiation object:nil];
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(playbackDidStop:) name:CogPlaybackDidStopNotficiation object:nil];
|
||||
|
||||
[[NSUserDefaultsController sharedUserDefaultsController] addObserver:self forKeyPath:@"values.enableGrowlMist" options:0 context:nil];
|
||||
|
||||
[self toggleGrowlMist];
|
||||
}
|
||||
|
||||
- (void) toggleGrowlMist
|
||||
{
|
||||
BOOL enableMist = [[NSUserDefaults standardUserDefaults] boolForKey:@"enableGrowlMist"];
|
||||
[GrowlApplicationBridge setShouldUseBuiltInNotifications:enableMist];
|
||||
}
|
||||
|
||||
- (void) observeValueForKeyPath:(NSString *)keyPath
|
||||
ofObject:(id)object
|
||||
change:(NSDictionary *)change
|
||||
context:(void *)context
|
||||
{
|
||||
if ([keyPath isEqualToString:@"values.enableGrowlMist"]) {
|
||||
[self toggleGrowlMist];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)playbackDidBegin:(NSNotification *)notification
|
||||
|
|
|
@ -87,9 +87,6 @@
|
|||
17A8F6860D6A7FCA0095DA13 /* repeat_none.png in Resources */ = {isa = PBXBuildFile; fileRef = 17A8F6830D6A7FCA0095DA13 /* repeat_none.png */; };
|
||||
17A8F6870D6A7FCA0095DA13 /* repeat_one.png in Resources */ = {isa = PBXBuildFile; fileRef = 17A8F6840D6A7FCA0095DA13 /* repeat_one.png */; };
|
||||
17A8F71A0D6A89730095DA13 /* repeat_album.png in Resources */ = {isa = PBXBuildFile; fileRef = 17A8F7190D6A89730095DA13 /* repeat_album.png */; };
|
||||
17B7CF5C0F5A05EE00A47027 /* pauseBadge.png in Resources */ = {isa = PBXBuildFile; fileRef = 17B7CF590F5A05EE00A47027 /* pauseBadge.png */; };
|
||||
17B7CF5D0F5A05EE00A47027 /* playBadge.png in Resources */ = {isa = PBXBuildFile; fileRef = 17B7CF5A0F5A05EE00A47027 /* playBadge.png */; };
|
||||
17B7CF5E0F5A05EE00A47027 /* stopBadge.png in Resources */ = {isa = PBXBuildFile; fileRef = 17B7CF5B0F5A05EE00A47027 /* stopBadge.png */; };
|
||||
17BB5CED0B8A86010009ACB1 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 17BB5CEC0B8A86010009ACB1 /* AudioToolbox.framework */; };
|
||||
17BB5CF90B8A86350009ACB1 /* AudioUnit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 17BB5CF60B8A86350009ACB1 /* AudioUnit.framework */; };
|
||||
17BB5CFA0B8A86350009ACB1 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 17BB5CF70B8A86350009ACB1 /* CoreAudio.framework */; };
|
||||
|
@ -177,6 +174,9 @@
|
|||
8384916C18083EAB00E7332D /* stopTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 8384915618083EAB00E7332D /* stopTemplate.pdf */; };
|
||||
8384916D18083EAB00E7332D /* volume1Template.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 8384915718083EAB00E7332D /* volume1Template.pdf */; };
|
||||
8384916E18083EAB00E7332D /* volume3Template.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 8384915818083EAB00E7332D /* volume3Template.pdf */; };
|
||||
83849172180843B200E7332D /* pauseDockBadgeColorful.png in Resources */ = {isa = PBXBuildFile; fileRef = 8384916F180843B200E7332D /* pauseDockBadgeColorful.png */; };
|
||||
83849173180843B200E7332D /* playDockBadgeColorful.png in Resources */ = {isa = PBXBuildFile; fileRef = 83849170180843B200E7332D /* playDockBadgeColorful.png */; };
|
||||
83849174180843B200E7332D /* stopDockBadgeColorful.png in Resources */ = {isa = PBXBuildFile; fileRef = 83849171180843B200E7332D /* stopDockBadgeColorful.png */; };
|
||||
8399D4E21805A55000B503B1 /* XmlContainer.m in Sources */ = {isa = PBXBuildFile; fileRef = 8399D4E01805A55000B503B1 /* XmlContainer.m */; };
|
||||
83BCB8DE17FC971300760340 /* FFMPEG.bundle in CopyFiles */ = {isa = PBXBuildFile; fileRef = B09E94350D747F7B0064F138 /* FFMPEG.bundle */; };
|
||||
8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; };
|
||||
|
@ -675,9 +675,6 @@
|
|||
17A8F6830D6A7FCA0095DA13 /* repeat_none.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = repeat_none.png; path = Images/repeat_none.png; sourceTree = "<group>"; };
|
||||
17A8F6840D6A7FCA0095DA13 /* repeat_one.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = repeat_one.png; path = Images/repeat_one.png; sourceTree = "<group>"; };
|
||||
17A8F7190D6A89730095DA13 /* repeat_album.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = repeat_album.png; path = Images/repeat_album.png; sourceTree = "<group>"; };
|
||||
17B7CF590F5A05EE00A47027 /* pauseBadge.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = pauseBadge.png; path = Images/pauseBadge.png; sourceTree = "<group>"; };
|
||||
17B7CF5A0F5A05EE00A47027 /* playBadge.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = playBadge.png; path = Images/playBadge.png; sourceTree = "<group>"; };
|
||||
17B7CF5B0F5A05EE00A47027 /* stopBadge.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = stopBadge.png; path = Images/stopBadge.png; sourceTree = "<group>"; };
|
||||
17BB5CEC0B8A86010009ACB1 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /System/Library/Frameworks/AudioToolbox.framework; sourceTree = "<absolute>"; };
|
||||
17BB5CF60B8A86350009ACB1 /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = /System/Library/Frameworks/AudioUnit.framework; sourceTree = "<absolute>"; };
|
||||
17BB5CF70B8A86350009ACB1 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = "<absolute>"; };
|
||||
|
@ -797,6 +794,9 @@
|
|||
8384915618083EAB00E7332D /* stopTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; name = stopTemplate.pdf; path = Images/stopTemplate.pdf; sourceTree = "<group>"; };
|
||||
8384915718083EAB00E7332D /* volume1Template.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; name = volume1Template.pdf; path = Images/volume1Template.pdf; sourceTree = "<group>"; };
|
||||
8384915818083EAB00E7332D /* volume3Template.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; name = volume3Template.pdf; path = Images/volume3Template.pdf; sourceTree = "<group>"; };
|
||||
8384916F180843B200E7332D /* pauseDockBadgeColorful.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = pauseDockBadgeColorful.png; path = Images/pauseDockBadgeColorful.png; sourceTree = "<group>"; };
|
||||
83849170180843B200E7332D /* playDockBadgeColorful.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = playDockBadgeColorful.png; path = Images/playDockBadgeColorful.png; sourceTree = "<group>"; };
|
||||
83849171180843B200E7332D /* stopDockBadgeColorful.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = stopDockBadgeColorful.png; path = Images/stopDockBadgeColorful.png; sourceTree = "<group>"; };
|
||||
8399D4E01805A55000B503B1 /* XmlContainer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XmlContainer.m; sourceTree = "<group>"; };
|
||||
8399D4E11805A55000B503B1 /* XmlContainer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XmlContainer.h; sourceTree = "<group>"; };
|
||||
8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
|
||||
|
@ -1014,6 +1014,9 @@
|
|||
177EC02D0B8BC2E60000BC8C /* Images */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8384916F180843B200E7332D /* pauseDockBadgeColorful.png */,
|
||||
83849170180843B200E7332D /* playDockBadgeColorful.png */,
|
||||
83849171180843B200E7332D /* stopDockBadgeColorful.png */,
|
||||
8384914318083EAB00E7332D /* infoTemplate.pdf */,
|
||||
8384914418083EAB00E7332D /* missingArt@2x.png */,
|
||||
8384914518083EAB00E7332D /* navigatorTemplate.pdf */,
|
||||
|
@ -1038,9 +1041,6 @@
|
|||
8384915818083EAB00E7332D /* volume3Template.pdf */,
|
||||
8384913B1808217300E7332D /* randomize.png */,
|
||||
1778D3AF0F645A190037E7A0 /* missingArt.png */,
|
||||
17B7CF590F5A05EE00A47027 /* pauseBadge.png */,
|
||||
17B7CF5A0F5A05EE00A47027 /* playBadge.png */,
|
||||
17B7CF5B0F5A05EE00A47027 /* stopBadge.png */,
|
||||
B09E96620D74A7BC0064F138 /* stop_current.png */,
|
||||
17A8F7190D6A89730095DA13 /* repeat_album.png */,
|
||||
17A8F6820D6A7FCA0095DA13 /* repeat_all.png */,
|
||||
|
@ -1891,9 +1891,11 @@
|
|||
177EC04D0B8BC2FF0000BC8C /* pause.png in Resources */,
|
||||
177EC04F0B8BC2FF0000BC8C /* play.png in Resources */,
|
||||
177EC0510B8BC2FF0000BC8C /* previous.png in Resources */,
|
||||
83849174180843B200E7332D /* stopDockBadgeColorful.png in Resources */,
|
||||
177EC0580B8BC2FF0000BC8C /* volume_high.png in Resources */,
|
||||
177EC0590B8BC2FF0000BC8C /* volume_low.png in Resources */,
|
||||
17E41E230C130EE200AC744D /* Help in Resources */,
|
||||
83849173180843B200E7332D /* playDockBadgeColorful.png in Resources */,
|
||||
8384916418083EAB00E7332D /* repeatModeAllTemplate.pdf in Resources */,
|
||||
1766C8920B912FB4004A7AE4 /* files_off.png in Resources */,
|
||||
1766C8930B912FB4004A7AE4 /* files_on.png in Resources */,
|
||||
|
@ -1942,6 +1944,7 @@
|
|||
17342ABF0D5FD36400E8D854 /* OpenURLPanel.xib in Resources */,
|
||||
17211A7E0D68B7C500911CA9 /* FileTree.xib in Resources */,
|
||||
17A8F6850D6A7FCA0095DA13 /* repeat_all.png in Resources */,
|
||||
83849172180843B200E7332D /* pauseDockBadgeColorful.png in Resources */,
|
||||
17A8F6860D6A7FCA0095DA13 /* repeat_none.png in Resources */,
|
||||
8384916318083EAB00E7332D /* repeatModeAlbumTemplate.pdf in Resources */,
|
||||
17A8F6870D6A7FCA0095DA13 /* repeat_one.png in Resources */,
|
||||
|
@ -1949,9 +1952,6 @@
|
|||
B09E96630D74A7BC0064F138 /* stop_current.png in Resources */,
|
||||
8384916B18083EAB00E7332D /* stopDockBadge.png in Resources */,
|
||||
8384916118083EAB00E7332D /* previousTemplate.pdf in Resources */,
|
||||
17B7CF5C0F5A05EE00A47027 /* pauseBadge.png in Resources */,
|
||||
17B7CF5D0F5A05EE00A47027 /* playBadge.png in Resources */,
|
||||
17B7CF5E0F5A05EE00A47027 /* stopBadge.png in Resources */,
|
||||
8384916A18083EAB00E7332D /* stop.png in Resources */,
|
||||
178456C30F6320B5007E8021 /* SpotlightPanel.xib in Resources */,
|
||||
17D1B0D20F6320EA00694C57 /* InfoInspector.xib in Resources */,
|
||||
|
|
Before Width: | Height: | Size: 8.1 KiB |
After Width: | Height: | Size: 143 KiB |
Before Width: | Height: | Size: 9.6 KiB |
After Width: | Height: | Size: 161 KiB |
Before Width: | Height: | Size: 7.8 KiB |
After Width: | Height: | Size: 157 KiB |
|
@ -10,6 +10,8 @@
|
|||
"Updates" = "Updates";
|
||||
"Last.fm" = "Last.fm";
|
||||
"Playlist" = "Playlist";
|
||||
"Growl" = "Growl";
|
||||
"Appearance" = "Appearance";
|
||||
|
||||
"Press Key..." = "Press Key...";
|
||||
|
||||
|
|
|
@ -1,12 +1,14 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="4510" systemVersion="12F37" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none">
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="4510" systemVersion="12F45" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none">
|
||||
<dependencies>
|
||||
<deployment version="1050" defaultVersion="1060" identifier="macosx"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="4510"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<customObject id="-2" userLabel="File's Owner" customClass="PrefPaneController">
|
||||
<customObject id="-2" userLabel="File's Owner" customClass="GeneralPreferencesPlugin">
|
||||
<connections>
|
||||
<outlet property="appearanceView" destination="CgN-sy-RmM" id="wvB-aW-Gfx"/>
|
||||
<outlet property="growlView" destination="U4w-jw-ca5" id="IUJ-gB-jwT"/>
|
||||
<outlet property="hotKeyPane" destination="6" id="14"/>
|
||||
<outlet property="outputPane" destination="57" id="75"/>
|
||||
<outlet property="playlistView" destination="231" id="244"/>
|
||||
|
@ -442,5 +444,39 @@
|
|||
<string>preference</string>
|
||||
</declaredKeys>
|
||||
</arrayController>
|
||||
<customView id="U4w-jw-ca5" userLabel="GrowlView">
|
||||
<rect key="frame" x="0.0" y="0.0" width="432" height="54"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<button id="njn-Xl-9k9">
|
||||
<rect key="frame" x="18" y="18" width="329" height="18"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<buttonCell key="cell" type="check" title="Enable notifications if Growl isn't installed" bezelStyle="regularSquare" imagePosition="left" alignment="left" inset="2" id="hqT-nY-NoU">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
<connections>
|
||||
<binding destination="52" name="value" keyPath="values.enableGrowlMist" id="bFi-IF-5sw"/>
|
||||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
</customView>
|
||||
<customView id="CgN-sy-RmM" userLabel="AppearanceView">
|
||||
<rect key="frame" x="0.0" y="0.0" width="432" height="54"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<button id="haX-dq-OIe">
|
||||
<rect key="frame" x="18" y="18" width="329" height="18"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<buttonCell key="cell" type="check" title="Colorful dock icons" bezelStyle="regularSquare" imagePosition="left" alignment="left" inset="2" id="GdX-5e-NeU">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
<connections>
|
||||
<binding destination="52" name="value" keyPath="values.colorfulDockIcons" id="NZt-v6-8iW"/>
|
||||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
</customView>
|
||||
</objects>
|
||||
</document>
|
||||
</document>
|
|
@ -19,6 +19,8 @@
|
|||
17E41DB80C130AA500AC744D /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 17E41DB70C130AA500AC744D /* Localizable.strings */; };
|
||||
17E78A7E0D68BE3C005C5A59 /* file_tree.png in Resources */ = {isa = PBXBuildFile; fileRef = 17E78A7D0D68BE3C005C5A59 /* file_tree.png */; };
|
||||
17E78B6A0D68C1E3005C5A59 /* Preferences.xib in Resources */ = {isa = PBXBuildFile; fileRef = 17E78B680D68C1E3005C5A59 /* Preferences.xib */; };
|
||||
8384917718084D9F00E7332D /* appearance.png in Resources */ = {isa = PBXBuildFile; fileRef = 8384917518084D9F00E7332D /* appearance.png */; };
|
||||
8384917818084D9F00E7332D /* growl.png in Resources */ = {isa = PBXBuildFile; fileRef = 8384917618084D9F00E7332D /* growl.png */; };
|
||||
83EF495F17FBC96A00642E3C /* VolumeBehaviorArrayController.m in Sources */ = {isa = PBXBuildFile; fileRef = 83EF495E17FBC96A00642E3C /* VolumeBehaviorArrayController.m */; };
|
||||
8D5B49B4048680CD000E48DA /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */; };
|
||||
8E07AA880AAC8EA200A4B32F /* HotKeyPane.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E07AA810AAC8EA200A4B32F /* HotKeyPane.m */; };
|
||||
|
@ -55,6 +57,8 @@
|
|||
17E78B690D68C1E3005C5A59 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/Preferences.xib; sourceTree = "<group>"; };
|
||||
32DBCF630370AF2F00C91783 /* General_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = General_Prefix.pch; sourceTree = "<group>"; };
|
||||
8384913618081ECB00E7332D /* Logging.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Logging.h; path = ../../Utils/Logging.h; sourceTree = "<group>"; };
|
||||
8384917518084D9F00E7332D /* appearance.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = appearance.png; path = Icons/appearance.png; sourceTree = "<group>"; };
|
||||
8384917618084D9F00E7332D /* growl.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = growl.png; path = Icons/growl.png; sourceTree = "<group>"; };
|
||||
83EF495D17FBC96A00642E3C /* VolumeBehaviorArrayController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VolumeBehaviorArrayController.h; sourceTree = "<group>"; };
|
||||
83EF495E17FBC96A00642E3C /* VolumeBehaviorArrayController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VolumeBehaviorArrayController.m; sourceTree = "<group>"; };
|
||||
8D5B49B6048680CD000E48DA /* General.preferencePane */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = General.preferencePane; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
|
@ -210,6 +214,8 @@
|
|||
8E07ABD90AAC95AF00A4B32F /* Icons */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8384917518084D9F00E7332D /* appearance.png */,
|
||||
8384917618084D9F00E7332D /* growl.png */,
|
||||
17C7E5AF0DCCC30A003CBCF7 /* playlist.png */,
|
||||
17E78A7D0D68BE3C005C5A59 /* file_tree.png */,
|
||||
1766C7A70B912A71004A7AE4 /* lastfm.png */,
|
||||
|
@ -281,7 +287,9 @@
|
|||
178E386E0C3DA64500EE6711 /* InfoPlist.strings in Resources */,
|
||||
8E07ABDD0AAC95BC00A4B32F /* hot_keys.png in Resources */,
|
||||
172D72AD0B8926CA00D095BB /* apple_remote.png in Resources */,
|
||||
8384917818084D9F00E7332D /* growl.png in Resources */,
|
||||
8E15A86C0B894768006DC802 /* updates.png in Resources */,
|
||||
8384917718084D9F00E7332D /* appearance.png in Resources */,
|
||||
17C643690B8A788000C53518 /* output.png in Resources */,
|
||||
1766C7A80B912A71004A7AE4 /* lastfm.png in Resources */,
|
||||
17E41DB80C130AA500AC744D /* Localizable.strings in Resources */,
|
||||
|
|
|
@ -21,6 +21,8 @@
|
|||
IBOutlet NSView *scrobblerView;
|
||||
IBOutlet NSView *remoteView;
|
||||
IBOutlet NSView *updatesView;
|
||||
IBOutlet NSView *growlView;
|
||||
IBOutlet NSView *appearanceView;
|
||||
}
|
||||
|
||||
- (HotKeyPane *)hotKeyPane;
|
||||
|
@ -30,7 +32,8 @@
|
|||
- (GeneralPreferencePane *)updatesPane;
|
||||
- (GeneralPreferencePane *)scrobblerPane;
|
||||
- (GeneralPreferencePane *)playlistPane;
|
||||
|
||||
- (GeneralPreferencePane *)growlPane;
|
||||
- (GeneralPreferencePane *)appearancePane;
|
||||
|
||||
|
||||
@end
|
||||
|
|
|
@ -22,6 +22,8 @@
|
|||
[plugin updatesPane],
|
||||
[plugin outputPane],
|
||||
[plugin scrobblerPane],
|
||||
[plugin growlPane],
|
||||
[plugin appearancePane],
|
||||
nil];
|
||||
}
|
||||
|
||||
|
@ -55,4 +57,14 @@
|
|||
return [GeneralPreferencePane preferencePaneWithView:playlistView title:NSLocalizedStringFromTableInBundle(@"Playlist", nil, [NSBundle bundleForClass:[self class]], @"") iconNamed:@"playlist"];
|
||||
}
|
||||
|
||||
- (GeneralPreferencePane *)growlPane
|
||||
{
|
||||
return [GeneralPreferencePane preferencePaneWithView:growlView title:NSLocalizedStringFromTableInBundle(@"Growl", nil, [NSBundle bundleForClass:[self class]], @"") iconNamed:@"growl"];
|
||||
}
|
||||
|
||||
- (GeneralPreferencePane *)appearancePane
|
||||
{
|
||||
return [GeneralPreferencePane preferencePaneWithView:appearanceView title:NSLocalizedStringFromTableInBundle(@"Appearance", nil, [NSBundle bundleForClass:[self class]], @"") iconNamed:@"appearance"];
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 2.6 KiB |