Added "Message received (Away)" and "Message received (Away Group Chat)" events. Refs #13278.
authorAdrian Godoroja <robotive@me.com>
Wed, 03 Aug 2011 21:21:16 +0300
changeset 4112e5792c806ab3
parent 4111 2d4963d11438
child 4113 c8a6154d0030
Added "Message received (Away)" and "Message received (Away Group Chat)" events. Refs #13278.
ChangeLogs/Changes.txt
Frameworks/Adium Framework/Source/AIAdiumProtocol.h
Source/AIContentController.m
Source/AdiumMessageEvents.m
     1.1 --- a/ChangeLogs/Changes.txt	Wed Aug 03 15:50:33 2011 +0300
     1.2 +++ b/ChangeLogs/Changes.txt	Wed Aug 03 21:21:16 2011 +0300
     1.3 @@ -37,6 +37,7 @@
     1.4   Events and Notifications
     1.5    * Added a "Do Nothing" event. (#3590).
     1.6    * Added a "Message sent (Group chat)" event. (Will Bowling) (#12316)
     1.7 +  * Added "Message received (Away)" and "Message received (Away Group Chat)" events. (#13278)
     1.8    * Added Regex support for mentions. (#12832)
     1.9  
    1.10   Get Info window
     2.1 --- a/Frameworks/Adium Framework/Source/AIAdiumProtocol.h	Wed Aug 03 15:50:33 2011 +0300
     2.2 +++ b/Frameworks/Adium Framework/Source/AIAdiumProtocol.h	Wed Aug 03 21:21:16 2011 +0300
     2.3 @@ -89,7 +89,9 @@
     2.4  #define CONTENT_MESSAGE_RECEIVED_GROUP		@"Content_MessageReceivedGroup"
     2.5  #define CONTENT_MESSAGE_RECEIVED_FIRST		@"Content_MessageReceivedFirst"
     2.6  #define CONTENT_MESSAGE_RECEIVED_BACKGROUND	@"Content_MessageReceivedBackground"
     2.7 -#define CONTENT_MESSAGE_RECEIVED_BACKGROUND_GROUP		@"Content_MessageReceivedBackgroundGroup"
     2.8 +#define CONTENT_MESSAGE_RECEIVED_BACKGROUND_GROUP @"Content_MessageReceivedBackgroundGroup"
     2.9 +#define CONTENT_MESSAGE_RECEIVED_AWAY		@"Content_MessageReceivedAway"
    2.10 +#define CONTENT_MESSAGE_RECEIVED_AWAY_GROUP	@"Content_MessageReceivedAwayGroup"
    2.11  #define CONTENT_NUDGE_BUZZ_OCCURED			@"Content_NudgeBuzzOccured"
    2.12  #define CONTENT_CONTACT_JOINED_CHAT			@"Content_ContactJoinedChat"
    2.13  #define CONTENT_CONTACT_LEFT_CHAT			@"Content_ContactLeftChat"
     3.1 --- a/Source/AIContentController.m	Wed Aug 03 15:50:33 2011 +0300
     3.2 +++ b/Source/AIContentController.m	Wed Aug 03 21:21:16 2011 +0300
     3.3 @@ -546,6 +546,14 @@
     3.4  				}
     3.5  				[chat setHasSentOrReceivedContent:YES];
     3.6  			}
     3.7 +
     3.8 +			if ([chat.account.statusState statusType] != AIAvailableStatusType) {
     3.9 +				//If the account is not available, generate CONTENT_MESSAGE_RECEIVED_AWAY
    3.10 +				previouslyPerformedActionIDs = [adium.contactAlertsController generateEvent:(chat.isGroupChat ? CONTENT_MESSAGE_RECEIVED_AWAY_GROUP : CONTENT_MESSAGE_RECEIVED_AWAY)
    3.11 +																				forListObject:listObject
    3.12 +																					 userInfo:userInfo
    3.13 +																 previouslyPerformedActionIDs:previouslyPerformedActionIDs];					
    3.14 +			}
    3.15  			
    3.16  			if (chat != adium.interfaceController.activeChat) {
    3.17  				//If the chat is not currently active, generate CONTENT_MESSAGE_RECEIVED_BACKGROUND
     4.1 --- a/Source/AdiumMessageEvents.m	Wed Aug 03 15:50:33 2011 +0300
     4.2 +++ b/Source/AdiumMessageEvents.m	Wed Aug 03 21:21:16 2011 +0300
     4.3 @@ -50,6 +50,8 @@
     4.4  	[adium.contactAlertsController registerEventID:CONTENT_MESSAGE_RECEIVED_BACKGROUND withHandler:self inGroup:AIMessageEventHandlerGroup globalOnly:NO];
     4.5  	[adium.contactAlertsController registerEventID:CONTENT_MESSAGE_RECEIVED_GROUP withHandler:self inGroup:AIMessageEventHandlerGroup globalOnly:NO];
     4.6  	[adium.contactAlertsController registerEventID:CONTENT_MESSAGE_RECEIVED_BACKGROUND_GROUP withHandler:self inGroup:AIMessageEventHandlerGroup globalOnly:NO];
     4.7 +	[adium.contactAlertsController registerEventID:CONTENT_MESSAGE_RECEIVED_AWAY withHandler:self inGroup:AIMessageEventHandlerGroup globalOnly:NO];
     4.8 +    [adium.contactAlertsController registerEventID:CONTENT_MESSAGE_RECEIVED_AWAY_GROUP withHandler:self inGroup:AIMessageEventHandlerGroup globalOnly:NO];
     4.9  	[adium.contactAlertsController registerEventID:CONTENT_GROUP_CHAT_MENTION withHandler:self inGroup:AIMessageEventHandlerGroup globalOnly:NO];
    4.10  	
    4.11  	//Observe chat changes
    4.12 @@ -179,6 +181,10 @@
    4.13  		description = AILocalizedString(@"Sends a message in a group chat",nil);
    4.14  	} else if ([eventID isEqualToString:CONTENT_MESSAGE_RECEIVED_BACKGROUND_GROUP]) {
    4.15  		description = AILocalizedString(@"Sends a message in a background group chat",nil);
    4.16 +	} else if ([eventID isEqualToString:CONTENT_MESSAGE_RECEIVED_AWAY]) {
    4.17 +		description = AILocalizedString(@"Sends a message while away",nil);
    4.18 +	} else if ([eventID isEqualToString:CONTENT_MESSAGE_RECEIVED_AWAY_GROUP]) {
    4.19 +		description = AILocalizedString(@"Sends a message in a group chat while away",nil);
    4.20  	} else if ([eventID isEqualToString:CONTENT_GROUP_CHAT_MENTION]) {
    4.21  		description = AILocalizedString(@"Is mentioned in a group chat message", nil);
    4.22  	} else {
    4.23 @@ -206,6 +212,10 @@
    4.24  		description = AILocalizedString(@"Message received (Group Chat)",nil);
    4.25  	} else if ([eventID isEqualToString:CONTENT_MESSAGE_RECEIVED_BACKGROUND_GROUP]) {
    4.26  		description = AILocalizedString(@"Message received (Background Group Chat)",nil);
    4.27 +	} else if ([eventID isEqualToString:CONTENT_MESSAGE_RECEIVED_AWAY]) {
    4.28 +		description = AILocalizedString(@"Message received (Away)",nil);
    4.29 +	} else if ([eventID isEqualToString:CONTENT_MESSAGE_RECEIVED_AWAY_GROUP]) {
    4.30 +		description = AILocalizedString(@"Message received (Away Group Chat)",nil);
    4.31  	} else if ([eventID isEqualToString:CONTENT_GROUP_CHAT_MENTION]) {
    4.32  		description = AILocalizedString(@"You are mentioned (Group Chat)", nil);
    4.33  	} else {
    4.34 @@ -235,6 +245,10 @@
    4.35  		description = @"Message Received (Group Chat)";
    4.36  	} else if ([eventID isEqualToString:CONTENT_MESSAGE_RECEIVED_BACKGROUND_GROUP]) {
    4.37  		description = @"Message Received (Background Group Chat)";
    4.38 +	} else if ([eventID isEqualToString:CONTENT_MESSAGE_RECEIVED_AWAY]) {
    4.39 +		description = @"Message Received (Away)";
    4.40 +	} else if ([eventID isEqualToString:CONTENT_MESSAGE_RECEIVED_AWAY_GROUP]) {
    4.41 +		description = @"Message Received (Away Group Chat)";
    4.42  	} else if ([eventID isEqualToString:CONTENT_GROUP_CHAT_MENTION]) {
    4.43  		description = @"You Are Mentioned (Group Chat)";
    4.44  	} else {
    4.45 @@ -266,6 +280,10 @@
    4.46  			format = AILocalizedString(@"When %@ sends a message to you in a group chat",nil);
    4.47  		} else if ([eventID isEqualToString:CONTENT_MESSAGE_RECEIVED_BACKGROUND_GROUP]) {
    4.48  			format = AILocalizedString(@"When %@ sends a message to you in a background group chat",nil);
    4.49 +		} else if ([eventID isEqualToString:CONTENT_MESSAGE_RECEIVED_AWAY]) {
    4.50 +			format = AILocalizedString(@"When %@ sends a message to you while you are away",nil);
    4.51 +		} else if ([eventID isEqualToString:CONTENT_MESSAGE_RECEIVED_AWAY_GROUP]) {
    4.52 +			format = AILocalizedString(@"When %@ sends a message to you in a group chat while you are way",nil);
    4.53  		} else if ([eventID isEqualToString:CONTENT_GROUP_CHAT_MENTION]) {
    4.54  			format = AILocalizedString(@"When %@ sends a message that mentions your name in a group chat", nil);
    4.55  		} else {
    4.56 @@ -295,6 +313,10 @@
    4.57  			description = AILocalizedString(@"When you receive a message in a group chat",nil);
    4.58  		} else if ([eventID isEqualToString:CONTENT_MESSAGE_RECEIVED_BACKGROUND_GROUP]) {
    4.59  			description = AILocalizedString(@"When you receive a message in a background group chat",nil);
    4.60 +		} else if ([eventID isEqualToString:CONTENT_MESSAGE_RECEIVED_AWAY]) {
    4.61 +			description = AILocalizedString(@"When you receive a message while away",nil);
    4.62 +		} else if ([eventID isEqualToString:CONTENT_MESSAGE_RECEIVED_AWAY_GROUP]) {
    4.63 +			description = AILocalizedString(@"When you receive a message in a group chat while away",nil);
    4.64  		} else if ([eventID isEqualToString:CONTENT_GROUP_CHAT_MENTION]) {
    4.65  			description = AILocalizedString(@"When you receive a message that mentions your name in a group chat", nil);
    4.66  		} else {
    4.67 @@ -340,7 +362,9 @@
    4.68  			
    4.69  		} else if ([eventID isEqualToString:CONTENT_MESSAGE_RECEIVED] ||
    4.70  				   [eventID isEqualToString:CONTENT_MESSAGE_RECEIVED_FIRST] ||
    4.71 -				   [eventID isEqualToString:CONTENT_MESSAGE_RECEIVED_BACKGROUND]) {
    4.72 +				   [eventID isEqualToString:CONTENT_MESSAGE_RECEIVED_BACKGROUND] ||
    4.73 +				   [eventID isEqualToString:CONTENT_MESSAGE_RECEIVED_AWAY] ||
    4.74 +                   [eventID isEqualToString:CONTENT_MESSAGE_RECEIVED_AWAY_GROUP]) {
    4.75  			displayName = contentObject.source.displayName;
    4.76  			
    4.77  			if (messageText && [messageText length]) {
    4.78 @@ -365,6 +389,8 @@
    4.79  				[eventID isEqualToString:CONTENT_MESSAGE_RECEIVED_BACKGROUND] ||
    4.80  				[eventID isEqualToString:CONTENT_MESSAGE_RECEIVED_GROUP] ||
    4.81  				[eventID isEqualToString:CONTENT_MESSAGE_RECEIVED_BACKGROUND_GROUP] || 
    4.82 +				[eventID isEqualToString:CONTENT_MESSAGE_RECEIVED_AWAY] ||
    4.83 +                [eventID isEqualToString:CONTENT_MESSAGE_RECEIVED_AWAY_GROUP] ||
    4.84  				[eventID isEqualToString:CONTENT_GROUP_CHAT_MENTION]) {
    4.85  				//Use the message received text for all message received events if we don't have a message
    4.86  				description = [self globalShortDescriptionForEventID:CONTENT_MESSAGE_RECEIVED];
    4.87 @@ -426,7 +452,9 @@
    4.88  			   [eventID isEqualToString:CONTENT_MESSAGE_RECEIVED_FIRST] ||
    4.89  			   [eventID isEqualToString:CONTENT_MESSAGE_RECEIVED_BACKGROUND] ||
    4.90  			   [eventID isEqualToString:CONTENT_MESSAGE_RECEIVED_GROUP] ||
    4.91 -			   [eventID isEqualToString:CONTENT_MESSAGE_RECEIVED_BACKGROUND_GROUP]) {
    4.92 +			   [eventID isEqualToString:CONTENT_MESSAGE_RECEIVED_BACKGROUND_GROUP] ||
    4.93 +			   [eventID isEqualToString:CONTENT_MESSAGE_RECEIVED_AWAY] ||
    4.94 +               [eventID isEqualToString:CONTENT_MESSAGE_RECEIVED_AWAY_GROUP]) {
    4.95  		format = AILocalizedString(@"%u messages received", nil);
    4.96  	} else if ([eventID isEqualToString:CONTENT_GROUP_CHAT_MENTION]) {
    4.97  		format = AILocalizedString(@"%u mentions received", nil);