From 38a98a1a8e9b193b9c2c00d62725ba985b00b036 Mon Sep 17 00:00:00 2001 From: vspader Date: Sat, 7 Mar 2009 17:49:50 -0800 Subject: [PATCH] Reworked and reorganized the preference panes. --- Cog.xcodeproj/project.pbxproj | 22 +- English.lproj/MainMenu.xib | 28 +- .../General/General.xcodeproj/project.pbxproj | 32 +- .../General/General.xcodeproj/vspader.mode1v3 | 1414 +++++++++++++++++ .../General/General.xcodeproj/vspader.pbxuser | 739 +++++++++ Preferences/General/GeneralPreferencePane.h | 25 + Preferences/General/GeneralPreferencePane.m | 66 + ...ontroller.h => GeneralPreferencesPlugin.h} | 17 +- .../General/GeneralPreferencesPlugin.m | 58 + Preferences/General/HotKeyPane.h | 4 +- Preferences/General/HotKeyPane.m | 13 +- Preferences/General/Info.plist | 4 +- Preferences/General/OutputPane.h | 4 +- Preferences/General/OutputPane.m | 12 +- Preferences/General/PrefPaneController.m | 61 - Preferences/General/PreferencePane.h | 33 - Preferences/General/PreferencePane.m | 77 - Preferences/PreferencePanePlugin.h | 27 + Preferences/PreferencePluginController.h | 22 + Preferences/PreferencePluginController.m | 57 + Preferences/PreferencesController.h | 6 +- Preferences/PreferencesController.m | 20 +- 22 files changed, 2502 insertions(+), 239 deletions(-) create mode 100644 Preferences/General/General.xcodeproj/vspader.mode1v3 create mode 100644 Preferences/General/General.xcodeproj/vspader.pbxuser create mode 100644 Preferences/General/GeneralPreferencePane.h create mode 100644 Preferences/General/GeneralPreferencePane.m rename Preferences/General/{PrefPaneController.h => GeneralPreferencesPlugin.h} (64%) create mode 100644 Preferences/General/GeneralPreferencesPlugin.m delete mode 100644 Preferences/General/PrefPaneController.m delete mode 100644 Preferences/General/PreferencePane.h delete mode 100644 Preferences/General/PreferencePane.m create mode 100644 Preferences/PreferencePanePlugin.h create mode 100644 Preferences/PreferencePluginController.h create mode 100644 Preferences/PreferencePluginController.m diff --git a/Cog.xcodeproj/project.pbxproj b/Cog.xcodeproj/project.pbxproj index 5163435a8..a203f092a 100644 --- a/Cog.xcodeproj/project.pbxproj +++ b/Cog.xcodeproj/project.pbxproj @@ -113,6 +113,8 @@ 17D1B1690F632ABB00694C57 /* IndexFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 17D1B1650F632ABB00694C57 /* IndexFormatter.m */; }; 17D1B16A0F632ABB00694C57 /* SecondsFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 17D1B1670F632ABB00694C57 /* SecondsFormatter.m */; }; 17D1B1DC0F6330D400694C57 /* Feedback.xib in Resources */ = {isa = PBXBuildFile; fileRef = 17D1B1DA0F6330D400694C57 /* Feedback.xib */; }; + 17D1B25D0F633A4F00694C57 /* PreferencePluginController.m in Sources */ = {isa = PBXBuildFile; fileRef = 17D1B25C0F633A4F00694C57 /* PreferencePluginController.m */; }; + 17D1B2600F633B1D00694C57 /* PreferencesWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = 17D1B25F0F633B1D00694C57 /* PreferencesWindow.m */; }; 17D1B27D0CF8B2830028F5B5 /* cue.icns in Resources */ = {isa = PBXBuildFile; fileRef = 17D1B2760CF8B2830028F5B5 /* cue.icns */; }; 17D1B27E0CF8B2830028F5B5 /* it.icns in Resources */ = {isa = PBXBuildFile; fileRef = 17D1B2770CF8B2830028F5B5 /* it.icns */; }; 17D1B27F0CF8B2830028F5B5 /* pls.icns in Resources */ = {isa = PBXBuildFile; fileRef = 17D1B2780CF8B2830028F5B5 /* pls.icns */; }; @@ -145,7 +147,6 @@ 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; }; 8D11072D0486CEB800E47090 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; }; 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; }; - 8E07AAF30AAC910500A4B32F /* SS_PrefsController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E07AAF00AAC910500A4B32F /* SS_PrefsController.m */; }; 8E07AB790AAC930B00A4B32F /* PreferencesController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E07AB770AAC930B00A4B32F /* PreferencesController.m */; }; 8E1296DB0A2BA9CE00443124 /* PlaylistHeaderView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E1296D90A2BA9CE00443124 /* PlaylistHeaderView.m */; }; 8E6889240AAA403C00AD3950 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8E6889230AAA403C00AD3950 /* Carbon.framework */; }; @@ -673,6 +674,11 @@ 17D1B1660F632ABB00694C57 /* SecondsFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SecondsFormatter.h; path = Formatters/SecondsFormatter.h; sourceTree = ""; }; 17D1B1670F632ABB00694C57 /* SecondsFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SecondsFormatter.m; path = Formatters/SecondsFormatter.m; sourceTree = ""; }; 17D1B1DB0F6330D400694C57 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/Feedback.xib; sourceTree = ""; }; + 17D1B25B0F633A4F00694C57 /* PreferencePluginController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PreferencePluginController.h; path = Preferences/PreferencePluginController.h; sourceTree = ""; }; + 17D1B25C0F633A4F00694C57 /* PreferencePluginController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PreferencePluginController.m; path = Preferences/PreferencePluginController.m; sourceTree = ""; }; + 17D1B25E0F633B1D00694C57 /* PreferencesWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PreferencesWindow.h; sourceTree = ""; }; + 17D1B25F0F633B1D00694C57 /* PreferencesWindow.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PreferencesWindow.m; sourceTree = ""; }; + 17D1B2610F633D2C00694C57 /* PreferencePanePlugin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PreferencePanePlugin.h; path = Preferences/PreferencePanePlugin.h; sourceTree = ""; }; 17D1B2760CF8B2830028F5B5 /* cue.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = cue.icns; sourceTree = ""; }; 17D1B2770CF8B2830028F5B5 /* it.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = it.icns; sourceTree = ""; }; 17D1B2780CF8B2830028F5B5 /* pls.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = pls.icns; sourceTree = ""; }; @@ -724,9 +730,6 @@ 56DB08530D67185300453B6A /* NSArray+CogSort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "NSArray+CogSort.h"; path = "Spotlight/NSArray+CogSort.h"; sourceTree = ""; }; 56DB08540D67185300453B6A /* NSArray+CogSort.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "NSArray+CogSort.m"; path = "Spotlight/NSArray+CogSort.m"; sourceTree = ""; }; 8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; - 8E07AAEE0AAC910500A4B32F /* SS_PreferencePaneProtocol.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SS_PreferencePaneProtocol.h; path = Preferences/SS_PreferencePaneProtocol.h; sourceTree = ""; }; - 8E07AAEF0AAC910500A4B32F /* SS_PrefsController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SS_PrefsController.h; path = Preferences/SS_PrefsController.h; sourceTree = ""; }; - 8E07AAF00AAC910500A4B32F /* SS_PrefsController.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = SS_PrefsController.m; path = Preferences/SS_PrefsController.m; sourceTree = ""; }; 8E07AB760AAC930B00A4B32F /* PreferencesController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = PreferencesController.h; path = Preferences/PreferencesController.h; sourceTree = ""; }; 8E07AB770AAC930B00A4B32F /* PreferencesController.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = PreferencesController.m; path = Preferences/PreferencesController.m; sourceTree = ""; }; 8E1296D80A2BA9CE00443124 /* PlaylistHeaderView.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = PlaylistHeaderView.h; sourceTree = ""; }; @@ -1343,9 +1346,11 @@ 8E07AAEA0AAC90DC00A4B32F /* Preferences */ = { isa = PBXGroup; children = ( - 8E07AAEE0AAC910500A4B32F /* SS_PreferencePaneProtocol.h */, - 8E07AAEF0AAC910500A4B32F /* SS_PrefsController.h */, - 8E07AAF00AAC910500A4B32F /* SS_PrefsController.m */, + 17D1B2610F633D2C00694C57 /* PreferencePanePlugin.h */, + 17D1B25B0F633A4F00694C57 /* PreferencePluginController.h */, + 17D1B25C0F633A4F00694C57 /* PreferencePluginController.m */, + 17D1B25E0F633B1D00694C57 /* PreferencesWindow.h */, + 17D1B25F0F633B1D00694C57 /* PreferencesWindow.m */, 8E07AB760AAC930B00A4B32F /* PreferencesController.h */, 8E07AB770AAC930B00A4B32F /* PreferencesController.m */, ); @@ -1845,7 +1850,6 @@ 8E75757409F31D5A0080F1EE /* PlaylistView.m in Sources */, 8E75757509F31D5A0080F1EE /* Shuffle.m in Sources */, 8E1296DB0A2BA9CE00443124 /* PlaylistHeaderView.m in Sources */, - 8E07AAF30AAC910500A4B32F /* SS_PrefsController.m in Sources */, 8E07AB790AAC930B00A4B32F /* PreferencesController.m in Sources */, 177EBFA20B8BC2A70000BC8C /* AppleRemote.m in Sources */, 177EBFA70B8BC2A70000BC8C /* ImageTextCell.m in Sources */, @@ -1910,6 +1914,8 @@ 17D1B1680F632ABB00694C57 /* BlankZeroFormatter.m in Sources */, 17D1B1690F632ABB00694C57 /* IndexFormatter.m in Sources */, 17D1B16A0F632ABB00694C57 /* SecondsFormatter.m in Sources */, + 17D1B25D0F633A4F00694C57 /* PreferencePluginController.m in Sources */, + 17D1B2600F633B1D00694C57 /* PreferencesWindow.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/English.lproj/MainMenu.xib b/English.lproj/MainMenu.xib index 5b9dd2231..8b71bdfe3 100644 --- a/English.lproj/MainMenu.xib +++ b/English.lproj/MainMenu.xib @@ -8,10 +8,10 @@ 353.00 YES - - + + YES @@ -3583,14 +3583,6 @@ OQA 1065 - - - showPrefs: - - - - 1218 - playlistView @@ -5825,6 +5817,14 @@ OQA 2436 + + + showPreferences: + + + + 2437 + @@ -8421,7 +8421,7 @@ OQA com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - {{576, 847}, {462, 20}} + {{596, 892}, {462, 20}} com.apple.InterfaceBuilder.CocoaPlugin {{112, 736}, {462, 20}} @@ -8463,7 +8463,7 @@ OQA com.apple.InterfaceBuilder.CocoaPlugin - {{588, 594}, {232, 253}} + {{608, 639}, {232, 253}} com.apple.InterfaceBuilder.CocoaPlugin {{124, 483}, {232, 253}} @@ -8535,7 +8535,7 @@ OQA - 2436 + 2437 @@ -9097,7 +9097,7 @@ OQA PreferencesController NSObject - showPrefs: + showPreferences: id diff --git a/Preferences/General/General.xcodeproj/project.pbxproj b/Preferences/General/General.xcodeproj/project.pbxproj index 6c166f10b..6000f1326 100644 --- a/Preferences/General/General.xcodeproj/project.pbxproj +++ b/Preferences/General/General.xcodeproj/project.pbxproj @@ -21,8 +21,8 @@ 17E78B6A0D68C1E3005C5A59 /* Preferences.xib in Resources */ = {isa = PBXBuildFile; fileRef = 17E78B680D68C1E3005C5A59 /* Preferences.xib */; }; 8D5B49B4048680CD000E48DA /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */; }; 8E07AA880AAC8EA200A4B32F /* HotKeyPane.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E07AA810AAC8EA200A4B32F /* HotKeyPane.m */; }; - 8E07AA890AAC8EA200A4B32F /* PreferencePane.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E07AA830AAC8EA200A4B32F /* PreferencePane.m */; }; - 8E07AA8A0AAC8EA200A4B32F /* PrefPaneController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E07AA850AAC8EA200A4B32F /* PrefPaneController.m */; }; + 8E07AA890AAC8EA200A4B32F /* GeneralPreferencePane.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E07AA830AAC8EA200A4B32F /* GeneralPreferencePane.m */; }; + 8E07AA8A0AAC8EA200A4B32F /* GeneralPreferencesPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E07AA850AAC8EA200A4B32F /* GeneralPreferencesPlugin.m */; }; 8E07ABDD0AAC95BC00A4B32F /* hot_keys.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E07ABDB0AAC95BC00A4B32F /* hot_keys.png */; }; 8E15A86C0B894768006DC802 /* updates.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E15A86B0B894768006DC802 /* updates.png */; }; 8E6C12160AACAE4100819171 /* NDHotKeyControl.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E6C12130AACAE4100819171 /* NDHotKeyControl.m */; }; @@ -48,6 +48,7 @@ 17C643680B8A788000C53518 /* output.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = output.png; path = Icons/output.png; sourceTree = ""; }; 17C644310B8A791D00C53518 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = ""; }; 17C7E5AF0DCCC30A003CBCF7 /* playlist.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = playlist.png; path = Icons/playlist.png; sourceTree = ""; }; + 17D1B3F60F6349CE00694C57 /* PreferencePanePlugin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PreferencePanePlugin.h; path = ../PreferencePanePlugin.h; sourceTree = SOURCE_ROOT; }; 17E41DB50C130A9D00AC744D /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/Localizable.strings; sourceTree = ""; }; 17E78A7D0D68BE3C005C5A59 /* file_tree.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = file_tree.png; path = Icons/file_tree.png; sourceTree = ""; }; 17E78B690D68C1E3005C5A59 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/Preferences.xib; sourceTree = ""; }; @@ -56,11 +57,10 @@ 8D5B49B7048680CD000E48DA /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 8E07AA800AAC8EA200A4B32F /* HotKeyPane.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = HotKeyPane.h; sourceTree = ""; }; 8E07AA810AAC8EA200A4B32F /* HotKeyPane.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = HotKeyPane.m; sourceTree = ""; }; - 8E07AA820AAC8EA200A4B32F /* PreferencePane.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = PreferencePane.h; sourceTree = ""; }; - 8E07AA830AAC8EA200A4B32F /* PreferencePane.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = PreferencePane.m; sourceTree = ""; }; - 8E07AA840AAC8EA200A4B32F /* PrefPaneController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = PrefPaneController.h; sourceTree = ""; }; - 8E07AA850AAC8EA200A4B32F /* PrefPaneController.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = PrefPaneController.m; sourceTree = ""; }; - 8E07AA860AAC8EA200A4B32F /* SS_PreferencePaneProtocol.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SS_PreferencePaneProtocol.h; sourceTree = ""; }; + 8E07AA820AAC8EA200A4B32F /* GeneralPreferencePane.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = GeneralPreferencePane.h; sourceTree = ""; }; + 8E07AA830AAC8EA200A4B32F /* GeneralPreferencePane.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = GeneralPreferencePane.m; sourceTree = ""; }; + 8E07AA840AAC8EA200A4B32F /* GeneralPreferencesPlugin.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = GeneralPreferencesPlugin.h; sourceTree = ""; }; + 8E07AA850AAC8EA200A4B32F /* GeneralPreferencesPlugin.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = GeneralPreferencesPlugin.m; sourceTree = ""; }; 8E07ABDB0AAC95BC00A4B32F /* hot_keys.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = hot_keys.png; path = Icons/hot_keys.png; sourceTree = ""; }; 8E15A86B0B894768006DC802 /* updates.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = updates.png; path = Icons/updates.png; sourceTree = ""; }; 8E6C12120AACAE4100819171 /* NDHotKeyControl.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = NDHotKeyControl.h; sourceTree = ""; }; @@ -126,9 +126,9 @@ children = ( 17D503410ABDB1660022D1E8 /* Custom */, 17D5033F0ABDB1570022D1E8 /* Panes */, - 8E07AA860AAC8EA200A4B32F /* SS_PreferencePaneProtocol.h */, - 8E07AA840AAC8EA200A4B32F /* PrefPaneController.h */, - 8E07AA850AAC8EA200A4B32F /* PrefPaneController.m */, + 17D1B3F60F6349CE00694C57 /* PreferencePanePlugin.h */, + 8E07AA840AAC8EA200A4B32F /* GeneralPreferencesPlugin.h */, + 8E07AA850AAC8EA200A4B32F /* GeneralPreferencesPlugin.m */, ); name = Classes; sourceTree = ""; @@ -155,8 +155,8 @@ 17D5033F0ABDB1570022D1E8 /* Panes */ = { isa = PBXGroup; children = ( - 8E07AA820AAC8EA200A4B32F /* PreferencePane.h */, - 8E07AA830AAC8EA200A4B32F /* PreferencePane.m */, + 8E07AA820AAC8EA200A4B32F /* GeneralPreferencePane.h */, + 8E07AA830AAC8EA200A4B32F /* GeneralPreferencePane.m */, 8E07AA800AAC8EA200A4B32F /* HotKeyPane.h */, 8E07AA810AAC8EA200A4B32F /* HotKeyPane.m */, 17C6433D0B8A783F00C53518 /* OutputPane.h */, @@ -288,8 +288,8 @@ buildActionMask = 2147483647; files = ( 8E07AA880AAC8EA200A4B32F /* HotKeyPane.m in Sources */, - 8E07AA890AAC8EA200A4B32F /* PreferencePane.m in Sources */, - 8E07AA8A0AAC8EA200A4B32F /* PrefPaneController.m in Sources */, + 8E07AA890AAC8EA200A4B32F /* GeneralPreferencePane.m in Sources */, + 8E07AA8A0AAC8EA200A4B32F /* GeneralPreferencesPlugin.m in Sources */, 8E6C12160AACAE4100819171 /* NDHotKeyControl.m in Sources */, 8E6C12170AACAE4100819171 /* NDHotKeyEvent.m in Sources */, 8E6C13A00AACBAB500819171 /* HotKeyControl.m in Sources */, @@ -372,7 +372,7 @@ GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; PREBINDING = NO; - SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; + SDKROOT = /Developer/SDKs/MacOSX10.5.sdk; SYMROOT = ../../build; }; name = Debug; @@ -383,7 +383,7 @@ GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; PREBINDING = NO; - SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; + SDKROOT = /Developer/SDKs/MacOSX10.5.sdk; SYMROOT = ../../build; }; name = Release; diff --git a/Preferences/General/General.xcodeproj/vspader.mode1v3 b/Preferences/General/General.xcodeproj/vspader.mode1v3 new file mode 100644 index 000000000..b8e70caa6 --- /dev/null +++ b/Preferences/General/General.xcodeproj/vspader.mode1v3 @@ -0,0 +1,1414 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + DefaultDescriptionKey + DockingSystemVisible + + Extension + mode1v3 + FavBarConfig + + PBXProjectModuleGUID + 17D1B24D0F6336CE00694C57 + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.mode1v3 + MajorVersion + 33 + MinorVersion + 0 + Name + Default + Notifications + + OpenEditors + + PerspectiveWidths + + -1 + -1 + + Perspectives + + + ChosenToolbarItems + + active-target-popup + active-buildstyle-popup + action + NSToolbarFlexibleSpaceItem + buildOrClean + build-and-goOrGo + com.apple.ide.PBXToolbarStopButton + get-info + toggle-editor + NSToolbarFlexibleSpaceItem + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProjectWithEditor + Identifier + perspective.project + IsVertical + + Layout + + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C08E77C0454961000C914BD + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 313 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 089C166AFE841209C02AAC07 + 08FB77AFFE84173DC02AAC07 + 17D503410ABDB1660022D1E8 + 17D5033F0ABDB1570022D1E8 + 32C88E010371C26100C91783 + 089C167CFE841241C02AAC07 + 1C37FABC05509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 21 + 15 + 1 + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {313, 593}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {330, 611}} + GroupTreeTableConfiguration + + MainColumn + 313 + + RubberWindowFrame + 173 287 1538 652 0 0 1680 1028 + + Module + PBXSmartGroupTreeModule + Proportion + 330pt + + + Dock + + + BecomeActive + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20306471E060097A5F4 + PBXProjectModuleLabel + OutputPane.m + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CE0B20406471E060097A5F4 + PBXProjectModuleLabel + OutputPane.m + _historyCapacity + 0 + bookmark + 17D1B5D10F63585900694C57 + history + + 17D1B3F80F6349DD00694C57 + 17D1B3F90F6349DD00694C57 + 17D1B3FA0F6349DD00694C57 + 17D1B3FB0F6349DD00694C57 + 17D1B3FC0F6349DD00694C57 + 17D1B3FD0F6349DD00694C57 + 17D1B3FE0F6349DD00694C57 + 17D1B3FF0F6349DD00694C57 + 17D1B4DC0F6351A100694C57 + 17D1B50F0F63522300694C57 + 17D1B5100F63522300694C57 + 17D1B5110F63522300694C57 + 17D1B5120F63522300694C57 + 17D1B5150F63522300694C57 + 17D1B57C0F6355AD00694C57 + 17D1B57D0F6355AD00694C57 + 17D1B5880F6355EB00694C57 + 17D1B5890F6355EB00694C57 + + prevStack + + 17D1B4070F6349DD00694C57 + 17D1B4080F6349DD00694C57 + 17D1B4090F6349DD00694C57 + 17D1B40B0F6349DD00694C57 + 17D1B40D0F6349DD00694C57 + 17D1B40E0F6349DD00694C57 + 17D1B40F0F6349DD00694C57 + 17D1B4100F6349DD00694C57 + 17D1B4110F6349DD00694C57 + 17D1B4120F6349DD00694C57 + 17D1B4130F6349DD00694C57 + 17D1B4140F6349DD00694C57 + 17D1B4150F6349DD00694C57 + 17D1B4160F6349DD00694C57 + 17D1B41C0F6349DD00694C57 + 17D1B4380F634B7A00694C57 + 17D1B5180F63522300694C57 + 17D1B5190F63522300694C57 + 17D1B51A0F63522300694C57 + 17D1B51B0F63522300694C57 + 17D1B51C0F63522300694C57 + 17D1B51D0F63522300694C57 + 17D1B51F0F63522300694C57 + 17D1B5200F63522300694C57 + 17D1B5220F63522300694C57 + 17D1B5230F63522300694C57 + 17D1B57F0F6355AD00694C57 + 17D1B5800F6355AD00694C57 + 17D1B5810F6355AD00694C57 + 17D1B5820F6355AD00694C57 + 17D1B58A0F6355EB00694C57 + + + SplitCount + 1 + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {1203, 433}} + RubberWindowFrame + 173 287 1538 652 0 0 1680 1028 + + Module + PBXNavigatorGroup + Proportion + 433pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20506471E060097A5F4 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{0, 438}, {1203, 173}} + RubberWindowFrame + 173 287 1538 652 0 0 1680 1028 + + Module + XCDetailModule + Proportion + 173pt + + + Proportion + 1203pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDetailModule + + TableOfContents + + 17D1B5250F63522300694C57 + 1CE0B1FE06471DED0097A5F4 + 17D1B5260F63522300694C57 + 1CE0B20306471E060097A5F4 + 1CE0B20506471E060097A5F4 + + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.morph + IsVertical + 0 + Layout + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C08E77C0454961000C914BD + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 11E0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 186 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 29B97314FDCFA39411CA2CEA + 1C37FABC05509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {186, 337}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 1 + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {203, 355}} + GroupTreeTableConfiguration + + MainColumn + 186 + + RubberWindowFrame + 373 269 690 397 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 100% + + + Name + Morph + PreferredWidth + 300 + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + + TableOfContents + + 11E0B1FE06471DED0097A5F4 + + ToolbarConfiguration + xcode.toolbar.config.default.shortV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecificationMode1.xcperspec' + StatusbarIsVisible + + TimeStamp + 0.0 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 1 + Type + Perspectives + UpdateMessage + The Default Workspace in this version of Xcode now includes support to hide and show the detail view (what has been referred to as the "Metro-Morph" feature). You must discard your current Default Workspace settings and update to the latest Default Workspace in order to gain this feature. Do you wish to update to the latest Workspace defaults for project '%@'? + WindowJustification + 5 + WindowOrderList + + 17D1B4270F634AE300694C57 + /Users/vspader/Projects/Cog/Preferences/General/General.xcodeproj + 1C530D57069F1CE1000CFCEE + + WindowString + 173 287 1538 652 0 0 1680 1028 + WindowToolsV3 + + + FirstTimeWindowDisplayed + + Identifier + windowTool.build + IsVertical + + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {1232, 466}} + RubberWindowFrame + 137 248 1232 754 0 0 1680 1028 + + Module + PBXNavigatorGroup + Proportion + 466pt + + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build + XCBuildResultsTrigger_Collapse + 1021 + XCBuildResultsTrigger_Open + 1011 + + GeometryConfiguration + + Frame + {{0, 471}, {1232, 242}} + RubberWindowFrame + 137 248 1232 754 0 0 1680 1028 + + Module + PBXBuildResultsModule + Proportion + 242pt + + + Proportion + 713pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + + TableOfContents + + 17D1B4270F634AE300694C57 + 17D1B5270F63522300694C57 + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowString + 137 248 1232 754 0 0 1680 1028 + WindowToolGUID + 17D1B4270F634AE300694C57 + WindowToolIsVisible + + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + FirstTimeWindowDisplayed + + Identifier + windowTool.find + IsVertical + + Layout + + + Dock + + + Dock + + + BecomeActive + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + GeneralPreferencePane.m + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {1222, 485}} + RubberWindowFrame + 194 173 1222 743 0 0 1680 1028 + + Module + PBXNavigatorGroup + Proportion + 1222pt + + + Proportion + 485pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{0, 490}, {1222, 212}} + RubberWindowFrame + 194 173 1222 743 0 0 1680 1028 + + Module + PBXProjectFindModule + Proportion + 212pt + + + Proportion + 702pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + + TableOfContents + + 1C530D57069F1CE1000CFCEE + 17D1B5740F6354FB00694C57 + 17D1B5750F6354FB00694C57 + 1CDD528C0622207200134675 + 1CD0528E0623707200166675 + + WindowString + 194 173 1222 743 0 0 1680 1028 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + + + + Identifier + MENUSEPARATOR + + + Identifier + windowTool.debuggerConsole + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {650, 250}} + RubberWindowFrame + 516 632 650 250 0 0 1680 1027 + + Module + PBXDebugCLIModule + Proportion + 209pt + + + Proportion + 209pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAAD065D492600B07095 + 1C78EAAE065D492600B07095 + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 650 41 650 250 0 0 1280 1002 + WindowToolGUID + 1C78EAAD065D492600B07095 + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.0950012207031 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scm + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 100% + + + Proportion + 100% + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + Identifier + windowTool.projectFormatConflicts + Layout + + + Dock + + + Module + XCProjectFormatConflictsModule + Proportion + 100% + + + Proportion + 100% + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + 0 + WindowContentMinSize + 450 300 + WindowString + 50 850 472 307 0 0 1440 877 + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {374, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {630, 331}} + MembersFrame + {{0, 105}, {374, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 97 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 385 179 630 352 0 0 1440 878 + + Module + PBXClassBrowserModule + Proportion + 332pt + + + Proportion + 332pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C0AD2AF069F1E9B00FABCE6 + 1C0AD2B0069F1E9B00FABCE6 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 385 179 630 352 0 0 1440 878 + WindowToolGUID + 1C0AD2AF069F1E9B00FABCE6 + WindowToolIsVisible + 0 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + diff --git a/Preferences/General/General.xcodeproj/vspader.pbxuser b/Preferences/General/General.xcodeproj/vspader.pbxuser new file mode 100644 index 000000000..1814bef45 --- /dev/null +++ b/Preferences/General/General.xcodeproj/vspader.pbxuser @@ -0,0 +1,739 @@ +// !$*UTF8*$! +{ + 089C1669FE841209C02AAC07 /* Project object */ = { + activeBuildConfigurationName = Debug; + activeTarget = 8D5B49AC048680CD000E48DA /* General */; + addToTargets = ( + 8D5B49AC048680CD000E48DA /* General */, + ); + codeSenseManager = 17D1B24F0F6336CE00694C57 /* Code sense */; + perUserDictionary = { + PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 964, + 20, + 48, + 43, + 43, + 20, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + PBXFileDataSource_Target_ColumnID, + ); + }; + PBXPerProjectTemplateStateSaveDate = 258167282; + PBXWorkspaceStateSaveDate = 258167282; + }; + perUserProjectItems = { + 17D1B3F80F6349DD00694C57 /* PBXTextBookmark */ = 17D1B3F80F6349DD00694C57 /* PBXTextBookmark */; + 17D1B3F90F6349DD00694C57 /* PBXTextBookmark */ = 17D1B3F90F6349DD00694C57 /* PBXTextBookmark */; + 17D1B3FA0F6349DD00694C57 /* PBXTextBookmark */ = 17D1B3FA0F6349DD00694C57 /* PBXTextBookmark */; + 17D1B3FB0F6349DD00694C57 /* PBXTextBookmark */ = 17D1B3FB0F6349DD00694C57 /* PBXTextBookmark */; + 17D1B3FC0F6349DD00694C57 /* PBXTextBookmark */ = 17D1B3FC0F6349DD00694C57 /* PBXTextBookmark */; + 17D1B3FD0F6349DD00694C57 /* PBXTextBookmark */ = 17D1B3FD0F6349DD00694C57 /* PBXTextBookmark */; + 17D1B3FE0F6349DD00694C57 /* PBXTextBookmark */ = 17D1B3FE0F6349DD00694C57 /* PBXTextBookmark */; + 17D1B3FF0F6349DD00694C57 /* PBXTextBookmark */ = 17D1B3FF0F6349DD00694C57 /* PBXTextBookmark */; + 17D1B4070F6349DD00694C57 /* PBXTextBookmark */ = 17D1B4070F6349DD00694C57 /* PBXTextBookmark */; + 17D1B4080F6349DD00694C57 /* PBXTextBookmark */ = 17D1B4080F6349DD00694C57 /* PBXTextBookmark */; + 17D1B4090F6349DD00694C57 /* PBXTextBookmark */ = 17D1B4090F6349DD00694C57 /* PBXTextBookmark */; + 17D1B40B0F6349DD00694C57 /* PBXTextBookmark */ = 17D1B40B0F6349DD00694C57 /* PBXTextBookmark */; + 17D1B40D0F6349DD00694C57 /* PBXTextBookmark */ = 17D1B40D0F6349DD00694C57 /* PBXTextBookmark */; + 17D1B40E0F6349DD00694C57 /* PBXTextBookmark */ = 17D1B40E0F6349DD00694C57 /* PBXTextBookmark */; + 17D1B40F0F6349DD00694C57 /* PBXTextBookmark */ = 17D1B40F0F6349DD00694C57 /* PBXTextBookmark */; + 17D1B4100F6349DD00694C57 /* PBXTextBookmark */ = 17D1B4100F6349DD00694C57 /* PBXTextBookmark */; + 17D1B4110F6349DD00694C57 /* PBXTextBookmark */ = 17D1B4110F6349DD00694C57 /* PBXTextBookmark */; + 17D1B4120F6349DD00694C57 /* PBXTextBookmark */ = 17D1B4120F6349DD00694C57 /* PBXTextBookmark */; + 17D1B4130F6349DD00694C57 /* PBXTextBookmark */ = 17D1B4130F6349DD00694C57 /* PBXTextBookmark */; + 17D1B4140F6349DD00694C57 /* PBXTextBookmark */ = 17D1B4140F6349DD00694C57 /* PBXTextBookmark */; + 17D1B4150F6349DD00694C57 /* PBXTextBookmark */ = 17D1B4150F6349DD00694C57 /* PBXTextBookmark */; + 17D1B4160F6349DD00694C57 /* PBXTextBookmark */ = 17D1B4160F6349DD00694C57 /* PBXTextBookmark */; + 17D1B41C0F6349DD00694C57 /* PBXTextBookmark */ = 17D1B41C0F6349DD00694C57 /* PBXTextBookmark */; + 17D1B4380F634B7A00694C57 /* PBXTextBookmark */ = 17D1B4380F634B7A00694C57 /* PBXTextBookmark */; + 17D1B4DC0F6351A100694C57 /* PBXTextBookmark */ = 17D1B4DC0F6351A100694C57 /* PBXTextBookmark */; + 17D1B50F0F63522300694C57 /* PBXTextBookmark */ = 17D1B50F0F63522300694C57 /* PBXTextBookmark */; + 17D1B5100F63522300694C57 /* PlistBookmark */ = 17D1B5100F63522300694C57 /* PlistBookmark */; + 17D1B5110F63522300694C57 /* PBXTextBookmark */ = 17D1B5110F63522300694C57 /* PBXTextBookmark */; + 17D1B5120F63522300694C57 /* PBXTextBookmark */ = 17D1B5120F63522300694C57 /* PBXTextBookmark */; + 17D1B5150F63522300694C57 /* PBXTextBookmark */ = 17D1B5150F63522300694C57 /* PBXTextBookmark */; + 17D1B5180F63522300694C57 /* PBXTextBookmark */ = 17D1B5180F63522300694C57 /* PBXTextBookmark */; + 17D1B5190F63522300694C57 /* PlistBookmark */ = 17D1B5190F63522300694C57 /* PlistBookmark */; + 17D1B51A0F63522300694C57 /* PBXTextBookmark */ = 17D1B51A0F63522300694C57 /* PBXTextBookmark */; + 17D1B51B0F63522300694C57 /* PBXTextBookmark */ = 17D1B51B0F63522300694C57 /* PBXTextBookmark */; + 17D1B51C0F63522300694C57 /* PBXTextBookmark */ = 17D1B51C0F63522300694C57 /* PBXTextBookmark */; + 17D1B51D0F63522300694C57 /* PBXTextBookmark */ = 17D1B51D0F63522300694C57 /* PBXTextBookmark */; + 17D1B51F0F63522300694C57 /* PBXTextBookmark */ = 17D1B51F0F63522300694C57 /* PBXTextBookmark */; + 17D1B5200F63522300694C57 /* PBXTextBookmark */ = 17D1B5200F63522300694C57 /* PBXTextBookmark */; + 17D1B5220F63522300694C57 /* PBXTextBookmark */ = 17D1B5220F63522300694C57 /* PBXTextBookmark */; + 17D1B5230F63522300694C57 /* PBXTextBookmark */ = 17D1B5230F63522300694C57 /* PBXTextBookmark */; + 17D1B57C0F6355AD00694C57 /* PBXTextBookmark */ = 17D1B57C0F6355AD00694C57 /* PBXTextBookmark */; + 17D1B57D0F6355AD00694C57 /* PBXTextBookmark */ = 17D1B57D0F6355AD00694C57 /* PBXTextBookmark */; + 17D1B57F0F6355AD00694C57 /* PBXTextBookmark */ = 17D1B57F0F6355AD00694C57 /* PBXTextBookmark */; + 17D1B5800F6355AD00694C57 /* PBXTextBookmark */ = 17D1B5800F6355AD00694C57 /* PBXTextBookmark */; + 17D1B5810F6355AD00694C57 /* PBXTextBookmark */ = 17D1B5810F6355AD00694C57 /* PBXTextBookmark */; + 17D1B5820F6355AD00694C57 /* PBXTextBookmark */ = 17D1B5820F6355AD00694C57 /* PBXTextBookmark */; + 17D1B5880F6355EB00694C57 /* PBXTextBookmark */ = 17D1B5880F6355EB00694C57 /* PBXTextBookmark */; + 17D1B5890F6355EB00694C57 /* PBXTextBookmark */ = 17D1B5890F6355EB00694C57 /* PBXTextBookmark */; + 17D1B58A0F6355EB00694C57 /* PBXTextBookmark */ = 17D1B58A0F6355EB00694C57 /* PBXTextBookmark */; + 17D1B5D10F63585900694C57 /* PBXTextBookmark */ = 17D1B5D10F63585900694C57 /* PBXTextBookmark */; + }; + sourceControlManager = 17D1B24E0F6336CE00694C57 /* Source Control */; + userBuildSettings = { + }; + }; + 089C167EFE841241C02AAC07 /* English */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1142, 401}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 98}"; + }; + }; + 170744AB0BFF3938002475C9 /* AppcastArrayController.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1269, 401}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 243}"; + }; + }; + 170744AC0BFF3938002475C9 /* AppcastArrayController.m */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1269, 462}}"; + sepNavSelRange = "{633, 0}"; + sepNavVisRange = "{44, 959}"; + }; + }; + 17C643360B8A77CC00C53518 /* OutputsArrayController.m */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1142, 686}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 1190}"; + }; + }; + 17C6433D0B8A783F00C53518 /* OutputPane.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1142, 401}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 378}"; + }; + }; + 17C6433E0B8A783F00C53518 /* OutputPane.m */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1142, 476}}"; + sepNavSelRange = "{193, 0}"; + sepNavVisRange = "{80, 610}"; + }; + }; + 17D1B24E0F6336CE00694C57 /* Source Control */ = { + isa = PBXSourceControlManager; + fallbackIsa = XCSourceControlManager; + isSCMEnabled = 0; + scmConfiguration = { + }; + }; + 17D1B24F0F6336CE00694C57 /* Code sense */ = { + isa = PBXCodeSenseManager; + indexTemplatePath = ""; + }; + 17D1B3F60F6349CE00694C57 /* PreferencePanePlugin.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1142, 401}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 447}"; + }; + }; + 17D1B3F80F6349DD00694C57 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 170744AB0BFF3938002475C9 /* AppcastArrayController.h */; + name = "AppcastArrayController.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 243; + vrLoc = 0; + }; + 17D1B3F90F6349DD00694C57 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 170744AC0BFF3938002475C9 /* AppcastArrayController.m */; + name = "AppcastArrayController.m: 24"; + rLen = 0; + rLoc = 633; + rType = 0; + vrLen = 959; + vrLoc = 44; + }; + 17D1B3FA0F6349DD00694C57 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E6C12130AACAE4100819171 /* NDHotKeyControl.m */; + name = "NDHotKeyControl.m: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 484; + vrLoc = 0; + }; + 17D1B3FB0F6349DD00694C57 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E6C12120AACAE4100819171 /* NDHotKeyControl.h */; + name = "NDHotKeyControl.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 863; + vrLoc = 0; + }; + 17D1B3FC0F6349DD00694C57 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E6C12140AACAE4100819171 /* NDHotKeyEvent.h */; + name = "NDHotKeyEvent.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 1792; + vrLoc = 0; + }; + 17D1B3FD0F6349DD00694C57 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E6C139F0AACBAB500819171 /* HotKeyControl.m */; + name = "HotKeyControl.m: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 749; + vrLoc = 0; + }; + 17D1B3FE0F6349DD00694C57 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 99F1813E0DE01D7A00FD5FFB /* PlaylistBehaviorArrayController.m */; + name = "PlaylistBehaviorArrayController.m: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 1004; + vrLoc = 0; + }; + 17D1B3FF0F6349DD00694C57 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 17C643360B8A77CC00C53518 /* OutputsArrayController.m */; + name = "OutputsArrayController.m: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 1190; + vrLoc = 0; + }; + 17D1B4070F6349DD00694C57 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E6C12120AACAE4100819171 /* NDHotKeyControl.h */; + name = "NDHotKeyControl.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 714; + vrLoc = 0; + }; + 17D1B4080F6349DD00694C57 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 170744AC0BFF3938002475C9 /* AppcastArrayController.m */; + name = "AppcastArrayController.m: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 956; + vrLoc = 47; + }; + 17D1B4090F6349DD00694C57 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 170744AB0BFF3938002475C9 /* AppcastArrayController.h */; + name = "AppcastArrayController.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 243; + vrLoc = 0; + }; + 17D1B40B0F6349DD00694C57 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E6C12130AACAE4100819171 /* NDHotKeyControl.m */; + name = "NDHotKeyControl.m: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 484; + vrLoc = 0; + }; + 17D1B40D0F6349DD00694C57 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E6C12140AACAE4100819171 /* NDHotKeyEvent.h */; + name = "NDHotKeyEvent.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 1792; + vrLoc = 0; + }; + 17D1B40E0F6349DD00694C57 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E6C139F0AACBAB500819171 /* HotKeyControl.m */; + name = "HotKeyControl.m: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 749; + vrLoc = 0; + }; + 17D1B40F0F6349DD00694C57 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 99F1813E0DE01D7A00FD5FFB /* PlaylistBehaviorArrayController.m */; + name = "PlaylistBehaviorArrayController.m: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 1004; + vrLoc = 0; + }; + 17D1B4100F6349DD00694C57 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 17C643360B8A77CC00C53518 /* OutputsArrayController.m */; + name = "OutputsArrayController.m: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 1190; + vrLoc = 0; + }; + 17D1B4110F6349DD00694C57 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E07AA840AAC8EA200A4B32F /* GeneralPreferencesPlugin.h */; + name = "PrefPaneController.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 636; + vrLoc = 91; + }; + 17D1B4120F6349DD00694C57 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E07AA850AAC8EA200A4B32F /* GeneralPreferencesPlugin.m */; + name = "PrefPaneController.m: 20"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 726; + vrLoc = 31; + }; + 17D1B4130F6349DD00694C57 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E07AA820AAC8EA200A4B32F /* GeneralPreferencePane.h */; + name = "PreferencePane.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 624; + vrLoc = 0; + }; + 17D1B4140F6349DD00694C57 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E07AA830AAC8EA200A4B32F /* GeneralPreferencePane.m */; + name = "PreferencePane.m: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 502; + vrLoc = 0; + }; + 17D1B4150F6349DD00694C57 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E07AA800AAC8EA200A4B32F /* HotKeyPane.h */; + name = "HotKeyPane.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 560; + vrLoc = 0; + }; + 17D1B4160F6349DD00694C57 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E07AA810AAC8EA200A4B32F /* HotKeyPane.m */; + name = "HotKeyPane.m: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 1322; + vrLoc = 2467; + }; + 17D1B41C0F6349DD00694C57 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 17C6433E0B8A783F00C53518 /* OutputPane.m */; + name = "OutputPane.m: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 566; + vrLoc = 0; + }; + 17D1B4380F634B7A00694C57 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 17C6433D0B8A783F00C53518 /* OutputPane.h */; + name = "OutputPane.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 364; + vrLoc = 0; + }; + 17D1B4DC0F6351A100694C57 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E07AA820AAC8EA200A4B32F /* GeneralPreferencePane.h */; + name = "GeneralPreferencePane.h: 19"; + rLen = 9; + rLoc = 410; + rType = 0; + vrLen = 533; + vrLoc = 0; + }; + 17D1B50F0F63522300694C57 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 089C167EFE841241C02AAC07 /* English */; + name = "InfoPlist.strings: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 98; + vrLoc = 0; + }; + 17D1B5100F63522300694C57 /* PlistBookmark */ = { + isa = PlistBookmark; + fRef = 8D5B49B7048680CD000E48DA /* Info.plist */; + fallbackIsa = PBXBookmark; + isK = 0; + kPath = ( + ); + name = /Users/vspader/Projects/Cog/Preferences/General/Info.plist; + rLen = 0; + rLoc = 2147483647; + }; + 17D1B5110F63522300694C57 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 17C6433D0B8A783F00C53518 /* OutputPane.h */; + name = "OutputPane.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 378; + vrLoc = 0; + }; + 17D1B5120F63522300694C57 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E07AA850AAC8EA200A4B32F /* GeneralPreferencesPlugin.m */; + name = "GeneralPreferencesPlugin.m: 11"; + rLen = 24; + rLoc = 205; + rType = 0; + vrLen = 548; + vrLoc = 150; + }; + 17D1B5150F63522300694C57 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E07AA800AAC8EA200A4B32F /* HotKeyPane.h */; + name = "HotKeyPane.h: 15"; + rLen = 0; + rLoc = 353; + rType = 0; + vrLen = 574; + vrLoc = 0; + }; + 17D1B5180F63522300694C57 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 089C167EFE841241C02AAC07 /* English */; + name = "InfoPlist.strings: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 98; + vrLoc = 0; + }; + 17D1B5190F63522300694C57 /* PlistBookmark */ = { + isa = PlistBookmark; + fRef = 8D5B49B7048680CD000E48DA /* Info.plist */; + fallbackIsa = PBXBookmark; + isK = 0; + kPath = ( + ); + name = /Users/vspader/Projects/Cog/Preferences/General/Info.plist; + rLen = 0; + rLoc = 2147483647; + }; + 17D1B51A0F63522300694C57 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 17C6433E0B8A783F00C53518 /* OutputPane.m */; + name = "OutputPane.m: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 560; + vrLoc = 0; + }; + 17D1B51B0F63522300694C57 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 17C6433D0B8A783F00C53518 /* OutputPane.h */; + name = "OutputPane.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 378; + vrLoc = 0; + }; + 17D1B51C0F63522300694C57 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E07AA810AAC8EA200A4B32F /* HotKeyPane.m */; + name = "HotKeyPane.m: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 1352; + vrLoc = 0; + }; + 17D1B51D0F63522300694C57 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E07AA800AAC8EA200A4B32F /* HotKeyPane.h */; + name = "HotKeyPane.h: 15"; + rLen = 0; + rLoc = 353; + rType = 0; + vrLen = 574; + vrLoc = 0; + }; + 17D1B51F0F63522300694C57 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E07AA850AAC8EA200A4B32F /* GeneralPreferencesPlugin.m */; + name = "GeneralPreferencesPlugin.m: 11"; + rLen = 24; + rLoc = 205; + rType = 0; + vrLen = 548; + vrLoc = 150; + }; + 17D1B5200F63522300694C57 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E07AA840AAC8EA200A4B32F /* GeneralPreferencesPlugin.h */; + name = "GeneralPreferencesPlugin.h: 32"; + rLen = 0; + rLoc = 730; + rType = 0; + vrLen = 605; + vrLoc = 150; + }; + 17D1B5220F63522300694C57 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E07AA800AAC8EA200A4B32F /* HotKeyPane.h */; + name = "HotKeyPane.h: 15"; + rLen = 0; + rLoc = 353; + rType = 0; + vrLen = 574; + vrLoc = 0; + }; + 17D1B5230F63522300694C57 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E07AA810AAC8EA200A4B32F /* HotKeyPane.m */; + name = "HotKeyPane.m: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 1478; + vrLoc = 36; + }; + 17D1B57C0F6355AD00694C57 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E07AA840AAC8EA200A4B32F /* GeneralPreferencesPlugin.h */; + name = "GeneralPreferencesPlugin.h: 32"; + rLen = 0; + rLoc = 730; + rType = 0; + vrLen = 604; + vrLoc = 151; + }; + 17D1B57D0F6355AD00694C57 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E07AA830AAC8EA200A4B32F /* GeneralPreferencePane.m */; + name = "GeneralPreferencePane.m: 22"; + rLen = 156; + rLoc = 466; + rType = 0; + vrLen = 644; + vrLoc = 0; + }; + 17D1B57F0F6355AD00694C57 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 17C6433E0B8A783F00C53518 /* OutputPane.m */; + name = "OutputPane.m: 17"; + rLen = 0; + rLoc = 193; + rType = 0; + vrLen = 588; + vrLoc = 0; + }; + 17D1B5800F6355AD00694C57 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E07AA840AAC8EA200A4B32F /* GeneralPreferencesPlugin.h */; + name = "GeneralPreferencesPlugin.h: 32"; + rLen = 0; + rLoc = 730; + rType = 0; + vrLen = 604; + vrLoc = 151; + }; + 17D1B5810F6355AD00694C57 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E07AA810AAC8EA200A4B32F /* HotKeyPane.m */; + name = "HotKeyPane.m: 44"; + rLen = 0; + rLoc = 1886; + rType = 0; + vrLen = 973; + vrLoc = 957; + }; + 17D1B5820F6355AD00694C57 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E07AA830AAC8EA200A4B32F /* GeneralPreferencePane.m */; + name = "GeneralPreferencePane.m: 22"; + rLen = 156; + rLoc = 466; + rType = 0; + vrLen = 644; + vrLoc = 0; + }; + 17D1B5880F6355EB00694C57 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E07AA810AAC8EA200A4B32F /* HotKeyPane.m */; + name = "HotKeyPane.m: 38"; + rLen = 294; + rLoc = 1732; + rType = 0; + vrLen = 946; + vrLoc = 1343; + }; + 17D1B5890F6355EB00694C57 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 17C6433E0B8A783F00C53518 /* OutputPane.m */; + name = "OutputPane.m: 17"; + rLen = 0; + rLoc = 193; + rType = 0; + vrLen = 588; + vrLoc = 0; + }; + 17D1B58A0F6355EB00694C57 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E07AA810AAC8EA200A4B32F /* HotKeyPane.m */; + name = "HotKeyPane.m: 38"; + rLen = 294; + rLoc = 1732; + rType = 0; + vrLen = 946; + vrLoc = 1343; + }; + 17D1B5D10F63585900694C57 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 17C6433E0B8A783F00C53518 /* OutputPane.m */; + name = "OutputPane.m: 14"; + rLen = 0; + rLoc = 193; + rType = 0; + vrLen = 610; + vrLoc = 80; + }; + 8D5B49AC048680CD000E48DA /* General */ = { + activeExec = 0; + }; + 8D5B49B7048680CD000E48DA /* Info.plist */ = { + uiCtxt = { + sepNavWindowFrame = "{{15, 90}, {1244, 938}}"; + }; + }; + 8E07AA800AAC8EA200A4B32F /* HotKeyPane.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1142, 401}}"; + sepNavSelRange = "{353, 0}"; + sepNavVisRange = "{0, 574}"; + }; + }; + 8E07AA810AAC8EA200A4B32F /* HotKeyPane.m */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1142, 1442}}"; + sepNavSelRange = "{1732, 294}"; + sepNavVisRange = "{1343, 946}"; + }; + }; + 8E07AA820AAC8EA200A4B32F /* GeneralPreferencePane.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1142, 401}}"; + sepNavSelRange = "{410, 9}"; + sepNavVisRange = "{0, 533}"; + }; + }; + 8E07AA830AAC8EA200A4B32F /* GeneralPreferencePane.m */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1161, 896}}"; + sepNavSelRange = "{583, 0}"; + sepNavVisRange = "{84, 635}"; + }; + }; + 8E07AA840AAC8EA200A4B32F /* GeneralPreferencesPlugin.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1142, 518}}"; + sepNavSelRange = "{730, 0}"; + sepNavVisRange = "{151, 604}"; + }; + }; + 8E07AA850AAC8EA200A4B32F /* GeneralPreferencesPlugin.m */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1206, 826}}"; + sepNavSelRange = "{205, 24}"; + sepNavVisRange = "{150, 548}"; + }; + }; + 8E6C12120AACAE4100819171 /* NDHotKeyControl.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1269, 1134}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 863}"; + }; + }; + 8E6C12130AACAE4100819171 /* NDHotKeyControl.m */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1269, 1652}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 484}"; + }; + }; + 8E6C12140AACAE4100819171 /* NDHotKeyEvent.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {2280, 5796}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 1792}"; + }; + }; + 8E6C139F0AACBAB500819171 /* HotKeyControl.m */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1269, 1512}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 749}"; + }; + }; + 99F1813E0DE01D7A00FD5FFB /* PlaylistBehaviorArrayController.m */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1269, 462}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 1004}"; + }; + }; +} diff --git a/Preferences/General/GeneralPreferencePane.h b/Preferences/General/GeneralPreferencePane.h new file mode 100644 index 000000000..c20b30e50 --- /dev/null +++ b/Preferences/General/GeneralPreferencePane.h @@ -0,0 +1,25 @@ +// +// PreferencePane.h +// Preferences +// +// Created by Vincent Spader on 9/4/06. +// Copyright 2006 Vincent Spader. All rights reserved. +// + +#import +#import "PreferencePanePlugin.h" + +@interface GeneralPreferencePane : NSObject { + IBOutlet NSView *view; + + NSString *title; + NSImage *icon; +} + ++ (GeneralPreferencePane *)preferencePaneWithView:(NSView *)v title:(NSString *)t iconNamed:(NSString *)i; + +- (void)setView:(NSView *)v; +- (void)setTitle:(NSString *)t; +- (void)setIcon:(NSImage *)i; + +@end diff --git a/Preferences/General/GeneralPreferencePane.m b/Preferences/General/GeneralPreferencePane.m new file mode 100644 index 000000000..914507225 --- /dev/null +++ b/Preferences/General/GeneralPreferencePane.m @@ -0,0 +1,66 @@ +// +// PreferencePane.m +// Preferences +// +// Created by Vincent Spader on 9/4/06. +// Copyright 2006 Vincent Spader. All rights reserved. +// + +#import "GeneralPreferencePane.h" + + +@implementation GeneralPreferencePane + ++ (GeneralPreferencePane *)preferencePaneWithView:(NSView *)v title:(NSString *)t iconNamed:(NSString *)n +{ + GeneralPreferencePane *pane = [[[GeneralPreferencePane alloc] init] autorelease]; + if (pane) + { + [pane setView:v]; + [pane setTitle:t]; + + NSImage *i = [[NSImage alloc] initWithContentsOfFile:[[NSBundle bundleForClass:[self class]] pathForImageResource:n]]; + [pane setIcon:i]; + [i release]; + } + + return pane; +} + +- (NSView *)view +{ + return view; +} + +- (NSString *)title +{ + return title; +} + +- (NSImage *)icon +{ + return icon; +} + +- (void)setView:(NSView *)v +{ + [v retain]; + [view release]; + view = v; +} + +- (void)setTitle:(NSString *)t +{ + [t retain]; + [title release]; + title = t; +} + +- (void)setIcon:(NSImage *)i +{ + [i retain]; + [icon release]; + icon = i; +} + +@end diff --git a/Preferences/General/PrefPaneController.h b/Preferences/General/GeneralPreferencesPlugin.h similarity index 64% rename from Preferences/General/PrefPaneController.h rename to Preferences/General/GeneralPreferencesPlugin.h index e90c74154..4886febde 100644 --- a/Preferences/General/PrefPaneController.h +++ b/Preferences/General/GeneralPreferencesPlugin.h @@ -7,15 +7,16 @@ // #import -#import "SS_PreferencePaneProtocol.h" + +#import "PreferencePanePlugin.h" #import "HotKeyPane.h" #import "OutputPane.h" -@interface PrefPaneController : NSObject { +@interface GeneralPreferencesPlugin : NSObject { IBOutlet HotKeyPane *hotKeyPane; IBOutlet OutputPane *outputPane; - + IBOutlet NSView *playlistView; IBOutlet NSView *scrobblerView; IBOutlet NSView *remoteView; @@ -25,9 +26,11 @@ - (HotKeyPane *)hotKeyPane; - (OutputPane *)outputPane; -- (PreferencePane *)remotePane; -- (PreferencePane *)updatesPane; -- (PreferencePane *)scrobblerPane; -- (PreferencePane *)playlistPane; +- (GeneralPreferencePane *)remotePane; +- (GeneralPreferencePane *)updatesPane; +- (GeneralPreferencePane *)scrobblerPane; +- (GeneralPreferencePane *)playlistPane; + + @end diff --git a/Preferences/General/GeneralPreferencesPlugin.m b/Preferences/General/GeneralPreferencesPlugin.m new file mode 100644 index 000000000..d760d1c99 --- /dev/null +++ b/Preferences/General/GeneralPreferencesPlugin.m @@ -0,0 +1,58 @@ +// +// PreferencesController.m +// Preferences +// +// Created by Vincent Spader on 9/4/06. +// Copyright 2006 Vincent Spader. All rights reserved. +// + +#import "GeneralPreferencesPlugin.h" + +@implementation GeneralPreferencesPlugin + ++ (NSArray *)preferencePanes +{ + GeneralPreferencesPlugin *plugin = [[GeneralPreferencesPlugin alloc] init]; + [NSBundle loadNibNamed:@"Preferences" owner:plugin]; + + return [NSArray arrayWithObjects: + [plugin playlistPane], + [plugin hotKeyPane], + [plugin remotePane], + [plugin updatesPane], + [plugin outputPane], + [plugin scrobblerPane], + nil]; +} + +- (HotKeyPane *)hotKeyPane +{ + return hotKeyPane; +} + +- (OutputPane *)outputPane +{ + return outputPane; +} + +- (GeneralPreferencePane *)remotePane +{ + return [GeneralPreferencePane preferencePaneWithView:remoteView title:NSLocalizedStringFromTableInBundle(@"Remote", nil, [NSBundle bundleForClass:[self class]], @"") iconNamed:@"apple_remote"]; +} + +- (GeneralPreferencePane *)updatesPane +{ + return [GeneralPreferencePane preferencePaneWithView:updatesView title:NSLocalizedStringFromTableInBundle(@"Updates", nil, [NSBundle bundleForClass:[self class]], @"") iconNamed:@"updates"]; +} + +- (GeneralPreferencePane *)scrobblerPane +{ + return [GeneralPreferencePane preferencePaneWithView:scrobblerView title:NSLocalizedStringFromTableInBundle(@"Last.fm", nil, [NSBundle bundleForClass:[self class]], @"") iconNamed:@"lastfm"]; +} + +- (GeneralPreferencePane *)playlistPane +{ + return [GeneralPreferencePane preferencePaneWithView:playlistView title:NSLocalizedStringFromTableInBundle(@"Playlist", nil, [NSBundle bundleForClass:[self class]], @"") iconNamed:@"playlist"]; +} + +@end diff --git a/Preferences/General/HotKeyPane.h b/Preferences/General/HotKeyPane.h index 4402d243b..1a7084024 100644 --- a/Preferences/General/HotKeyPane.h +++ b/Preferences/General/HotKeyPane.h @@ -7,10 +7,10 @@ // #import -#import "PreferencePane.h" +#import "GeneralPreferencePane.h" #import "HotKeyControl.h" -@interface HotKeyPane : PreferencePane { +@interface HotKeyPane : GeneralPreferencePane { IBOutlet HotKeyControl *playHotKeyControl; IBOutlet HotKeyControl *prevHotKeyControl; IBOutlet HotKeyControl *nextHotKeyControl; diff --git a/Preferences/General/HotKeyPane.m b/Preferences/General/HotKeyPane.m index 19ad0fbfb..4d0e58d49 100644 --- a/Preferences/General/HotKeyPane.m +++ b/Preferences/General/HotKeyPane.m @@ -13,9 +13,6 @@ - (void)awakeFromNib { - [self setName:NSLocalizedStringFromTableInBundle(@"Hot Keys", nil, [NSBundle bundleForClass:[self class]], @"") ]; - [self setIcon:@"hot_keys"]; - // [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(windowDidBecomeKey:) name:NSWindowDidBecomeKeyNotification object: [view window]]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(windowDidResignKey:) name:NSWindowDidResignKeyNotification object: [view window]]; @@ -38,6 +35,16 @@ [playHotKeyControl updateStringValue]; } +- (NSString *)title +{ + return NSLocalizedStringFromTableInBundle(@"Hot Keys", nil, [NSBundle bundleForClass:[self class]], @""); +} + +- (NSImage *)icon +{ + return [[[NSImage alloc] initWithContentsOfFile:[[NSBundle bundleForClass:[self class]] pathForImageResource:@"hot_keys"]] autorelease]; +} + /*- (void)windowDidBecomeKey:(id)notification { if ([notification object] == [view window]) { diff --git a/Preferences/General/Info.plist b/Preferences/General/Info.plist index 90e4109e5..748b46a26 100644 --- a/Preferences/General/Info.plist +++ b/Preferences/General/Info.plist @@ -1,5 +1,5 @@ - + CFBundleDevelopmentRegion @@ -21,6 +21,6 @@ CFBundleVersion 1.0 NSPrincipalClass - PrefPaneController + GeneralPreferencesPlugin diff --git a/Preferences/General/OutputPane.h b/Preferences/General/OutputPane.h index d47b2f50d..7e61195a5 100644 --- a/Preferences/General/OutputPane.h +++ b/Preferences/General/OutputPane.h @@ -7,10 +7,10 @@ // #import -#import "PreferencePane.h" +#import "GeneralPreferencePane.h" #import "OutputsArrayController.h" -@interface OutputPane : PreferencePane { +@interface OutputPane : GeneralPreferencePane { IBOutlet OutputsArrayController *outputDevices; } diff --git a/Preferences/General/OutputPane.m b/Preferences/General/OutputPane.m index 45a3f0127..8465e848f 100644 --- a/Preferences/General/OutputPane.m +++ b/Preferences/General/OutputPane.m @@ -11,12 +11,18 @@ @implementation OutputPane -- (void)awakeFromNib +- (NSString *)title { - [self setName:NSLocalizedStringFromTableInBundle(@"Output", nil, [NSBundle bundleForClass:[self class]], @"") ]; - [self setIcon:@"output"]; + return NSLocalizedStringFromTableInBundle(@"Output", nil, [NSBundle bundleForClass:[self class]], @""); } +- (NSImage *)icon +{ + return [[[NSImage alloc] initWithContentsOfFile:[[NSBundle bundleForClass:[self class]] pathForImageResource:@"output"]] autorelease]; +} + + + - (IBAction) takeDeviceID:(id)sender { NSDictionary *device = [[outputDevices selectedObjects] objectAtIndex:0]; diff --git a/Preferences/General/PrefPaneController.m b/Preferences/General/PrefPaneController.m deleted file mode 100644 index 32aa55e92..000000000 --- a/Preferences/General/PrefPaneController.m +++ /dev/null @@ -1,61 +0,0 @@ -// -// PreferencesController.m -// Preferences -// -// Created by Vincent Spader on 9/4/06. -// Copyright 2006 Vincent Spader. All rights reserved. -// - -#import "PrefPaneController.h" -#import "SS_PreferencePaneProtocol.h" - -@implementation PrefPaneController - -+ (NSArray *)preferencePanes -{ - BOOL loaded; - - PrefPaneController *prefPaneController = [[PrefPaneController alloc] init]; - loaded = [NSBundle loadNibNamed:@"Preferences" owner:prefPaneController]; - - return [NSArray arrayWithObjects: - [prefPaneController playlistPane], - [prefPaneController hotKeyPane], - [prefPaneController remotePane], - [prefPaneController updatesPane], - [prefPaneController outputPane], - [prefPaneController scrobblerPane], - nil]; -} - -- (HotKeyPane *)hotKeyPane -{ - return hotKeyPane; -} - -- (OutputPane *)outputPane -{ - return outputPane; -} - -- (PreferencePane *)remotePane -{ - return [PreferencePane preferencePaneWithView:remoteView name:NSLocalizedStringFromTableInBundle(@"Remote", nil, [NSBundle bundleForClass:[self class]], @"") icon:@"apple_remote"]; -} - -- (PreferencePane *)updatesPane -{ - return [PreferencePane preferencePaneWithView:updatesView name:NSLocalizedStringFromTableInBundle(@"Updates", nil, [NSBundle bundleForClass:[self class]], @"") icon:@"updates"]; -} - -- (PreferencePane *)scrobblerPane -{ - return [PreferencePane preferencePaneWithView:scrobblerView name:NSLocalizedStringFromTableInBundle(@"Last.fm", nil, [NSBundle bundleForClass:[self class]], @"") icon:@"lastfm"]; -} - -- (PreferencePane *)playlistPane -{ - return [PreferencePane preferencePaneWithView:playlistView name:NSLocalizedStringFromTableInBundle(@"Playlist", nil, [NSBundle bundleForClass:[self class]], @"") icon:@"playlist"]; -} - -@end diff --git a/Preferences/General/PreferencePane.h b/Preferences/General/PreferencePane.h deleted file mode 100644 index 9b7992e14..000000000 --- a/Preferences/General/PreferencePane.h +++ /dev/null @@ -1,33 +0,0 @@ -// -// PreferencePane.h -// Preferences -// -// Created by Vincent Spader on 9/4/06. -// Copyright 2006 Vincent Spader. All rights reserved. -// - -#import -#import "SS_PreferencePaneProtocol.h" - -@interface PreferencePane : NSObject { - IBOutlet NSView *view; - - NSString *name; - NSImage *icon; -} - -+ (PreferencePane *)preferencePaneWithView:(NSView *)v name:(NSString *)n icon:(NSString *)i; - -- (NSView *)paneView; -- (NSString *)paneName; -- (NSImage *)paneIcon; -- (NSString *)paneToolTip; - -- (BOOL)allowsHorizontalResizing; -- (BOOL)allowsVerticalResizing; - -- (void)setView:(NSView *)v; -- (void)setName:(NSString *)s; -- (void)setIcon:(NSString *)i; - -@end diff --git a/Preferences/General/PreferencePane.m b/Preferences/General/PreferencePane.m deleted file mode 100644 index e32a36459..000000000 --- a/Preferences/General/PreferencePane.m +++ /dev/null @@ -1,77 +0,0 @@ -// -// PreferencePane.m -// Preferences -// -// Created by Vincent Spader on 9/4/06. -// Copyright 2006 Vincent Spader. All rights reserved. -// - -#import "PreferencePane.h" - - -@implementation PreferencePane - -+ (PreferencePane *)preferencePaneWithView:(NSView *)v name:(NSString *)n icon:(NSString *)i -{ - PreferencePane *pane = [[[PreferencePane alloc] init] autorelease]; - if (pane) - { - [pane setView:v]; - [pane setName:n]; - [pane setIcon:i]; - } - - return pane; -} - -- (NSView *)paneView -{ - return view; -} - -- (NSString *)paneName -{ - return name; -} - -- (NSImage *)paneIcon -{ - return icon; -} - -- (NSString *)paneToolTip -{ - return nil; -} - -- (BOOL)allowsHorizontalResizing -{ - return NO; -} - -- (BOOL)allowsVerticalResizing -{ - return NO; -} - -- (void)setView:(NSView *)v -{ - [v retain]; - [view release]; - view = v; -} - -- (void)setName:(NSString *)n -{ - [n retain]; - [name release]; - name = n; -} - -- (void)setIcon:(NSString *)i -{ - [icon release]; - icon = [[NSImage alloc] initWithContentsOfFile:[[NSBundle bundleForClass:[self class]] pathForImageResource:i]]; -} - -@end diff --git a/Preferences/PreferencePanePlugin.h b/Preferences/PreferencePanePlugin.h new file mode 100644 index 000000000..39cd538c4 --- /dev/null +++ b/Preferences/PreferencePanePlugin.h @@ -0,0 +1,27 @@ +// +// PreferencePanePlugin.h +// Cog +// +// Created by Vincent Spader on 3/7/09. +// Copyright 2009 __MyCompanyName__. All rights reserved. +// + +#import + + +@protocol PreferencePanePlugin +@required + +// An array of PrefPaneController instances that the plugin has available ++ (NSArray *)preferencePanes; + +@end + +@protocol PreferencePane +@required + +- (NSView *)view; +- (NSString *)title; +- (NSImage *)icon; + +@end diff --git a/Preferences/PreferencePluginController.h b/Preferences/PreferencePluginController.h new file mode 100644 index 000000000..fd393b1a7 --- /dev/null +++ b/Preferences/PreferencePluginController.h @@ -0,0 +1,22 @@ +// +// PreferencePluginController.h +// Cog +// +// Created by Vincent Spader on 3/7/09. +// Copyright 2009 __MyCompanyName__. All rights reserved. +// + +#import + + +@interface PreferencePluginController : NSObject { + NSArray *_plugins; + + NSMutableArray *_preferencePanes; +} + +- (id)initWithPlugins:(NSArray *)plugins; + +- (NSArray *)preferencePanes; + +@end diff --git a/Preferences/PreferencePluginController.m b/Preferences/PreferencePluginController.m new file mode 100644 index 000000000..5fc5265a7 --- /dev/null +++ b/Preferences/PreferencePluginController.m @@ -0,0 +1,57 @@ +// +// PreferencePluginController.m +// Cog +// +// Created by Vincent Spader on 3/7/09. +// Copyright 2009 __MyCompanyName__. All rights reserved. +// + +#import "PreferencePluginController.h" +#import "PreferencePanePlugin.h" + +@implementation PreferencePluginController + +- (id)initWithPlugins:(NSArray *)plugins +{ + self = [super init]; + if (self) + { + _plugins = [plugins retain]; + _preferencePanes = [[NSMutableArray alloc] init]; + + } + + return self; +} + +- (void)dealloc +{ + [_plugins release]; + [_preferencePanes release]; + + [super dealloc]; +} + +- (void)_searchForPlugins +{ + for (NSBundle *plugin in _plugins) { + [plugin load]; + + Class principalClass = [plugin principalClass]; + if ([principalClass conformsToProtocol:@protocol(PreferencePanePlugin)]) { + NSArray *panes = [principalClass preferencePanes]; + + [_preferencePanes addObjectsFromArray:panes]; + } + } +} + +- (NSArray *)preferencePanes +{ + [self _searchForPlugins]; + + return _preferencePanes; +} + + +@end diff --git a/Preferences/PreferencesController.h b/Preferences/PreferencesController.h index 02b38b20c..44f1f2e43 100644 --- a/Preferences/PreferencesController.h +++ b/Preferences/PreferencesController.h @@ -7,12 +7,12 @@ // #import -#import "SS_PrefsController.h" +@class PreferencesWindow; @interface PreferencesController : NSObject { - SS_PrefsController *prefs; + PreferencesWindow *window; } -- (IBAction)showPrefs:(id)sender; +- (IBAction)showPreferences:(id)sender; @end diff --git a/Preferences/PreferencesController.m b/Preferences/PreferencesController.m index 64d7df39b..2c4e92bf6 100644 --- a/Preferences/PreferencesController.m +++ b/Preferences/PreferencesController.m @@ -7,31 +7,35 @@ // #import "PreferencesController.h" - +#import "PreferencePluginController.h" +#import "PreferencesWindow.h" @implementation PreferencesController -- (IBAction)showPrefs:(id)sender +- (IBAction)showPreferences:(id)sender { - if (!prefs) { + if (nil == window) { // Determine path to the sample preference panes - NSString *pathToPanes = [[NSBundle mainBundle] resourcePath]; + NSString *pluginPath = [[NSBundle mainBundle] pathForResource:@"General" ofType:@"preferencePane"]; + NSBundle *bundle = [NSBundle bundleWithPath:pluginPath]; + - prefs = [[SS_PrefsController alloc] initWithPanesSearchPath:pathToPanes bundleExtension:@"preferencePane"]; - [prefs setDebug:YES]; + PreferencePluginController *pluginController = [[PreferencePluginController alloc] initWithPlugins:[NSArray arrayWithObject:bundle]]; + + window = [[PreferencesWindow alloc] initWithPreferencePanes:[pluginController preferencePanes]]; // Set which panes are included, and their order. //[prefs setPanesOrder:[NSArray arrayWithObjects:@"General", @"Updating", @"A Non-Existent Preference Pane", nil]]; } // Show the preferences window. - [prefs showPreferencesWindow]; + [window show]; } - (void)dealloc { - [prefs release]; + [window release]; [super dealloc]; }