adium 3048:d7d98a5940fa: Add a media window nib/controller.

commits at adium.im commits at adium.im
Fri Dec 11 00:41:18 UTC 2009


details:	http://hg.adium.im/adium/rev/d7d98a5940fa
revision:	3048:d7d98a5940fa
author:		Zachary West <zacw at adium.im>
date:		Thu Dec 10 19:41:13 2009 -0500

Add a media window nib/controller.

diffs (334 lines):

diff -r f944851ae93c -r d7d98a5940fa Adium.xcodeproj/project.pbxproj
--- a/Adium.xcodeproj/project.pbxproj	Thu Dec 10 12:57:12 2009 -0500
+++ b/Adium.xcodeproj/project.pbxproj	Thu Dec 10 19:41:13 2009 -0500
@@ -123,6 +123,8 @@
 		1139FFAA0F85260E0081A418 /* AIIRCChannelLinker.m in Sources */ = {isa = PBXBuildFile; fileRef = 1139FFA90F85260E0081A418 /* AIIRCChannelLinker.m */; };
 		113E06AF10D0ABE3005D5B9A /* adiumPurpleMedia.h in Headers */ = {isa = PBXBuildFile; fileRef = 113E06AE10D0ABE3005D5B9A /* adiumPurpleMedia.h */; settings = {ATTRIBUTES = (Public, ); }; };
 		113F26A00F5CC03F00954772 /* AITwitterURLParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 113F269F0F5CC03F00954772 /* AITwitterURLParser.m */; };
+		1147FCC410D1CB4C004E9E8D /* AIMediaWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 1147FCC310D1CB4C004E9E8D /* AIMediaWindowController.m */; };
+		1147FCC810D1CB83004E9E8D /* AIMediaWindow.nib in Resources */ = {isa = PBXBuildFile; fileRef = 1147FCC710D1CB83004E9E8D /* AIMediaWindow.nib */; };
 		114849B90F7841C600EA5264 /* AIAuthorizationRequestsWindowController.h in Headers */ = {isa = PBXBuildFile; fileRef = 114849B70F7841C600EA5264 /* AIAuthorizationRequestsWindowController.h */; settings = {ATTRIBUTES = (Public, ); }; };
 		114849BA0F7841C600EA5264 /* AIAuthorizationRequestsWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 114849B80F7841C600EA5264 /* AIAuthorizationRequestsWindowController.m */; };
 		114849BC0F78420300EA5264 /* AIAuthorizationRequestsWindow.nib in Resources */ = {isa = PBXBuildFile; fileRef = 114849BB0F78420300EA5264 /* AIAuthorizationRequestsWindow.nib */; };
@@ -1907,6 +1909,9 @@
 		113E06AE10D0ABE3005D5B9A /* adiumPurpleMedia.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = adiumPurpleMedia.h; path = "Plugins/Purple Service/adiumPurpleMedia.h"; sourceTree = "<group>"; };
 		113F269E0F5CC03F00954772 /* AITwitterURLParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AITwitterURLParser.h; path = "Plugins/Twitter Plugin/AITwitterURLParser.h"; sourceTree = "<group>"; };
 		113F269F0F5CC03F00954772 /* AITwitterURLParser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AITwitterURLParser.m; path = "Plugins/Twitter Plugin/AITwitterURLParser.m"; sourceTree = "<group>"; };
+		1147FCC210D1CB4C004E9E8D /* AIMediaWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AIMediaWindowController.h; path = Source/AIMediaWindowController.h; sourceTree = "<group>"; };
+		1147FCC310D1CB4C004E9E8D /* AIMediaWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AIMediaWindowController.m; path = Source/AIMediaWindowController.m; sourceTree = "<group>"; };
+		1147FCC710D1CB83004E9E8D /* AIMediaWindow.nib */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = AIMediaWindow.nib; path = Resources/AIMediaWindow.nib; sourceTree = "<group>"; };
 		114849B70F7841C600EA5264 /* AIAuthorizationRequestsWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AIAuthorizationRequestsWindowController.h; path = "Frameworks/Adium Framework/Source/AIAuthorizationRequestsWindowController.h"; sourceTree = "<group>"; };
 		114849B80F7841C600EA5264 /* AIAuthorizationRequestsWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AIAuthorizationRequestsWindowController.m; path = "Frameworks/Adium Framework/Source/AIAuthorizationRequestsWindowController.m"; sourceTree = "<group>"; };
 		114849BB0F78420300EA5264 /* AIAuthorizationRequestsWindow.nib */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = AIAuthorizationRequestsWindow.nib; path = "Frameworks/Adium Framework/Resources/AIAuthorizationRequestsWindow.nib"; sourceTree = "<group>"; };
@@ -7199,6 +7204,9 @@
 				344C0D4306B6D5E300DA7200 /* Applescriptability */,
 				11819A0210D0B8BE003E8ECA /* AIMediaController.h */,
 				11819A0310D0B8BE003E8ECA /* AIMediaController.m */,
+				1147FCC710D1CB83004E9E8D /* AIMediaWindow.nib */,
+				1147FCC210D1CB4C004E9E8D /* AIMediaWindowController.h */,
+				1147FCC310D1CB4C004E9E8D /* AIMediaWindowController.m */,
 			);
 			name = Other;
 			sourceTree = "<group>";
@@ -9962,6 +9970,7 @@
 				1130EA9D109B445D00FB3454 /* pref-mention.png in Resources */,
 				1130EA9E109B445D00FB3454 /* pref-messagealerts.png in Resources */,
 				11AE5555109CC88C0074BDC2 /* pref-confirmations.png in Resources */,
+				1147FCC810D1CB83004E9E8D /* AIMediaWindow.nib in Resources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -10628,6 +10637,7 @@
 				11D915720FFC100700B39713 /* AIGenericMultipartImageUploader.m in Sources */,
 				11000D041098863B0096A1E2 /* AIDefaultFontRemovalPlugin.m in Sources */,
 				11819A0410D0B8BE003E8ECA /* AIMediaController.m in Sources */,
+				1147FCC410D1CB4C004E9E8D /* AIMediaWindowController.m in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
diff -r f944851ae93c -r d7d98a5940fa Frameworks/Adium Framework/Source/AIMediaControllerProtocol.h
--- a/Frameworks/Adium Framework/Source/AIMediaControllerProtocol.h	Thu Dec 10 12:57:12 2009 -0500
+++ b/Frameworks/Adium Framework/Source/AIMediaControllerProtocol.h	Thu Dec 10 19:41:13 2009 -0500
@@ -21,8 +21,8 @@
 } AIMediaState;
 
 @protocol AIMediaWindowController
- at property (readwrite, retain) NSView *outgoingVideo;
- at property (readwrite, retain) NSView *incomingVideo;
+ at property (readwrite, retain, nonatomic) NSView *outgoingVideo;
+ at property (readwrite, retain, nonatomic) NSView *incomingVideo;
 @end
 
 @class AIMedia, AIListContact, AIAccount;
@@ -36,8 +36,6 @@
 
 - (NSWindowController <AIMediaWindowController> *)windowControllerForMedia:(AIMedia *)media;
 
-- (void)showMedia:(AIMedia *)media;
-
 - (void)media:(AIMedia *)media didSetState:(AIMediaState)state;
 
 @end
diff -r f944851ae93c -r d7d98a5940fa Plugins/Purple Service/adiumPurpleMedia.m
--- a/Plugins/Purple Service/adiumPurpleMedia.m	Thu Dec 10 12:57:12 2009 -0500
+++ b/Plugins/Purple Service/adiumPurpleMedia.m	Thu Dec 10 19:41:13 2009 -0500
@@ -135,10 +135,10 @@
 
 	adiumMedia.protocolInfo = (id)media;
 	
-	if (purple_media_is_initiator(media, NULL, NULL) == TRUE) {
-		[adium.mediaController showMedia:adiumMedia];
+	if (purple_media_is_initiator(media, NULL, NULL) == TRUE) {		
+		adiumMedia.mediaState = AIMediaStateWaiting;
 		
-		adiumMedia.mediaState = AIMediaStateWaiting;
+		[[adium.mediaController windowControllerForMedia:adiumMedia] showWindow:nil];
 	} else {
 		adiumMedia.mediaState = AIMediaStateRequested;
 	}
diff -r f944851ae93c -r d7d98a5940fa Resources/AIMediaWindow.nib/designable.nib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Resources/AIMediaWindow.nib/designable.nib	Thu Dec 10 19:41:13 2009 -0500
@@ -0,0 +1,164 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.10">
+	<data>
+		<int key="IBDocument.SystemTarget">1060</int>
+		<string key="IBDocument.SystemVersion">10C540</string>
+		<string key="IBDocument.InterfaceBuilderVersion">740</string>
+		<string key="IBDocument.AppKitVersion">1038.25</string>
+		<string key="IBDocument.HIToolboxVersion">458.00</string>
+		<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
+			<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
+			<string key="NS.object.0">740</string>
+		</object>
+		<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
+			<bool key="EncodedWithXMLCoder">YES</bool>
+			<integer value="1"/>
+		</object>
+		<object class="NSArray" key="IBDocument.PluginDependencies">
+			<bool key="EncodedWithXMLCoder">YES</bool>
+			<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+		</object>
+		<object class="NSMutableDictionary" key="IBDocument.Metadata">
+			<bool key="EncodedWithXMLCoder">YES</bool>
+			<object class="NSArray" key="dict.sortedKeys" id="0">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+			</object>
+			<object class="NSMutableArray" key="dict.values">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+			</object>
+		</object>
+		<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
+			<bool key="EncodedWithXMLCoder">YES</bool>
+			<object class="NSCustomObject" id="1001">
+				<string key="NSClassName">NSObject</string>
+			</object>
+			<object class="NSCustomObject" id="1003">
+				<string key="NSClassName">FirstResponder</string>
+			</object>
+			<object class="NSCustomObject" id="1004">
+				<string key="NSClassName">NSApplication</string>
+			</object>
+			<object class="NSWindowTemplate" id="1005">
+				<int key="NSWindowStyleMask">15</int>
+				<int key="NSWindowBacking">2</int>
+				<string key="NSWindowRect">{{196, 240}, {480, 270}}</string>
+				<int key="NSWTFlags">544735232</int>
+				<string key="NSWindowTitle">Window</string>
+				<string key="NSWindowClass">NSWindow</string>
+				<nil key="NSViewClass"/>
+				<string key="NSWindowContentMaxSize">{1.79769e+308, 1.79769e+308}</string>
+				<object class="NSView" key="NSWindowView" id="1006">
+					<reference key="NSNextResponder"/>
+					<int key="NSvFlags">256</int>
+					<string key="NSFrameSize">{480, 270}</string>
+					<reference key="NSSuperview"/>
+				</object>
+				<string key="NSScreenRect">{{0, 0}, {1680, 1028}}</string>
+				<string key="NSMaxSize">{1.79769e+308, 1.79769e+308}</string>
+			</object>
+		</object>
+		<object class="IBObjectContainer" key="IBDocument.Objects">
+			<object class="NSMutableArray" key="connectionRecords">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+			</object>
+			<object class="IBMutableOrderedSet" key="objectRecords">
+				<object class="NSArray" key="orderedObjects">
+					<bool key="EncodedWithXMLCoder">YES</bool>
+					<object class="IBObjectRecord">
+						<int key="objectID">0</int>
+						<reference key="object" ref="0"/>
+						<reference key="children" ref="1000"/>
+						<nil key="parent"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">-2</int>
+						<reference key="object" ref="1001"/>
+						<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="1003"/>
+						<reference key="parent" ref="0"/>
+						<string key="objectName">First Responder</string>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">-3</int>
+						<reference key="object" ref="1004"/>
+						<reference key="parent" ref="0"/>
+						<string key="objectName">Application</string>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">1</int>
+						<reference key="object" ref="1005"/>
+						<object class="NSMutableArray" key="children">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<reference ref="1006"/>
+						</object>
+						<reference key="parent" ref="0"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">2</int>
+						<reference key="object" ref="1006"/>
+						<reference key="parent" ref="1005"/>
+					</object>
+				</object>
+			</object>
+			<object class="NSMutableDictionary" key="flattenedProperties">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+				<object class="NSArray" key="dict.sortedKeys">
+					<bool key="EncodedWithXMLCoder">YES</bool>
+					<string>-1.IBPluginDependency</string>
+					<string>-2.IBPluginDependency</string>
+					<string>-3.IBPluginDependency</string>
+					<string>1.IBEditorWindowLastContentRect</string>
+					<string>1.IBPluginDependency</string>
+					<string>1.IBWindowTemplateEditedContentRect</string>
+					<string>1.NSWindowTemplate.visibleAtLaunch</string>
+					<string>1.WindowOrigin</string>
+					<string>1.editorWindowContentRectSynchronizationRect</string>
+					<string>2.IBPluginDependency</string>
+				</object>
+				<object class="NSMutableArray" key="dict.values">
+					<bool key="EncodedWithXMLCoder">YES</bool>
+					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+					<string>{{0, 875}, {480, 270}}</string>
+					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+					<string>{{0, 875}, {480, 270}}</string>
+					<integer value="1"/>
+					<string>{196, 240}</string>
+					<string>{{357, 418}, {480, 270}}</string>
+					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+				</object>
+			</object>
+			<object class="NSMutableDictionary" key="unlocalizedProperties">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+				<reference key="dict.sortedKeys" ref="0"/>
+				<object class="NSMutableArray" key="dict.values">
+					<bool key="EncodedWithXMLCoder">YES</bool>
+				</object>
+			</object>
+			<nil key="activeLocalization"/>
+			<object class="NSMutableDictionary" key="localizations">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+				<reference key="dict.sortedKeys" ref="0"/>
+				<object class="NSMutableArray" key="dict.values">
+					<bool key="EncodedWithXMLCoder">YES</bool>
+				</object>
+			</object>
+			<nil key="sourceID"/>
+			<int key="maxID">2</int>
+		</object>
+		<object class="IBClassDescriber" key="IBDocument.Classes"/>
+		<int key="IBDocument.localizationMode">0</int>
+		<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
+			<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string>
+			<integer value="3000" key="NS.object.0"/>
+		</object>
+		<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
+		<nil key="IBDocument.LastKnownRelativeProjectPath"/>
+		<int key="IBDocument.defaultPropertyAccessControl">3</int>
+	</data>
+</archive>
diff -r f944851ae93c -r d7d98a5940fa Resources/AIMediaWindow.nib/keyedobjects.nib
Binary file Resources/AIMediaWindow.nib/keyedobjects.nib has changed
diff -r f944851ae93c -r d7d98a5940fa Source/AIMediaController.m
--- a/Source/AIMediaController.m	Thu Dec 10 12:57:12 2009 -0500
+++ b/Source/AIMediaController.m	Thu Dec 10 19:41:13 2009 -0500
@@ -53,9 +53,4 @@
 	
 }
 
-- (void)showMedia:(AIMedia *)media
-{
-	
-}
-
 @end
diff -r f944851ae93c -r d7d98a5940fa Source/AIMediaWindowController.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Source/AIMediaWindowController.h	Thu Dec 10 19:41:13 2009 -0500
@@ -0,0 +1,23 @@
+//
+//  AIMediaWindowController.h
+//  Adium
+//
+//  Created by Zachary West on 2009-12-10.
+//  Copyright 2009  . All rights reserved.
+//
+
+#import <Adium/AIWindowController.h>
+#import <Adium/AIMediaControllerProtocol.h>
+
+ at interface AIMediaWindowController : AIWindowController <AIMediaWindowController> {
+	AIMedia	*media;
+	
+	NSView	*outgoingVideo;
+	NSView	*incomingVideo;
+}
+
+ at property (readwrite, retain, nonatomic) AIMedia *media;
+ at property (readwrite, retain, nonatomic) NSView *outgoingVideo;
+ at property (readwrite, retain, nonatomic) NSView *incomingVideo;
+
+ at end
diff -r f944851ae93c -r d7d98a5940fa Source/AIMediaWindowController.m
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Source/AIMediaWindowController.m	Thu Dec 10 19:41:13 2009 -0500
@@ -0,0 +1,32 @@
+//
+//  AIMediaWindowController.m
+//  Adium
+//
+//  Created by Zachary West on 2009-12-10.
+//  Copyright 2009  . All rights reserved.
+//
+
+#import "AIMediaWindowController.h"
+
+ at interface AIMediaWindowController()
+- (id)initWithMedia:(AIMedia *)inMedia;
+ at end
+
+ at implementation AIMediaWindowController
+
+ at synthesize incomingVideo, outgoingVideo, media;
+
++ (AIMediaWindowController *)mediaWindowControllerForMedia:(AIMedia *)media
+{
+	return [[[self alloc] initWithMedia:media] autorelease];
+}
+
+- (id)initWithMedia:(AIMedia *)inMedia
+{
+	if ((self = [super initWithWindowNibName:@"AIMediaWindow"])) {
+		self.media = inMedia;
+	}
+	return self;
+}
+
+ at end




More information about the commits mailing list