Source/AIChatController.m
21 months ago Add a Reopen Closed Tab menu item to the File menu that will restore the most recently closed tab, similar to Chrome. Fixes #12537
2010-05-16 Correctly read the HideJoinLeave setting on startup. Fixes #14009
2009-12-29 Resolving most* undeclared selectors in Adium.app.
2009-11-25 Store a per-chat preference for show/join leave notices. This is uniqued only by the chat name, but I think that's appropriate; the preference will then apply to the same room regardless of the account with which you connect to it. Fixes #12034
2009-06-09 Make openChats return an immutable copy
2009-05-29 Fix warnings
2009-05-29 Reduce duplication, and make it harder to misuse API.
2009-05-04 Don't consider group chats when looking up an existing chat for a contact.
2009-04-23 Change the default (and Oscar—the only thing that overlodas it) service to lowercase a chat name when normalizing it. Save the normalized name as the AIChat's name, not whatever the user entered. This fixes creating a second AIChat when joining any chat whose case may differ on the server (or spaces are present in Oscar names), as well as bookmarking or rejoining said chats.
2009-04-22 AIPreferenceControllerProtocol.h is commonly imported (>120 imports) and almost never changes (5 changes in the two years since it was created). Stick it in the prefix header
2009-04-11 When switching to the chat with the most recent activity, take into consideration the "only count mentions" preference. Fixes #11858.
2009-04-10 Add a Contextual and Display menu item for "Show Join/Leave Messages", defaulting to YES. This isn't currently saved anywhere, so it would have to be reapplied for each channel each time.
2009-04-04 Add an advanced status preference to "only count number of unread mentions for group chats", which causes the chat controller to only count group chats' mentions for the overall unread counts (status item, dock badger). Fixes #11850.
2009-04-01 Clean up and proper-ize {{{-allChatsWithContact:}}} to return an empty set when no chats are found (which makes its recursion a lot less *barf*) and make {{{-allGroupChatsContainingContact:}}} do the same.
2009-04-01 Convert {{{existingGroupChatsForContact:}}} which was a misleading name for something which just returned the first, to return an NSSet of group chats, and renamed to {{{allGroupChatsContainingContact:}}}.
2009-03-31 Only return group chats when we explicitly say we're going to return group chats.
2009-03-31 Adds {{{-existingGroupChatWithContact}}} so that we don't stop tracking a contact who is in multiple chats with us.
2009-03-22 Create a context menu location for group chats. Only validate "add bookmark" when we don't already have a bookmark. Adds a menu item for "Add Bookmark" to the context menu for group chats. Refs #11805.
2009-03-16 Having a separate notification center for Adium leads to the possibility of accidentally using the wrong one, which has tripped me up on more than one occasion. This switches us over to using the default center.
2009-03-14 Optimize joining large groupchats. This means we send Chat_ParticipatingListObjectsChanged 1 time instead of N times, and sort 1 time instead of N times
2009-03-09 Remove -addObject: and -removeObject: from AIContainingObject. They are not safe to use on most implementors of that protocol
2009-03-07 I would like to make -metaContact on AIMetaContact return nil instead of self. This is a step in that direction
2009-03-04 Dot syntax. Lots of it.
2009-03-03 Propertyize
2009-01-29 Propertyize + build fix
2009-01-29 Propertyize a bunch of stuff, and remove some API on AIListObject that was just a passthrough to AIService
2008-11-25 More changes in preparation for multiple group support. containingObject is now not recommended. Use the groups and metaContact/parentContact properties instead
2008-11-25 Make containing objects for AIListObjects into an NSSet, although currently it always has 1 or 0 items in it
2008-10-21 More dots, now with bonus for(in) action!
2008-10-21 I was hungry and didn't feel like working on hard stuff, so I did a bunch of propertyizing instead.
2008-10-15 -listContacts actually meant a uniqued version of contained objects, so we should call it that
2008-09-01 MSN: With multiple group chats, all messages no longer appear in the same chat. Fixes #1583. Patch from Casey "dragoonkain" Lutz. CodingStyle fixes by me.
2008-08-24 Updated most of our enumerations to fast enumerations, and did some paramaterization.
2008-08-23 Paramaterizing and sythensizing various code
2008-08-15 sed is evil. All [adium *Controller]s are now adium.*Controller.
2008-08-15 Propertyize AIListObject and convert some more controller accesses to dot syntax
2008-08-14 Propertyize, synthesize, and use fast enumeration in a few places
2008-08-14 Switch all of our private method categories over to the new objc way of doing it (documented at http://developer.apple.com/documentation/Cocoa/Conceptual/ObjectiveC/Articles/chapter_4_section_5.html#//apple_ref/doc/uid/TP30001163-CH20-SW2). This enforces having implementations for them, and in the process turned up a vast number of methods we had deleted the impl for but not the declaration. loc -= 198;
2008-08-14 Preliminary conversion to using fast enumeration; caveats: variable declarations were not moved into loop headers. In *most* cases it should be safe to move them, but make sure the variable is not needed later on in the method. Also, AIContactController was not converted, because the conversion tool freaked out
2008-08-13 We were mutating a collection while enumerating it :(
2008-08-13 Use the system libexpat instead of compiling our own. loc -= 13000;
2008-08-06 Merge 64 bit branch to trunk. Fingers crossed, and I have been testing it some, but expect fallout from this. 11,000 line diffs are rarely without consequence ;)
2008-08-06 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk