adium 2262:774d232fa53b: Add any files dragged to a contact in t...

commits at adium.im commits at adium.im
Thu May 21 18:07:24 UTC 2009


details:	http://hg.adium.im/adium/rev/774d232fa53b
revision:	2262:774d232fa53b
author:		Zachary West <zacw at adium.im>
date:		Thu May 21 14:07:17 2009 -0400

Add any files dragged to a contact in the list to the input line. Fixes #12089.

diffstat:

 Source/AIListController.m |  35 +++++++++++++++++++++--------------
 1 files changed, 21 insertions(+), 14 deletions(-)

diffs (61 lines):

diff -r 64a72fff7362 -r 774d232fa53b Source/AIListController.m
--- a/Source/AIListController.m	Thu May 21 13:49:32 2009 -0400
+++ b/Source/AIListController.m	Thu May 21 14:07:17 2009 -0400
@@ -33,6 +33,7 @@
 #import <Adium/AIMetaContact.h>
 #import <Adium/AIListOutlineView.h>
 #import <Adium/AIProxyListObject.h>
+#import <Adium/AITextAttachmentExtension.h>
 #import <AIUtilities/AIAttributedStringAdditions.h>
 #import <AIUtilities/AIAutoScrollView.h>
 #import <AIUtilities/AIPasteboardAdditions.h>
@@ -41,6 +42,7 @@
 #import <AIUtilities/AIObjectAdditions.h>
 #import <AIUtilities/AIFunctions.h>
 #import <AIUtilities/AIEventAdditions.h>
+#import <AIUtilities/AIAttributedStringAdditions.h>
 
 #define EDGE_CATCH_X						40.0f
 #define EDGE_CATCH_Y						40.0f
@@ -780,22 +782,27 @@
 			} else if ([availableType isEqualToString:AIiTunesTrackPboardType]) {
 				files = [[info draggingPasteboard] filesFromITunesDragPasteboard];
 			}
+
+			NSMutableAttributedString *mutableString = [[[NSMutableAttributedString alloc] initWithString:@""] autorelease];
 			
-			NSString *title = [NSString stringWithFormat:AILocalizedString(@"Send File to %@", "Window title to the file transfer confirmation window"), targetFileTransferContact.displayName];
-
-			NSString *question = [NSString stringWithFormat:AILocalizedString(@"Are you sure you want to send %@ to %@?", "Question asked in the file transfer confirmation window"),
-								  (files.count == 1 ? [[files objectAtIndex:0] lastPathComponent] : [NSString stringWithFormat:AILocalizedString(@"%d files", nil), files.count]),
-								  targetFileTransferContact.displayName];
+			for (file in files) {
+				AITextAttachmentExtension   *attachment = [[AITextAttachmentExtension alloc] init];
+				[attachment setPath:file];
+				[attachment setString:[file lastPathComponent]];
+				
+				NSTextAttachmentCell		*cell = [[NSTextAttachmentCell alloc] initImageCell:[attachment iconImage]];
+				[attachment setHasAlternate:NO];
+				[attachment setAttachmentCell:cell];
+				[cell release];
+				
+				[mutableString appendAttributedString:[NSAttributedString attributedStringWithAttachment:attachment]];
+				[attachment release];
+			}
 			
-			if (NSRunAlertPanel(title,
-								question,
-								AILocalizedString(@"Send File", nil),
-								AILocalizedString(@"Cancel", nil),
-								nil) == NSAlertDefaultReturn) {
-				for (file in files) {
-					[adium.fileTransferController sendFile:file toListContact:targetFileTransferContact];
-				}
-			}
+			AIChat *chat = [adium.chatController openChatWithContact:(AIListContact *)(item.listObject)
+												  onPreferredAccount:YES];
+			
+			[chat.chatContainer.messageViewController addToTextEntryView:mutableString];
 
 		} else {
 			AILogWithSignature(@"No contact available to receive files");




More information about the commits mailing list