adium 4458:6d1f9b903525: Started working on (and pretty much fin...

commits at adium.im commits at adium.im
Thu Jan 5 19:08:30 UTC 2012


details:	http://hg.adium.im/adium/rev/6d1f9b903525
revision:	4458:6d1f9b903525
branch:		IRCServerConsole
author:		Thijs Alkemade <thijsalkemade at gmail.com>
date:		Thu Jan 05 20:06:33 2012 +0100

Started working on (and pretty much finished) implementing a "server console"
for IRC. This contains _all_ that is sent/received from an IRC server
(salvaged to be valid UTF8). Works pretty similar to the Jabber console.

Creating a branch for this, as it's not ready for inclusion in 1.5.

diffs (truncated from 2225 to 1000 lines):

diff -r 1416b18cc35a -r 6d1f9b903525 Adium.xcodeproj/project.pbxproj
--- a/Adium.xcodeproj/project.pbxproj	Mon Dec 26 20:17:38 2011 +0100
+++ b/Adium.xcodeproj/project.pbxproj	Thu Jan 05 20:06:33 2012 +0100
@@ -366,7 +366,6 @@
 		3461621706FB482D009181D8 /* UserList Layout.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3461621306FB482D009181D8 /* UserList Layout.plist */; };
 		346196F20D31607500763051 /* SRSnapback.png in Resources */ = {isa = PBXBuildFile; fileRef = 346196F10D31607500763051 /* SRSnapback.png */; };
 		346371080BCA0A5400AD57AD /* AIMessageTabSplitView.m in Sources */ = {isa = PBXBuildFile; fileRef = 346371060BCA0A5400AD57AD /* AIMessageTabSplitView.m */; };
-		346544DB0C8F686B0046ED68 /* AMPurpleJabberXMLConsole.nib in Resources */ = {isa = PBXBuildFile; fileRef = 346544D90C8F686B0046ED68 /* AMPurpleJabberXMLConsole.nib */; };
 		346544DC0C8F686B0046ED68 /* AMPurpleJabberDiscoveryBrowser.nib in Resources */ = {isa = PBXBuildFile; fileRef = 346544DA0C8F686B0046ED68 /* AMPurpleJabberDiscoveryBrowser.nib */; };
 		3465451C0C8F6A670046ED68 /* AMPurpleJabberServiceDiscoveryBrowserController.h in Headers */ = {isa = PBXBuildFile; fileRef = 3465451A0C8F6A670046ED68 /* AMPurpleJabberServiceDiscoveryBrowserController.h */; };
 		3465451D0C8F6A670046ED68 /* AMPurpleJabberServiceDiscoveryBrowserController.m in Sources */ = {isa = PBXBuildFile; fileRef = 3465451B0C8F6A670046ED68 /* AMPurpleJabberServiceDiscoveryBrowserController.m */; };
@@ -1402,6 +1401,11 @@
 		76889DEB12D3CA17007AEF00 /* GetInfo.png in Resources */ = {isa = PBXBuildFile; fileRef = 76889DEA12D3CA17007AEF00 /* GetInfo.png */; };
 		76889DEF12D3CA40007AEF00 /* Personal.png in Resources */ = {isa = PBXBuildFile; fileRef = 76889DEE12D3CA40007AEF00 /* Personal.png */; };
 		76C1AF9C125A906A00D269A9 /* AIAdiumURLProtocol.m in Sources */ = {isa = PBXBuildFile; fileRef = 76C1AF9B125A906A00D269A9 /* AIAdiumURLProtocol.m */; };
+		76FF925A14B524B40043E23B /* AIIRCConsoleController.h in Headers */ = {isa = PBXBuildFile; fileRef = 76FF925814B524B40043E23B /* AIIRCConsoleController.h */; };
+		76FF925B14B524B40043E23B /* AIIRCConsoleController.m in Sources */ = {isa = PBXBuildFile; fileRef = 76FF925914B524B40043E23B /* AIIRCConsoleController.m */; };
+		76FF926414B62A980043E23B /* AIConsole.nib in Resources */ = {isa = PBXBuildFile; fileRef = 76FF926314B62A980043E23B /* AIConsole.nib */; };
+		76FF926714B62AB80043E23B /* AIConsoleController.h in Headers */ = {isa = PBXBuildFile; fileRef = 76FF926514B62AB80043E23B /* AIConsoleController.h */; };
+		76FF926814B62AB80043E23B /* AIConsoleController.m in Sources */ = {isa = PBXBuildFile; fileRef = 76FF926614B62AB80043E23B /* AIConsoleController.m */; };
 		7E6F8A94105611B700C6D80D /* libotr.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7E6F8A93105611B700C6D80D /* libotr.framework */; };
 		7E6F8ACD105613AD00C6D80D /* libotr.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 7E6F8A93105611B700C6D80D /* libotr.framework */; };
 		7E824CDD06387FAF00813072 /* LinkEditor.nib in Resources */ = {isa = PBXBuildFile; fileRef = 7E824CCE06387FAF00813072 /* LinkEditor.nib */; };
@@ -1432,8 +1436,8 @@
 		8184C5B80C1B812500CB53E7 /* AMPurpleRequestFieldsWindow.nib in Resources */ = {isa = PBXBuildFile; fileRef = 8184C5B30C1B812500CB53E7 /* AMPurpleRequestFieldsWindow.nib */; };
 		8184CC350C1E3C3800CB53E7 /* AMPurpleJabberMoodTooltip.h in Headers */ = {isa = PBXBuildFile; fileRef = 8184CC330C1E3C3800CB53E7 /* AMPurpleJabberMoodTooltip.h */; };
 		8184CC360C1E3C3800CB53E7 /* AMPurpleJabberMoodTooltip.m in Sources */ = {isa = PBXBuildFile; fileRef = 8184CC340C1E3C3800CB53E7 /* AMPurpleJabberMoodTooltip.m */; };
-		818E96A30C16D443007623BD /* AMXMLConsoleController.h in Headers */ = {isa = PBXBuildFile; fileRef = 818E96A10C16D443007623BD /* AMXMLConsoleController.h */; };
-		818E96A40C16D443007623BD /* AMXMLConsoleController.m in Sources */ = {isa = PBXBuildFile; fileRef = 818E96A20C16D443007623BD /* AMXMLConsoleController.m */; };
+		818E96A30C16D443007623BD /* AIJabberConsoleController.h in Headers */ = {isa = PBXBuildFile; fileRef = 818E96A10C16D443007623BD /* AIJabberConsoleController.h */; };
+		818E96A40C16D443007623BD /* AIJabberConsoleController.m in Sources */ = {isa = PBXBuildFile; fileRef = 818E96A20C16D443007623BD /* AIJabberConsoleController.m */; };
 		81DAE8720C261E8A00780E4C /* AMPurpleTuneTooltip.h in Headers */ = {isa = PBXBuildFile; fileRef = 81DAE8700C261E8A00780E4C /* AMPurpleTuneTooltip.h */; };
 		81DAE8730C261E8A00780E4C /* AMPurpleTuneTooltip.m in Sources */ = {isa = PBXBuildFile; fileRef = 81DAE8710C261E8A00780E4C /* AMPurpleTuneTooltip.m */; };
 		81DAED520C26F4F700780E4C /* AMPurpleJabberServiceDiscoveryBrowsing.h in Headers */ = {isa = PBXBuildFile; fileRef = 81DAED500C26F4F700780E4C /* AMPurpleJabberServiceDiscoveryBrowsing.h */; };
@@ -2894,7 +2898,6 @@
 		3465235308371A3F009565FE /* zh_CN */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = zh_CN; path = "Plugins/Purple Service/zh_CN.lproj/Localizable.strings"; sourceTree = "<group>"; };
 		3465236508371A64009565FE /* cs */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = cs; path = "Plugins/Purple Service/cs.lproj/Localizable.strings"; sourceTree = "<group>"; };
 		3465236808371A65009565FE /* cs */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = cs; path = Resources/cs.lproj/Localizable.strings; sourceTree = "<group>"; };
-		346544D90C8F686B0046ED68 /* AMPurpleJabberXMLConsole.nib */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = AMPurpleJabberXMLConsole.nib; path = "Plugins/Purple Service/AMPurpleJabberXMLConsole.nib"; sourceTree = "<group>"; };
 		346544DA0C8F686B0046ED68 /* AMPurpleJabberDiscoveryBrowser.nib */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = AMPurpleJabberDiscoveryBrowser.nib; path = "Plugins/Purple Service/AMPurpleJabberDiscoveryBrowser.nib"; sourceTree = "<group>"; };
 		3465451A0C8F6A670046ED68 /* AMPurpleJabberServiceDiscoveryBrowserController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AMPurpleJabberServiceDiscoveryBrowserController.h; path = "Plugins/Purple Service/AMPurpleJabberServiceDiscoveryBrowserController.h"; sourceTree = "<group>"; };
 		3465451B0C8F6A670046ED68 /* AMPurpleJabberServiceDiscoveryBrowserController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AMPurpleJabberServiceDiscoveryBrowserController.m; path = "Plugins/Purple Service/AMPurpleJabberServiceDiscoveryBrowserController.m"; sourceTree = "<group>"; };
@@ -4548,6 +4551,11 @@
 		76889DEE12D3CA40007AEF00 /* Personal.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Personal.png; path = Resources/Personal.png; sourceTree = "<group>"; };
 		76C1AF9A125A906A00D269A9 /* AIAdiumURLProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AIAdiumURLProtocol.h; path = "Plugins/WebKit Message View/AIAdiumURLProtocol.h"; sourceTree = "<group>"; };
 		76C1AF9B125A906A00D269A9 /* AIAdiumURLProtocol.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AIAdiumURLProtocol.m; path = "Plugins/WebKit Message View/AIAdiumURLProtocol.m"; sourceTree = "<group>"; };
+		76FF925814B524B40043E23B /* AIIRCConsoleController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AIIRCConsoleController.h; path = "Plugins/Purple Service/AIIRCConsoleController.h"; sourceTree = "<group>"; };
+		76FF925914B524B40043E23B /* AIIRCConsoleController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AIIRCConsoleController.m; path = "Plugins/Purple Service/AIIRCConsoleController.m"; sourceTree = "<group>"; };
+		76FF926314B62A980043E23B /* AIConsole.nib */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = AIConsole.nib; path = "Frameworks/Adium Framework/Resources/AIConsole.nib"; sourceTree = "<group>"; };
+		76FF926514B62AB80043E23B /* AIConsoleController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AIConsoleController.h; path = "Frameworks/Adium Framework/Source/AIConsoleController.h"; sourceTree = "<group>"; };
+		76FF926614B62AB80043E23B /* AIConsoleController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AIConsoleController.m; path = "Frameworks/Adium Framework/Source/AIConsoleController.m"; sourceTree = "<group>"; };
 		77D903500B78CF1000B86C42 /* zhm */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; name = zhm; path = "Plugins/Purple Service/zhm"; sourceTree = "<group>"; };
 		7E1E8176063A3EEC00EB00F7 /* AIContextMenuTextView.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = AIContextMenuTextView.h; path = "Frameworks/Adium Framework/Source/AIContextMenuTextView.h"; sourceTree = "<group>"; };
 		7E1E8177063A3EEC00EB00F7 /* AIContextMenuTextView.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = AIContextMenuTextView.m; path = "Frameworks/Adium Framework/Source/AIContextMenuTextView.m"; sourceTree = "<group>"; };
@@ -4597,8 +4605,8 @@
 		8184C5B30C1B812500CB53E7 /* AMPurpleRequestFieldsWindow.nib */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = AMPurpleRequestFieldsWindow.nib; path = "Plugins/Purple Service/AMPurpleRequestFieldsWindow.nib"; sourceTree = "<group>"; };
 		8184CC330C1E3C3800CB53E7 /* AMPurpleJabberMoodTooltip.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AMPurpleJabberMoodTooltip.h; path = "Plugins/Purple Service/AMPurpleJabberMoodTooltip.h"; sourceTree = "<group>"; };
 		8184CC340C1E3C3800CB53E7 /* AMPurpleJabberMoodTooltip.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AMPurpleJabberMoodTooltip.m; path = "Plugins/Purple Service/AMPurpleJabberMoodTooltip.m"; sourceTree = "<group>"; };
-		818E96A10C16D443007623BD /* AMXMLConsoleController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AMXMLConsoleController.h; path = "Plugins/Purple Service/AMXMLConsoleController.h"; sourceTree = "<group>"; };
-		818E96A20C16D443007623BD /* AMXMLConsoleController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AMXMLConsoleController.m; path = "Plugins/Purple Service/AMXMLConsoleController.m"; sourceTree = "<group>"; };
+		818E96A10C16D443007623BD /* AIJabberConsoleController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AIJabberConsoleController.h; path = "Plugins/Purple Service/AIJabberConsoleController.h"; sourceTree = "<group>"; };
+		818E96A20C16D443007623BD /* AIJabberConsoleController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AIJabberConsoleController.m; path = "Plugins/Purple Service/AIJabberConsoleController.m"; sourceTree = "<group>"; };
 		81DAE8700C261E8A00780E4C /* AMPurpleTuneTooltip.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AMPurpleTuneTooltip.h; path = "Plugins/Purple Service/AMPurpleTuneTooltip.h"; sourceTree = "<group>"; };
 		81DAE8710C261E8A00780E4C /* AMPurpleTuneTooltip.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AMPurpleTuneTooltip.m; path = "Plugins/Purple Service/AMPurpleTuneTooltip.m"; sourceTree = "<group>"; };
 		81DAED500C26F4F700780E4C /* AMPurpleJabberServiceDiscoveryBrowsing.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AMPurpleJabberServiceDiscoveryBrowsing.h; path = "Plugins/Purple Service/AMPurpleJabberServiceDiscoveryBrowsing.h"; sourceTree = "<group>"; };
@@ -5539,9 +5547,8 @@
 				4BB19298079EE90900DAA523 /* PurpleDefaultsJabber.plist */,
 				63125D7A0A75EBBE00303EE9 /* LiveJournal */,
 				A3C0405808D744B200B48CE1 /* Google Talk */,
-				818E96A10C16D443007623BD /* AMXMLConsoleController.h */,
-				818E96A20C16D443007623BD /* AMXMLConsoleController.m */,
-				346544D90C8F686B0046ED68 /* AMPurpleJabberXMLConsole.nib */,
+				818E96A10C16D443007623BD /* AIJabberConsoleController.h */,
+				818E96A20C16D443007623BD /* AIJabberConsoleController.m */,
 				8184CC330C1E3C3800CB53E7 /* AMPurpleJabberMoodTooltip.h */,
 				8184CC340C1E3C3800CB53E7 /* AMPurpleJabberMoodTooltip.m */,
 				346545090C8F69280046ED68 /* Discovery Browsing */,
@@ -6119,6 +6126,8 @@
 				34E4CD510E68277D00D1B0DC /* ESIRCJoinChatView.nib */,
 				34E4CD500E68277D00D1B0DC /* ESIRCJoinChatViewController.h */,
 				34E4CD4F0E68277D00D1B0DC /* ESIRCJoinChatViewController.m */,
+				76FF925814B524B40043E23B /* AIIRCConsoleController.h */,
+				76FF925914B524B40043E23B /* AIIRCConsoleController.m */,
 				11AE5575109CCC950074BDC2 /* irc-small.png */,
 				34E4CD640E68279C00D1B0DC /* irc.png */,
 				34E4CD650E68279C00D1B0DC /* PurpleDefaultsIRC.plist */,
@@ -8220,6 +8229,16 @@
 			name = "HTTP Server";
 			sourceTree = "<group>";
 		};
+		76FF925C14B60B4B0043E23B /* Console */ = {
+			isa = PBXGroup;
+			children = (
+				76FF926314B62A980043E23B /* AIConsole.nib */,
+				76FF926514B62AB80043E23B /* AIConsoleController.h */,
+				76FF926614B62AB80043E23B /* AIConsoleController.m */,
+			);
+			name = Console;
+			sourceTree = "<group>";
+		};
 		7E824CCD06387FAF00813072 /* Link Management */ = {
 			isa = PBXGroup;
 			children = (
@@ -8668,6 +8687,7 @@
 				4B422C0A05ACB248005E720B /* AISortController.m */,
 				4B4F5B2D042D645F00A8010A /* Accounts & Services */,
 				636D930E0E4E9DDD00E5F558 /* Address Book Integration */,
+				76FF925C14B60B4B0043E23B /* Console */,
 				34B70349076EDB410016E8BA /* Contact Alerts */,
 				340F444F06D87A830072E2FA /* Contact List */,
 				F5300A2B032F760B01A8010A /* Contacts & Chats */,
@@ -8947,7 +8967,7 @@
 				344499E90B23CA5D0054B761 /* adiumPurpleAccounts.h in Headers */,
 				34B1268E0B924E28003B0451 /* adiumPurpleDnsRequest.h in Headers */,
 				34A663920BF66D96008637BB /* PurpleCommon.h in Headers */,
-				818E96A30C16D443007623BD /* AMXMLConsoleController.h in Headers */,
+				818E96A30C16D443007623BD /* AIJabberConsoleController.h in Headers */,
 				8184C5A50C1B803400CB53E7 /* AMPurpleRequestFieldsController.h in Headers */,
 				8184CC350C1E3C3800CB53E7 /* AMPurpleJabberMoodTooltip.h in Headers */,
 				81DAE8720C261E8A00780E4C /* AMPurpleTuneTooltip.h in Headers */,
@@ -8985,6 +9005,7 @@
 				34D8154613B663700022C8C4 /* JSONKit.h in Headers */,
 				34D8154E13B663A80022C8C4 /* auth_fb.h in Headers */,
 				34D8155013B663A80022C8C4 /* fbapi.h in Headers */,
+				76FF925A14B524B40043E23B /* AIIRCConsoleController.h in Headers */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -9117,6 +9138,7 @@
 				34F17FCE0F8EAC34009C5A39 /* AIListOutlineView+Drawing.h in Headers */,
 				63B0EC9D0F8FBB660062476B /* AIProxyListObject.h in Headers */,
 				9779184814A14E9F00FAAC33 /* AIBoolToControlTextColorTransformer.h in Headers */,
+				76FF926714B62AB80043E23B /* AIConsoleController.h in Headers */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -9547,7 +9569,6 @@
 				8184C5B80C1B812500CB53E7 /* AMPurpleRequestFieldsWindow.nib in Resources */,
 				8181EEBE0C30673E00E802F7 /* AMPurpleSearchResultsWindow.nib in Resources */,
 				8173C5760C4C3DB800C9E64E /* downloadprogress.png in Resources */,
-				346544DB0C8F686B0046ED68 /* AMPurpleJabberXMLConsole.nib in Resources */,
 				346544DC0C8F686B0046ED68 /* AMPurpleJabberDiscoveryBrowser.nib in Resources */,
 				343BB5C40C96D57900506F9B /* PurpleDefaultsMySpace.plist in Resources */,
 				343BB63B0C96DC1100506F9B /* MySpace-small.png in Resources */,
@@ -9857,6 +9878,7 @@
 				1199AB0610BE13E600646322 /* Authorize.tiff in Resources */,
 				1199AB0710BE13E600646322 /* Deny.tiff in Resources */,
 				1199AB0810BE13E600646322 /* Ignore.tiff in Resources */,
+				76FF926414B62A980043E23B /* AIConsole.nib in Resources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -10078,7 +10100,7 @@
 				34D073D20B1E1A4500D63DF2 /* ESAIMService.m in Sources */,
 				344499EA0B23CA5D0054B761 /* adiumPurpleAccounts.m in Sources */,
 				34B1268F0B924E28003B0451 /* adiumPurpleDnsRequest.m in Sources */,
-				818E96A40C16D443007623BD /* AMXMLConsoleController.m in Sources */,
+				818E96A40C16D443007623BD /* AIJabberConsoleController.m in Sources */,
 				8184C5A60C1B803400CB53E7 /* AMPurpleRequestFieldsController.m in Sources */,
 				8184CC360C1E3C3800CB53E7 /* AMPurpleJabberMoodTooltip.m in Sources */,
 				81DAE8730C261E8A00780E4C /* AMPurpleTuneTooltip.m in Sources */,
@@ -10119,6 +10141,7 @@
 				34D8154713B663700022C8C4 /* JSONKit.m in Sources */,
 				34D8154D13B663A80022C8C4 /* auth_fb.c in Sources */,
 				34D8154F13B663A80022C8C4 /* fbapi.c in Sources */,
+				76FF925B14B524B40043E23B /* AIIRCConsoleController.m in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -10587,6 +10610,7 @@
 				34F17FCF0F8EAC34009C5A39 /* AIListOutlineView+Drawing.m in Sources */,
 				63B0EC9C0F8FBB660062476B /* AIProxyListObject.m in Sources */,
 				9779184914A14E9F00FAAC33 /* AIBoolToControlTextColorTransformer.m in Sources */,
+				76FF926814B62AB80043E23B /* AIConsoleController.m in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
diff -r 1416b18cc35a -r 6d1f9b903525 Frameworks/Adium Framework/Resources/AIConsole.nib/designable.nib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/Adium Framework/Resources/AIConsole.nib/designable.nib	Thu Jan 05 20:06:33 2012 +0100
@@ -0,0 +1,683 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00">
+	<data>
+		<int key="IBDocument.SystemTarget">1060</int>
+		<string key="IBDocument.SystemVersion">11C74</string>
+		<string key="IBDocument.InterfaceBuilderVersion">1938</string>
+		<string key="IBDocument.AppKitVersion">1138.23</string>
+		<string key="IBDocument.HIToolboxVersion">567.00</string>
+		<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
+			<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
+			<string key="NS.object.0">1938</string>
+		</object>
+		<array key="IBDocument.IntegratedClassDependencies">
+			<string>NSView</string>
+			<string>NSSplitView</string>
+			<string>NSScrollView</string>
+			<string>NSWindowTemplate</string>
+			<string>NSTextView</string>
+			<string>NSButtonCell</string>
+			<string>NSButton</string>
+			<string>NSScroller</string>
+			<string>NSCustomObject</string>
+		</array>
+		<array key="IBDocument.PluginDependencies">
+			<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+		</array>
+		<object class="NSMutableDictionary" key="IBDocument.Metadata">
+			<string key="NS.key.0">PluginDependencyRecalculationVersion</string>
+			<integer value="1" key="NS.object.0"/>
+		</object>
+		<array class="NSMutableArray" key="IBDocument.RootObjects" id="52542789">
+			<object class="NSCustomObject" id="17063629">
+				<string key="NSClassName">AIConsoleController</string>
+			</object>
+			<object class="NSCustomObject" id="1058410493">
+				<string key="NSClassName">FirstResponder</string>
+			</object>
+			<object class="NSCustomObject" id="112054183">
+				<string key="NSClassName">NSApplication</string>
+			</object>
+			<object class="NSWindowTemplate" id="453859001">
+				<int key="NSWindowStyleMask">15</int>
+				<int key="NSWindowBacking">2</int>
+				<string key="NSWindowRect">{{410, 362}, {480, 493}}</string>
+				<int key="NSWTFlags">813170688</int>
+				<string key="NSWindowTitle">Console</string>
+				<object class="NSMutableString" key="NSWindowClass">
+					<characters key="NS.bytes">NSWindow</characters>
+				</object>
+				<object class="NSMutableString" key="NSViewClass">
+					<characters key="NS.bytes">View</characters>
+				</object>
+				<nil key="NSUserInterfaceItemIdentifier"/>
+				<string key="NSWindowContentMinSize">{213, 107}</string>
+				<object class="NSView" key="NSWindowView" id="567992763">
+					<reference key="NSNextResponder"/>
+					<int key="NSvFlags">256</int>
+					<array class="NSMutableArray" key="NSSubviews">
+						<object class="NSSplitView" id="612597043">
+							<reference key="NSNextResponder" ref="567992763"/>
+							<int key="NSvFlags">274</int>
+							<array class="NSMutableArray" key="NSSubviews">
+								<object class="NSScrollView" id="853672382">
+									<reference key="NSNextResponder" ref="612597043"/>
+									<int key="NSvFlags">274</int>
+									<array class="NSMutableArray" key="NSSubviews">
+										<object class="NSClipView" id="881950399">
+											<reference key="NSNextResponder" ref="853672382"/>
+											<int key="NSvFlags">2304</int>
+											<array class="NSMutableArray" key="NSSubviews">
+												<object class="NSTextView" id="908079478">
+													<reference key="NSNextResponder" ref="881950399"/>
+													<int key="NSvFlags">2322</int>
+													<string key="NSFrameSize">{478, 14}</string>
+													<reference key="NSSuperview" ref="881950399"/>
+													<reference key="NSWindow"/>
+													<reference key="NSNextKeyView" ref="916643931"/>
+													<object class="NSTextContainer" key="NSTextContainer" id="972038568">
+														<object class="NSLayoutManager" key="NSLayoutManager">
+															<object class="NSTextStorage" key="NSTextStorage">
+																<object class="NSMutableString" key="NSString">
+																	<characters key="NS.bytes"/>
+																</object>
+																<nil key="NSDelegate"/>
+															</object>
+															<array class="NSMutableArray" key="NSTextContainers">
+																<reference ref="972038568"/>
+															</array>
+															<int key="NSLMFlags">6</int>
+															<nil key="NSDelegate"/>
+														</object>
+														<reference key="NSTextView" ref="908079478"/>
+														<double key="NSWidth">478</double>
+														<int key="NSTCFlags">1</int>
+													</object>
+													<object class="NSTextViewSharedData" key="NSSharedData">
+														<int key="NSFlags">67119973</int>
+														<int key="NSTextCheckingTypes">0</int>
+														<nil key="NSMarkedAttributes"/>
+														<object class="NSColor" key="NSBackgroundColor" id="69092154">
+															<int key="NSColorSpace">3</int>
+															<bytes key="NSWhite">MQA</bytes>
+														</object>
+														<dictionary key="NSSelectedAttributes">
+															<object class="NSColor" key="NSBackgroundColor" id="724869929">
+																<int key="NSColorSpace">6</int>
+																<string key="NSCatalogName">System</string>
+																<string key="NSColorName">selectedTextBackgroundColor</string>
+																<object class="NSColor" key="NSColor">
+																	<int key="NSColorSpace">3</int>
+																	<bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>
+																</object>
+															</object>
+															<object class="NSColor" key="NSColor" id="448573422">
+																<int key="NSColorSpace">6</int>
+																<string key="NSCatalogName">System</string>
+																<string key="NSColorName">selectedTextColor</string>
+																<object class="NSColor" key="NSColor" id="116931458">
+																	<int key="NSColorSpace">3</int>
+																	<bytes key="NSWhite">MAA</bytes>
+																</object>
+															</object>
+														</dictionary>
+														<reference key="NSInsertionColor" ref="116931458"/>
+														<dictionary key="NSLinkAttributes">
+															<object class="NSColor" key="NSColor" id="46512914">
+																<int key="NSColorSpace">1</int>
+																<bytes key="NSRGB">MCAwIDEAA</bytes>
+															</object>
+															<integer value="1" key="NSUnderline"/>
+														</dictionary>
+														<nil key="NSDefaultParagraphStyle"/>
+														<nil key="NSTextFinder"/>
+														<int key="NSPreferredTextFinderStyle">1</int>
+													</object>
+													<int key="NSTVFlags">6</int>
+													<string key="NSMaxSize">{478, 10000000}</string>
+													<string key="NSMinize">{114, 0}</string>
+													<nil key="NSDelegate"/>
+												</object>
+											</array>
+											<string key="NSFrame">{{1, 1}, {478, 270}}</string>
+											<reference key="NSSuperview" ref="853672382"/>
+											<reference key="NSWindow"/>
+											<reference key="NSNextKeyView" ref="908079478"/>
+											<reference key="NSDocView" ref="908079478"/>
+											<reference key="NSBGColor" ref="69092154"/>
+											<object class="NSCursor" key="NSCursor" id="231899125">
+												<string key="NSHotSpot">{4, 5}</string>
+												<object class="NSImage" key="NSImage">
+													<int key="NSImageFlags">12582912</int>
+													<array class="NSMutableArray" key="NSReps">
+														<array>
+															<integer value="0"/>
+															<object class="NSBitmapImageRep">
+																<object class="NSData" key="NSTIFFRepresentation">
+																	<bytes key="NS.bytes">TU0AKgAAAHCAFUqgBVKsAAAAwdVQUqwaEQeIRGJRGFlYqwWLQ+JxuOQpVRmEx2RROKwOQyOUQSPyaUym
+SxqWyKXyeYxyZzWbSuJTScRCbz2Nz+gRKhUOfTqeUai0OSxiWTiBQSHSGFquGwekxyAgAAAOAQAAAwAA
+AAEAEAAAAQEAAwAAAAEAEAAAAQIAAwAAAAIACAAIAQMAAwAAAAEABQAAAQYAAwAAAAEAAQAAAREABAAA
+AAEAAAAIARIAAwAAAAEAAQAAARUAAwAAAAEAAgAAARYAAwAAAAEAEAAAARcABAAAAAEAAABnARwAAwAA
+AAEAAQAAAT0AAwAAAAEAAgAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA</bytes>
+																</object>
+															</object>
+														</array>
+													</array>
+													<object class="NSColor" key="NSColor">
+														<int key="NSColorSpace">3</int>
+														<bytes key="NSWhite">MCAwAA</bytes>
+													</object>
+												</object>
+											</object>
+											<int key="NScvFlags">4</int>
+										</object>
+										<object class="NSScroller" id="902638766">
+											<reference key="NSNextResponder" ref="853672382"/>
+											<int key="NSvFlags">-2147483392</int>
+											<string key="NSFrame">{{-30, 1}, {15, 270}}</string>
+											<reference key="NSSuperview" ref="853672382"/>
+											<reference key="NSWindow"/>
+											<reference key="NSNextKeyView" ref="881950399"/>
+											<reference key="NSTarget" ref="853672382"/>
+											<string key="NSAction">_doScroller:</string>
+											<double key="NSCurValue">1</double>
+										</object>
+										<object class="NSScroller" id="356569521">
+											<reference key="NSNextResponder" ref="853672382"/>
+											<int key="NSvFlags">-2147483392</int>
+											<string key="NSFrame">{{-100, -100}, {87, 18}}</string>
+											<reference key="NSSuperview" ref="853672382"/>
+											<reference key="NSWindow"/>
+											<reference key="NSNextKeyView" ref="902638766"/>
+											<int key="NSsFlags">1</int>
+											<reference key="NSTarget" ref="853672382"/>
+											<string key="NSAction">_doScroller:</string>
+											<double key="NSCurValue">1</double>
+											<double key="NSPercent">0.94565218687057495</double>
+										</object>
+									</array>
+									<string key="NSFrameSize">{480, 272}</string>
+									<reference key="NSSuperview" ref="612597043"/>
+									<reference key="NSWindow"/>
+									<reference key="NSNextKeyView" ref="356569521"/>
+									<int key="NSsFlags">133650</int>
+									<reference key="NSVScroller" ref="902638766"/>
+									<reference key="NSHScroller" ref="356569521"/>
+									<reference key="NSContentView" ref="881950399"/>
+								</object>
+								<object class="NSScrollView" id="916643931">
+									<reference key="NSNextResponder" ref="612597043"/>
+									<int key="NSvFlags">274</int>
+									<array class="NSMutableArray" key="NSSubviews">
+										<object class="NSClipView" id="782526794">
+											<reference key="NSNextResponder" ref="916643931"/>
+											<int key="NSvFlags">2304</int>
+											<array class="NSMutableArray" key="NSSubviews">
+												<object class="NSTextView" id="434298692">
+													<reference key="NSNextResponder" ref="782526794"/>
+													<int key="NSvFlags">2322</int>
+													<set class="NSMutableSet" key="NSDragTypes">
+														<string>Apple HTML pasteboard type</string>
+														<string>Apple PDF pasteboard type</string>
+														<string>Apple PICT pasteboard type</string>
+														<string>Apple PNG pasteboard type</string>
+														<string>Apple URL pasteboard type</string>
+														<string>CorePasteboardFlavorType 0x6D6F6F76</string>
+														<string>NSColor pasteboard type</string>
+														<string>NSFilenamesPboardType</string>
+														<string>NSStringPboardType</string>
+														<string>NeXT Encapsulated PostScript v1.2 pasteboard type</string>
+														<string>NeXT RTFD pasteboard type</string>
+														<string>NeXT Rich Text Format v1.0 pasteboard type</string>
+														<string>NeXT TIFF v4.0 pasteboard type</string>
+														<string>NeXT font pasteboard type</string>
+														<string>NeXT ruler pasteboard type</string>
+														<string>WebURLsWithTitlesPboardType</string>
+														<string>public.url</string>
+													</set>
+													<string key="NSFrameSize">{478, 14}</string>
+													<reference key="NSSuperview" ref="782526794"/>
+													<reference key="NSWindow"/>
+													<reference key="NSNextKeyView" ref="809565161"/>
+													<object class="NSTextContainer" key="NSTextContainer" id="368656334">
+														<object class="NSLayoutManager" key="NSLayoutManager">
+															<object class="NSTextStorage" key="NSTextStorage">
+																<object class="NSMutableString" key="NSString">
+																	<characters key="NS.bytes"/>
+																</object>
+																<nil key="NSDelegate"/>
+															</object>
+															<array class="NSMutableArray" key="NSTextContainers">
+																<reference ref="368656334"/>
+															</array>
+															<int key="NSLMFlags">6</int>
+															<nil key="NSDelegate"/>
+														</object>
+														<reference key="NSTextView" ref="434298692"/>
+														<double key="NSWidth">478</double>
+														<int key="NSTCFlags">1</int>
+													</object>
+													<object class="NSTextViewSharedData" key="NSSharedData">
+														<int key="NSFlags">67119971</int>
+														<int key="NSTextCheckingTypes">0</int>
+														<nil key="NSMarkedAttributes"/>
+														<reference key="NSBackgroundColor" ref="69092154"/>
+														<dictionary key="NSSelectedAttributes">
+															<reference key="NSBackgroundColor" ref="724869929"/>
+															<reference key="NSColor" ref="448573422"/>
+														</dictionary>
+														<reference key="NSInsertionColor" ref="116931458"/>
+														<dictionary key="NSLinkAttributes">
+															<reference key="NSColor" ref="46512914"/>
+															<integer value="1" key="NSUnderline"/>
+														</dictionary>
+														<nil key="NSDefaultParagraphStyle"/>
+														<nil key="NSTextFinder"/>
+														<int key="NSPreferredTextFinderStyle">1</int>
+													</object>
+													<int key="NSTVFlags">6</int>
+													<string key="NSMaxSize">{487, 10000000}</string>
+													<string key="NSMinize">{114, 0}</string>
+													<nil key="NSDelegate"/>
+												</object>
+											</array>
+											<string key="NSFrame">{{1, 1}, {478, 151}}</string>
+											<reference key="NSSuperview" ref="916643931"/>
+											<reference key="NSWindow"/>
+											<reference key="NSNextKeyView" ref="434298692"/>
+											<reference key="NSDocView" ref="434298692"/>
+											<reference key="NSBGColor" ref="69092154"/>
+											<reference key="NSCursor" ref="231899125"/>
+											<int key="NScvFlags">4</int>
+										</object>
+										<object class="NSScroller" id="551701729">
+											<reference key="NSNextResponder" ref="916643931"/>
+											<int key="NSvFlags">-2147483392</int>
+											<string key="NSFrame">{{-30, 1}, {15, 151}}</string>
+											<reference key="NSSuperview" ref="916643931"/>
+											<reference key="NSWindow"/>
+											<reference key="NSNextKeyView" ref="782526794"/>
+											<reference key="NSTarget" ref="916643931"/>
+											<string key="NSAction">_doScroller:</string>
+											<double key="NSCurValue">1</double>
+										</object>
+										<object class="NSScroller" id="36889973">
+											<reference key="NSNextResponder" ref="916643931"/>
+											<int key="NSvFlags">-2147483392</int>
+											<string key="NSFrame">{{-100, -100}, {87, 18}}</string>
+											<reference key="NSSuperview" ref="916643931"/>
+											<reference key="NSWindow"/>
+											<reference key="NSNextKeyView" ref="551701729"/>
+											<int key="NSsFlags">1</int>
+											<reference key="NSTarget" ref="916643931"/>
+											<string key="NSAction">_doScroller:</string>
+											<double key="NSCurValue">1</double>
+											<double key="NSPercent">0.94565218687057495</double>
+										</object>
+									</array>
+									<string key="NSFrame">{{0, 281}, {480, 153}}</string>
+									<reference key="NSSuperview" ref="612597043"/>
+									<reference key="NSWindow"/>
+									<reference key="NSNextKeyView" ref="36889973"/>
+									<int key="NSsFlags">133650</int>
+									<reference key="NSVScroller" ref="551701729"/>
+									<reference key="NSHScroller" ref="36889973"/>
+									<reference key="NSContentView" ref="782526794"/>
+								</object>
+							</array>
+							<string key="NSFrame">{{0, 60}, {480, 434}}</string>
+							<reference key="NSSuperview" ref="567992763"/>
+							<reference key="NSWindow"/>
+							<reference key="NSNextKeyView" ref="853672382"/>
+						</object>
+						<object class="NSButton" id="113854476">
+							<reference key="NSNextResponder" ref="567992763"/>
+							<int key="NSvFlags">289</int>
+							<string key="NSFrame">{{365, 12}, {101, 32}}</string>
+							<reference key="NSSuperview" ref="567992763"/>
+							<reference key="NSWindow"/>
+							<reference key="NSNextKeyView"/>
+							<bool key="NSEnabled">YES</bool>
+							<object class="NSButtonCell" key="NSCell" id="397699485">
+								<int key="NSCellFlags">67239424</int>
+								<int key="NSCellFlags2">134217728</int>
+								<string key="NSContents">Send</string>
+								<object class="NSFont" key="NSSupport" id="666231752">
+									<string key="NSName">LucidaGrande</string>
+									<double key="NSSize">13</double>
+									<int key="NSfFlags">1044</int>
+								</object>
+								<reference key="NSControlView" ref="113854476"/>
+								<int key="NSButtonFlags">-2038284033</int>
+								<int key="NSButtonFlags2">1</int>
+								<reference key="NSAlternateImage" ref="666231752"/>
+								<string key="NSAlternateContents"/>
+								<string key="NSKeyEquivalent"/>
+								<int key="NSPeriodicDelay">200</int>
+								<int key="NSPeriodicInterval">25</int>
+							</object>
+						</object>
+						<object class="NSButton" id="809565161">
+							<reference key="NSNextResponder" ref="567992763"/>
+							<int key="NSvFlags">292</int>
+							<string key="NSFrame">{{14, 12}, {100, 32}}</string>
+							<reference key="NSSuperview" ref="567992763"/>
+							<reference key="NSWindow"/>
+							<reference key="NSNextKeyView" ref="113854476"/>
+							<bool key="NSEnabled">YES</bool>
+							<object class="NSButtonCell" key="NSCell" id="216395690">
+								<int key="NSCellFlags">67239424</int>
+								<int key="NSCellFlags2">134217728</int>
+								<string key="NSContents">Clear Log</string>
+								<reference key="NSSupport" ref="666231752"/>
+								<reference key="NSControlView" ref="809565161"/>
+								<int key="NSButtonFlags">-2038284033</int>
+								<int key="NSButtonFlags2">1</int>
+								<reference key="NSAlternateImage" ref="666231752"/>
+								<string key="NSAlternateContents"/>
+								<object class="NSMutableString" key="NSKeyEquivalent">
+									<characters key="NS.bytes"/>
+								</object>
+								<int key="NSPeriodicDelay">200</int>
+								<int key="NSPeriodicInterval">25</int>
+							</object>
+						</object>
+					</array>
+					<string key="NSFrameSize">{480, 493}</string>
+					<reference key="NSSuperview"/>
+					<reference key="NSWindow"/>
+					<reference key="NSNextKeyView" ref="612597043"/>
+				</object>
+				<string key="NSScreenRect">{{0, 0}, {1920, 1080}}</string>
+				<string key="NSMinSize">{213, 129}</string>
+				<string key="NSMaxSize">{10000000000000, 10000000000000}</string>
+				<string key="NSFrameAutosaveName">consolewindow</string>
+				<bool key="NSWindowIsRestorable">YES</bool>
+			</object>
+		</array>
+		<object class="IBObjectContainer" key="IBDocument.Objects">
+			<array class="NSMutableArray" key="connectionRecords">
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">send:</string>
+						<reference key="source" ref="17063629"/>
+						<reference key="destination" ref="113854476"/>
+					</object>
+					<int key="connectionID">30</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">clearLog:</string>
+						<reference key="source" ref="17063629"/>
+						<reference key="destination" ref="809565161"/>
+					</object>
+					<int key="connectionID">31</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">consoleWindow</string>
+						<reference key="source" ref="17063629"/>
+						<reference key="destination" ref="453859001"/>
+					</object>
+					<int key="connectionID">32</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">injectView</string>
+						<reference key="source" ref="17063629"/>
+						<reference key="destination" ref="434298692"/>
+					</object>
+					<int key="connectionID">33</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">logView</string>
+						<reference key="source" ref="17063629"/>
+						<reference key="destination" ref="908079478"/>
+					</object>
+					<int key="connectionID">34</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">delegate</string>
+						<reference key="source" ref="453859001"/>
+						<reference key="destination" ref="17063629"/>
+					</object>
+					<int key="connectionID">14</int>
+				</object>
+			</array>
+			<object class="IBMutableOrderedSet" key="objectRecords">
+				<array key="orderedObjects">
+					<object class="IBObjectRecord">
+						<int key="objectID">0</int>
+						<array key="object" id="0"/>
+						<reference key="children" ref="52542789"/>
+						<nil key="parent"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">-2</int>
+						<reference key="object" ref="17063629"/>
+						<reference key="parent" ref="0"/>
+						<string key="objectName">File's Owner</string>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">-1</int>
+						<reference key="object" ref="1058410493"/>
+						<reference key="parent" ref="0"/>
+						<string key="objectName">First Responder</string>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">5</int>
+						<reference key="object" ref="453859001"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="567992763"/>
+						</array>
+						<reference key="parent" ref="0"/>
+						<string key="objectName">Window</string>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">6</int>
+						<reference key="object" ref="567992763"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="612597043"/>
+							<reference ref="113854476"/>
+							<reference ref="809565161"/>
+						</array>
+						<reference key="parent" ref="453859001"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">11</int>
+						<reference key="object" ref="612597043"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="853672382"/>
+							<reference ref="916643931"/>
+						</array>
+						<reference key="parent" ref="567992763"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">7</int>
+						<reference key="object" ref="853672382"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="908079478"/>
+							<reference ref="356569521"/>
+							<reference ref="902638766"/>
+						</array>
+						<reference key="parent" ref="612597043"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">8</int>
+						<reference key="object" ref="908079478"/>
+						<reference key="parent" ref="853672382"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">9</int>
+						<reference key="object" ref="916643931"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="434298692"/>
+							<reference ref="36889973"/>
+							<reference ref="551701729"/>
+						</array>
+						<reference key="parent" ref="612597043"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">10</int>
+						<reference key="object" ref="434298692"/>
+						<reference key="parent" ref="916643931"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">12</int>
+						<reference key="object" ref="113854476"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="397699485"/>
+						</array>
+						<reference key="parent" ref="567992763"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">13</int>
+						<reference key="object" ref="809565161"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="216395690"/>
+						</array>
+						<reference key="parent" ref="567992763"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">24</int>
+						<reference key="object" ref="397699485"/>
+						<reference key="parent" ref="113854476"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">25</int>
+						<reference key="object" ref="216395690"/>
+						<reference key="parent" ref="809565161"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">26</int>
+						<reference key="object" ref="356569521"/>
+						<reference key="parent" ref="853672382"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">27</int>
+						<reference key="object" ref="902638766"/>
+						<reference key="parent" ref="853672382"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">28</int>
+						<reference key="object" ref="36889973"/>
+						<reference key="parent" ref="916643931"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">29</int>
+						<reference key="object" ref="551701729"/>
+						<reference key="parent" ref="916643931"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">-3</int>
+						<reference key="object" ref="112054183"/>
+						<reference key="parent" ref="0"/>
+						<string key="objectName">Application</string>
+					</object>
+				</array>
+			</object>
+			<dictionary class="NSMutableDictionary" key="flattenedProperties">
+				<string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="-3.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="10.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="11.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="12.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="13.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="24.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="25.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="26.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="27.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="28.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="29.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="5.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="6.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="7.CustomClassName">AIAutoScrollView</string>
+				<string key="7.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="8.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="9.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+			</dictionary>
+			<dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
+			<nil key="activeLocalization"/>
+			<dictionary class="NSMutableDictionary" key="localizations"/>
+			<nil key="sourceID"/>
+			<int key="maxID">34</int>
+		</object>
+		<object class="IBClassDescriber" key="IBDocument.Classes">
+			<array class="NSMutableArray" key="referencedPartialClassDescriptions">
+				<object class="IBPartialClassDescription">
+					<string key="className">AIAutoScrollView</string>
+					<string key="superclassName">NSScrollView</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBProjectSource</string>
+						<string key="minorKey">./Classes/AIAutoScrollView.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">AIConsoleController</string>
+					<string key="superclassName">NSObject</string>
+					<dictionary class="NSMutableDictionary" key="actions">
+						<string key="clearLog:">id</string>
+						<string key="send:">id</string>
+						<string key="showWindow:">id</string>
+					</dictionary>
+					<dictionary class="NSMutableDictionary" key="actionInfosByName">
+						<object class="IBActionInfo" key="clearLog:">
+							<string key="name">clearLog:</string>
+							<string key="candidateClassName">id</string>
+						</object>
+						<object class="IBActionInfo" key="send:">
+							<string key="name">send:</string>
+							<string key="candidateClassName">id</string>
+						</object>
+						<object class="IBActionInfo" key="showWindow:">
+							<string key="name">showWindow:</string>
+							<string key="candidateClassName">id</string>
+						</object>
+					</dictionary>
+					<dictionary class="NSMutableDictionary" key="outlets">
+						<string key="consoleWindow">NSWindow</string>
+						<string key="injectView">NSTextView</string>
+						<string key="logView">NSTextView</string>
+					</dictionary>
+					<dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
+						<object class="IBToOneOutletInfo" key="consoleWindow">
+							<string key="name">consoleWindow</string>
+							<string key="candidateClassName">NSWindow</string>
+						</object>
+						<object class="IBToOneOutletInfo" key="injectView">
+							<string key="name">injectView</string>
+							<string key="candidateClassName">NSTextView</string>
+						</object>
+						<object class="IBToOneOutletInfo" key="logView">
+							<string key="name">logView</string>
+							<string key="candidateClassName">NSTextView</string>
+						</object>
+					</dictionary>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBProjectSource</string>
+						<string key="minorKey">./Classes/AIConsoleController.h</string>
+					</object>
+				</object>
+			</array>
+		</object>
+		<int key="IBDocument.localizationMode">0</int>
+		<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
+		<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencies">
+			<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
+			<real value="1060" key="NS.object.0"/>
+		</object>
+		<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
+			<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
+			<real value="1060" key="NS.object.0"/>
+		</object>
+		<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
+			<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string>
+			<real value="3200" key="NS.object.0"/>
+		</object>
+		<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
+		<int key="IBDocument.defaultPropertyAccessControl">3</int>
+	</data>
+</archive>
diff -r 1416b18cc35a -r 6d1f9b903525 Frameworks/Adium Framework/Resources/AIConsole.nib/keyedobjects.nib
Binary file Frameworks/Adium Framework/Resources/AIConsole.nib/keyedobjects.nib has changed
diff -r 1416b18cc35a -r 6d1f9b903525 Frameworks/Adium Framework/Source/AIConsoleController.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/Adium Framework/Source/AIConsoleController.h	Thu Jan 05 20:06:33 2012 +0100
@@ -0,0 +1,30 @@
+/* 
+ * Adium is the legal property of its developers, whose names are listed in the copyright file included
+ * with this source distribution.
+ * 
+ * This program is free software; you can redistribute it and/or modify it under the terms of the GNU
+ * General Public License as published by the Free Software Foundation; either version 2 of the License,
+ * or (at your option) any later version.
+ * 
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+ * Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License along with this program; if not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ */
+
+ at interface AIConsoleController : NSObject {
+    IBOutlet NSWindow *consoleWindow;
+    IBOutlet NSTextView *logView;
+    IBOutlet NSTextView *injectView;
+}
+
+- (IBAction)send:(id)sender;
+- (IBAction)clearLog:(id)sender;
+- (IBAction)showWindow:(id)sender;
+- (void)close;
+- (void)windowWillClose:(NSNotification *)notification;
+- (void)appendToLog:(NSAttributedString *)astr;
+
+ at end
diff -r 1416b18cc35a -r 6d1f9b903525 Frameworks/Adium Framework/Source/AIConsoleController.m
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/Adium Framework/Source/AIConsoleController.m	Thu Jan 05 20:06:33 2012 +0100
@@ -0,0 +1,59 @@
+/* 
+ * Adium is the legal property of its developers, whose names are listed in the copyright file included
+ * with this source distribution.
+ * 
+ * This program is free software; you can redistribute it and/or modify it under the terms of the GNU
+ * General Public License as published by the Free Software Foundation; either version 2 of the License,
+ * or (at your option) any later version.
+ * 
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+ * Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License along with this program; if not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ */
+
+#import "AIConsoleController.h"
+#import <AIUtilities/AIAutoScrollView.h>
+
+ at implementation AIConsoleController
+
+- (IBAction)send:(id)sender {
+    // remove from text field
+    [injectView setString:@""];
+}
+
+- (IBAction)clearLog:(id)sender {
+    [logView setString:@""];
+}
+
+- (IBAction)showWindow:(id)sender {
+	if (!consoleWindow) {
+		//Load the window if it's not already loaded
+		[[NSBundle bundleForClass:[AIConsoleController class]] loadNibFile:@"AIConsole"
+														 externalNameTable:[NSDictionary dictionaryWithObject:self forKey:NSNibOwner]
+																  withZone:NULL];
+		if (!consoleWindow) AILogWithSignature(@"Unable to load AIConsole!");
+	}
+	
+    [consoleWindow makeKeyAndOrderFront:sender];
+	[(AIAutoScrollView *)[logView enclosingScrollView] setAutoScrollToBottom:YES];
+}
+
+- (void)windowWillClose:(NSNotification *)notification
+{
+	consoleWindow = nil;
+}
+
+- (void)close
+{
+	[consoleWindow close];
+}
+
+
+- (void)appendToLog:(NSAttributedString*)astr {
+	[[logView textStorage] appendAttributedString:astr];
+}
+
+ at end
diff -r 1416b18cc35a -r 6d1f9b903525 Plugins/Purple Service/AIIRCConsoleController.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Plugins/Purple Service/AIIRCConsoleController.h	Thu Jan 05 20:06:33 2012 +0100
@@ -0,0 +1,25 @@
+/* 
+ * Adium is the legal property of its developers, whose names are listed in the copyright file included
+ * with this source distribution.
+ * 
+ * This program is free software; you can redistribute it and/or modify it under the terms of the GNU
+ * General Public License as published by the Free Software Foundation; either version 2 of the License,
+ * or (at your option) any later version.
+ * 
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+ * Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License along with this program; if not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ */
+
+#import <AdiumLibpurple/PurpleCommon.h>
+#import <Adium/AIConsoleController.h>
+
+ at interface AIIRCConsoleController : AIConsoleController {
+    PurpleConnection *gc;
+}
+
+- (void)setPurpleConnection:(PurpleConnection *)gc;
+ at end
diff -r 1416b18cc35a -r 6d1f9b903525 Plugins/Purple Service/AIIRCConsoleController.m
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Plugins/Purple Service/AIIRCConsoleController.m	Thu Jan 05 20:06:33 2012 +0100
@@ -0,0 +1,126 @@
+/* 
+ * Adium is the legal property of its developers, whose names are listed in the copyright file included
+ * with this source distribution.
+ * 




More information about the commits mailing list