adium 3277:21ab21e877e0: Add a Reopen Closed Tab menu item to th...
commits at adium.im
commits at adium.im
Mon Aug 30 00:15:25 UTC 2010
details: http://hg.adium.im/adium/rev/21ab21e877e0
revision: 3277:21ab21e877e0
author: Thijs Alkemade <thijsalkemade at gmail.com>
date: Sat Aug 28 22:01:12 2010 +0200
Add a Reopen Closed Tab menu item to the File menu that will restore the most recently closed tab, similar to Chrome. Fixes #12537
Does not work with MSN group chats (and probably other protocols that have unnamed MUCs).
r=wix
Subject: adium 3278:2dfee308da03: Add Google Chrome support for link insertion.
details: http://hg.adium.im/adium/rev/2dfee308da03
revision: 3278:2dfee308da03
author: Frank Dowsett <wixardy at adium.im>
date: Sun Aug 29 20:05:34 2010 -0400
Add Google Chrome support for link insertion.
Subject: adium 3279:2be2cb5ee1fa: Update the AdiumBuild script to work with hg revisions.
details: http://hg.adium.im/adium/rev/2be2cb5ee1fa
revision: 3279:2be2cb5ee1fa
author: Frank Dowsett <wixardy at adium.im>
date: Sun Aug 29 20:07:28 2010 -0400
Update the AdiumBuild script to work with hg revisions.
diffs (977 lines):
diff -r aa190f1573ff -r 2be2cb5ee1fa Frameworks/Adium Framework/Source/AIChatControllerProtocol.h
--- a/Frameworks/Adium Framework/Source/AIChatControllerProtocol.h Sat Aug 21 18:40:48 2010 -0400
+++ b/Frameworks/Adium Framework/Source/AIChatControllerProtocol.h Sun Aug 29 20:07:28 2010 -0400
@@ -34,6 +34,7 @@
- (BOOL)closeChat:(AIChat *)inChat;
- (void)accountDidCloseChat:(AIChat *)inChat;
+- (void)restoreChat:(AIChat *)inChat;
@property (nonatomic, readonly) NSSet *openChats;
@property (nonatomic, readonly) AIChat *mostRecentUnviewedChat;
diff -r aa190f1573ff -r 2be2cb5ee1fa Resources/MainMenu.nib/designable.nib
--- a/Resources/MainMenu.nib/designable.nib Sat Aug 21 18:40:48 2010 -0400
+++ b/Resources/MainMenu.nib/designable.nib Sun Aug 29 20:07:28 2010 -0400
@@ -2,17 +2,17 @@
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.10">
<data>
<int key="IBDocument.SystemTarget">1050</int>
- <string key="IBDocument.SystemVersion">10D573</string>
+ <string key="IBDocument.SystemVersion">10F569</string>
<string key="IBDocument.InterfaceBuilderVersion">762</string>
<string key="IBDocument.AppKitVersion">1038.29</string>
- <string key="IBDocument.HIToolboxVersion">460.00</string>
+ <string key="IBDocument.HIToolboxVersion">461.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="NS.object.0">762</string>
</object>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
- <integer value="6600"/>
+ <integer value="6614"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -262,6 +262,16 @@
<reference key="NSOnImage" ref="145266427"/>
<reference key="NSMixedImage" ref="551713053"/>
</object>
+ <object class="NSMenuItem" id="600191255">
+ <reference key="NSMenu" ref="580936113"/>
+ <bool key="NSIsDisabled">YES</bool>
+ <string key="NSTitle">Reopen Closed Tab</string>
+ <string key="NSKeyEquiv">T</string>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="145266427"/>
+ <reference key="NSMixedImage" ref="551713053"/>
+ </object>
<object class="NSMenuItem" id="863669792">
<reference key="NSMenu" ref="580936113"/>
<string key="NSTitle">Close Window</string>
@@ -2614,6 +2624,22 @@
</object>
<int key="connectionID">7374</int>
</object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">reopenChat:</string>
+ <reference key="source" ref="276456795"/>
+ <reference key="destination" ref="600191255"/>
+ </object>
+ <int key="connectionID">7381</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">menuItem_reopenTab</string>
+ <reference key="source" ref="276456795"/>
+ <reference key="destination" ref="600191255"/>
+ </object>
+ <int key="connectionID">7382</int>
+ </object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects">
@@ -3240,6 +3266,7 @@
<reference ref="863669792"/>
<reference ref="550369297"/>
<reference ref="970744887"/>
+ <reference ref="600191255"/>
</object>
<reference key="parent" ref="958311131"/>
</object>
@@ -3392,243 +3419,464 @@
<reference key="object" ref="715555530"/>
<reference key="parent" ref="814345242"/>
</object>
+ <object class="IBObjectRecord">
+ <int key="objectID">7380</int>
+ <reference key="object" ref="600191255"/>
+ <reference key="parent" ref="580936113"/>
+ </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>-3.IBPluginDependency</string>
<string>-3.ImportedFromIB2</string>
<string>2512.ImportedFromIB2</string>
<string>4001.ImportedFromIB2</string>
+ <string>6453.IBPluginDependency</string>
<string>6453.ImportedFromIB2</string>
+ <string>6455.IBPluginDependency</string>
<string>6455.ImportedFromIB2</string>
+ <string>6462.IBPluginDependency</string>
<string>6462.ImportedFromIB2</string>
+ <string>6473.IBPluginDependency</string>
<string>6473.ImportedFromIB2</string>
+ <string>6474.IBPluginDependency</string>
<string>6474.ImportedFromIB2</string>
+ <string>6475.IBPluginDependency</string>
<string>6475.ImportedFromIB2</string>
+ <string>6480.IBPluginDependency</string>
<string>6480.ImportedFromIB2</string>
+ <string>6481.IBPluginDependency</string>
<string>6481.ImportedFromIB2</string>
+ <string>6482.IBPluginDependency</string>
<string>6482.ImportedFromIB2</string>
+ <string>6483.IBPluginDependency</string>
<string>6483.ImportedFromIB2</string>
+ <string>6486.IBPluginDependency</string>
<string>6486.ImportedFromIB2</string>
+ <string>6491.IBPluginDependency</string>
<string>6491.ImportedFromIB2</string>
+ <string>6493.IBPluginDependency</string>
<string>6493.ImportedFromIB2</string>
+ <string>6494.IBPluginDependency</string>
<string>6494.ImportedFromIB2</string>
+ <string>6501.IBPluginDependency</string>
<string>6501.ImportedFromIB2</string>
+ <string>6507.IBPluginDependency</string>
<string>6507.ImportedFromIB2</string>
+ <string>6508.IBPluginDependency</string>
<string>6508.ImportedFromIB2</string>
+ <string>6509.IBPluginDependency</string>
<string>6509.ImportedFromIB2</string>
+ <string>6511.IBPluginDependency</string>
<string>6511.ImportedFromIB2</string>
+ <string>6516.IBPluginDependency</string>
<string>6516.ImportedFromIB2</string>
<string>6521.IBEditorWindowLastContentRect</string>
+ <string>6521.IBPluginDependency</string>
<string>6521.ImportedFromIB2</string>
+ <string>6528.IBPluginDependency</string>
<string>6528.ImportedFromIB2</string>
+ <string>6532.IBPluginDependency</string>
<string>6532.ImportedFromIB2</string>
+ <string>6533.IBPluginDependency</string>
<string>6533.ImportedFromIB2</string>
+ <string>6534.IBPluginDependency</string>
<string>6534.ImportedFromIB2</string>
+ <string>6538.IBPluginDependency</string>
<string>6538.ImportedFromIB2</string>
+ <string>6539.IBPluginDependency</string>
<string>6539.ImportedFromIB2</string>
+ <string>6540.IBPluginDependency</string>
<string>6540.ImportedFromIB2</string>
+ <string>6542.IBPluginDependency</string>
<string>6542.ImportedFromIB2</string>
+ <string>6546.IBPluginDependency</string>
<string>6546.ImportedFromIB2</string>
+ <string>6549.IBPluginDependency</string>
<string>6549.ImportedFromIB2</string>
+ <string>6550.IBPluginDependency</string>
<string>6550.ImportedFromIB2</string>
+ <string>6555.IBPluginDependency</string>
<string>6555.ImportedFromIB2</string>
+ <string>6556.IBPluginDependency</string>
<string>6556.ImportedFromIB2</string>
+ <string>6565.IBPluginDependency</string>
<string>6565.ImportedFromIB2</string>
+ <string>6566.IBPluginDependency</string>
<string>6566.ImportedFromIB2</string>
+ <string>6567.IBPluginDependency</string>
<string>6567.ImportedFromIB2</string>
+ <string>6572.IBPluginDependency</string>
<string>6572.ImportedFromIB2</string>
+ <string>6580.IBPluginDependency</string>
<string>6580.ImportedFromIB2</string>
+ <string>6581.IBPluginDependency</string>
<string>6581.ImportedFromIB2</string>
+ <string>6584.IBPluginDependency</string>
<string>6584.ImportedFromIB2</string>
+ <string>6587.IBPluginDependency</string>
<string>6587.ImportedFromIB2</string>
+ <string>6594.IBPluginDependency</string>
<string>6594.ImportedFromIB2</string>
+ <string>6595.IBPluginDependency</string>
<string>6595.ImportedFromIB2</string>
+ <string>6597.IBPluginDependency</string>
<string>6597.ImportedFromIB2</string>
+ <string>6598.IBPluginDependency</string>
<string>6598.ImportedFromIB2</string>
<string>6600.IBEditorWindowLastContentRect</string>
+ <string>6600.IBPluginDependency</string>
<string>6600.ImportedFromIB2</string>
+ <string>6609.IBPluginDependency</string>
<string>6609.ImportedFromIB2</string>
+ <string>6611.IBPluginDependency</string>
<string>6611.ImportedFromIB2</string>
+ <string>6612.IBPluginDependency</string>
<string>6612.ImportedFromIB2</string>
+ <string>6614.IBEditorWindowLastContentRect</string>
+ <string>6614.IBPluginDependency</string>
<string>6614.ImportedFromIB2</string>
+ <string>6615.IBPluginDependency</string>
<string>6615.ImportedFromIB2</string>
+ <string>6616.IBPluginDependency</string>
<string>6616.ImportedFromIB2</string>
+ <string>6618.IBPluginDependency</string>
<string>6618.ImportedFromIB2</string>
+ <string>6620.IBPluginDependency</string>
<string>6620.ImportedFromIB2</string>
+ <string>6623.IBPluginDependency</string>
<string>6623.ImportedFromIB2</string>
<string>6655.ImportedFromIB2</string>
<string>6706.ImportedFromIB2</string>
+ <string>6932.IBPluginDependency</string>
<string>6932.ImportedFromIB2</string>
+ <string>6933.IBPluginDependency</string>
<string>6933.ImportedFromIB2</string>
+ <string>6944.IBPluginDependency</string>
<string>6944.ImportedFromIB2</string>
+ <string>6946.IBPluginDependency</string>
<string>6946.ImportedFromIB2</string>
+ <string>6952.IBPluginDependency</string>
<string>6952.ImportedFromIB2</string>
+ <string>6987.IBPluginDependency</string>
<string>6987.ImportedFromIB2</string>
+ <string>6988.IBPluginDependency</string>
<string>6988.ImportedFromIB2</string>
+ <string>6989.IBPluginDependency</string>
<string>6989.ImportedFromIB2</string>
+ <string>6990.IBPluginDependency</string>
<string>6990.ImportedFromIB2</string>
+ <string>6991.IBPluginDependency</string>
<string>6991.ImportedFromIB2</string>
+ <string>6992.IBPluginDependency</string>
<string>6992.ImportedFromIB2</string>
+ <string>6993.IBPluginDependency</string>
<string>6993.ImportedFromIB2</string>
+ <string>7010.IBPluginDependency</string>
<string>7010.ImportedFromIB2</string>
+ <string>7011.IBPluginDependency</string>
<string>7011.ImportedFromIB2</string>
+ <string>7016.IBPluginDependency</string>
<string>7016.ImportedFromIB2</string>
+ <string>7017.IBPluginDependency</string>
<string>7017.ImportedFromIB2</string>
+ <string>7032.IBPluginDependency</string>
<string>7032.ImportedFromIB2</string>
+ <string>7033.IBPluginDependency</string>
<string>7033.ImportedFromIB2</string>
+ <string>7034.IBPluginDependency</string>
<string>7034.ImportedFromIB2</string>
+ <string>7037.IBPluginDependency</string>
<string>7037.ImportedFromIB2</string>
+ <string>7039.IBPluginDependency</string>
<string>7039.ImportedFromIB2</string>
+ <string>7054.IBPluginDependency</string>
<string>7054.ImportedFromIB2</string>
+ <string>7057.IBPluginDependency</string>
<string>7057.ImportedFromIB2</string>
+ <string>7058.IBPluginDependency</string>
<string>7058.ImportedFromIB2</string>
+ <string>7102.IBPluginDependency</string>
<string>7102.ImportedFromIB2</string>
+ <string>7104.IBPluginDependency</string>
<string>7104.ImportedFromIB2</string>
+ <string>7214.IBPluginDependency</string>
<string>7214.ImportedFromIB2</string>
+ <string>7224.IBPluginDependency</string>
<string>7224.ImportedFromIB2</string>
+ <string>7225.IBPluginDependency</string>
<string>7225.ImportedFromIB2</string>
+ <string>7227.IBPluginDependency</string>
<string>7227.ImportedFromIB2</string>
+ <string>7228.IBPluginDependency</string>
<string>7228.ImportedFromIB2</string>
+ <string>7229.IBPluginDependency</string>
<string>7229.ImportedFromIB2</string>
+ <string>7230.IBPluginDependency</string>
<string>7230.ImportedFromIB2</string>
+ <string>7231.IBPluginDependency</string>
<string>7231.ImportedFromIB2</string>
+ <string>7240.IBPluginDependency</string>
<string>7240.ImportedFromIB2</string>
<string>7246.ImportedFromIB2</string>
+ <string>7251.IBPluginDependency</string>
<string>7251.ImportedFromIB2</string>
+ <string>7254.IBPluginDependency</string>
<string>7254.ImportedFromIB2</string>
+ <string>7255.IBPluginDependency</string>
<string>7255.ImportedFromIB2</string>
+ <string>7256.IBPluginDependency</string>
<string>7256.ImportedFromIB2</string>
+ <string>7268.IBPluginDependency</string>
<string>7268.ImportedFromIB2</string>
+ <string>7269.IBPluginDependency</string>
<string>7269.ImportedFromIB2</string>
+ <string>7272.IBPluginDependency</string>
<string>7272.ImportedFromIB2</string>
+ <string>7273.IBPluginDependency</string>
<string>7273.ImportedFromIB2</string>
+ <string>7274.IBPluginDependency</string>
<string>7274.ImportedFromIB2</string>
+ <string>7291.IBPluginDependency</string>
<string>7291.ImportedFromIB2</string>
+ <string>7337.IBPluginDependency</string>
<string>7337.ImportedFromIB2</string>
+ <string>7341.IBPluginDependency</string>
<string>7341.ImportedFromIB2</string>
+ <string>7348.IBPluginDependency</string>
<string>7348.ImportedFromIB2</string>
+ <string>7366.IBPluginDependency</string>
<string>7366.ImportedFromIB2</string>
<string>7373.IBPluginDependency</string>
+ <string>7380.IBPluginDependency</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
<boolean value="YES"/>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
<string>{{642, 832}, {202, 143}}</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
<string>{{93, 975}, {610, 20}}</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>{{170, 812}, {222, 163}}</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
<boolean value="YES"/>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
</object>
</object>
<object class="NSMutableDictionary" key="unlocalizedProperties">
@@ -3647,7 +3895,7 @@
</object>
</object>
<nil key="sourceID"/>
- <int key="maxID">7374</int>
+ <int key="maxID">7382</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
@@ -3753,6 +4001,7 @@
<string>paste:</string>
<string>pasteAndMatchStyle:</string>
<string>pasteWithImagesAndColors:</string>
+ <string>reopenChat:</string>
<string>runToolbarCustomizationPalette:</string>
<string>setFontPanelSettingsAsDefaultFont:</string>
<string>showContactListAndBringToFront:</string>
@@ -3779,6 +4028,7 @@
<string>id</string>
<string>id</string>
<string>id</string>
+ <string>id</string>
</object>
</object>
<object class="NSMutableDictionary" key="outlets">
@@ -3799,6 +4049,7 @@
<string>menuItem_pasteAndMatchStyle</string>
<string>menuItem_pasteWithImagesAndColors</string>
<string>menuItem_print</string>
+ <string>menuItem_reopenTab</string>
<string>menuItem_showFonts</string>
<string>menuItem_showToolbar</string>
</object>
@@ -3820,6 +4071,7 @@
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
+ <string>NSMenuItem</string>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
@@ -4115,13 +4367,11 @@
<bool key="EncodedWithXMLCoder">YES</bool>
<string>runToolbarConfigurationPalette:</string>
<string>toggleBaseWritingDirection:</string>
- <string>toggleGrammarChecking:</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>id</string>
<string>id</string>
- <string>id</string>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
@@ -4580,6 +4830,37 @@
</object>
</object>
<object class="IBPartialClassDescription">
+ <string key="className">NSTextView</string>
+ <object class="NSMutableDictionary" key="actions">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>toggleAutomaticDashSubstitution:</string>
+ <string>toggleAutomaticDataDetection:</string>
+ <string>toggleAutomaticSpellingCorrection:</string>
+ <string>toggleAutomaticTextReplacement:</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ </object>
+ </object>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier" id="79193227">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">Frameworks/AIUtilities Framework/Source/AILeopardCompatibility.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSTextView</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">Frameworks/AIUtilities Framework/Source/AITextViewAdditions.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
<string key="className">NSView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
@@ -4595,6 +4876,24 @@
</object>
</object>
<object class="IBPartialClassDescription">
+ <string key="className">NSWindow</string>
+ <reference key="sourceIdentifier" ref="79193227"/>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSWindow</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">Frameworks/AIUtilities Framework/Source/AIWindowAdditions.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSWindow</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">Source/NSWindowScriptingAdditions.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
<string key="className">RBSplitSubview</string>
<string key="superclassName">NSView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
@@ -4699,6 +4998,14 @@
</object>
</object>
<object class="IBPartialClassDescription">
+ <string key="className">NSBrowser</string>
+ <string key="superclassName">NSControl</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSBrowser.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
<string key="className">NSButton</string>
<string key="superclassName">NSControl</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
@@ -4759,6 +5066,22 @@
</object>
</object>
<object class="IBPartialClassDescription">
+ <string key="className">NSFormatter</string>
+ <string key="superclassName">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSFormatter.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSMatrix</string>
+ <string key="superclassName">NSControl</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSMatrix.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
<string key="className">NSMenu</string>
<string key="superclassName">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="197677337">
@@ -4775,6 +5098,14 @@
</object>
</object>
<object class="IBPartialClassDescription">
+ <string key="className">NSMovieView</string>
+ <string key="superclassName">NSView</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSMovieView.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
@@ -5300,6 +5631,22 @@
<reference key="sourceIdentifier" ref="415592568"/>
</object>
<object class="IBPartialClassDescription">
+ <string key="className">NSText</string>
+ <string key="superclassName">NSView</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSText.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSTextView</string>
+ <string key="superclassName">NSText</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSTextView.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
<string key="className">NSView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
@@ -5323,6 +5670,28 @@
<reference key="sourceIdentifier" ref="817207599"/>
</object>
<object class="IBPartialClassDescription">
+ <string key="className">NSWindow</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSDrawer.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSWindow</string>
+ <string key="superclassName">NSResponder</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSWindow.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSWindow</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSWindowScripting.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
<string key="className">PDFView</string>
<string key="superclassName">NSView</string>
<object class="NSMutableDictionary" key="actions">
@@ -5357,6 +5726,29 @@
<reference key="sourceIdentifier" ref="196789552"/>
</object>
<object class="IBPartialClassDescription">
+ <string key="className">QCView</string>
+ <string key="superclassName">NSView</string>
+ <object class="NSMutableDictionary" key="actions">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>play:</string>
+ <string>start:</string>
+ <string>stop:</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ </object>
+ </object>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">QuartzComposer.framework/Headers/QCView.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
<string key="className">QTMovieView</string>
<string key="superclassName">NSView</string>
<object class="NSMutableDictionary" key="actions">
diff -r aa190f1573ff -r 2be2cb5ee1fa Resources/MainMenu.nib/keyedobjects.nib
Binary file Resources/MainMenu.nib/keyedobjects.nib has changed
diff -r aa190f1573ff -r 2be2cb5ee1fa Resources/Safari.scpt
Binary file Resources/Safari.scpt has changed
diff -r aa190f1573ff -r 2be2cb5ee1fa Resources/Scripts/System Statistics.AdiumScripts/AdiumBuild.scpt
Binary file Resources/Scripts/System Statistics.AdiumScripts/AdiumBuild.scpt has changed
diff -r aa190f1573ff -r 2be2cb5ee1fa Source/AIChatController.m
--- a/Source/AIChatController.m Sat Aug 21 18:40:48 2010 -0400
+++ b/Source/AIChatController.m Sun Aug 29 20:07:28 2010 -0400
@@ -544,6 +544,11 @@
return shouldRemove;
}
+- (void)restoreChat:(AIChat *)inChat
+{
+ [openChats addObject:inChat];
+}
+
/*!
* @brief Called by an account to notifiy the chat controller that it left a chat
*
diff -r aa190f1573ff -r 2be2cb5ee1fa Source/AIInterfaceController.h
--- a/Source/AIInterfaceController.h Sat Aug 21 18:40:48 2010 -0400
+++ b/Source/AIInterfaceController.h Sun Aug 29 20:07:28 2010 -0400
@@ -36,6 +36,8 @@
IBOutlet NSMenuItem *menuItem_customizeToolbar;
IBOutlet NSMenuItem *menuItem_print;
+
+ IBOutlet NSMenuItem *menuItem_reopenTab;
NSMutableArray *contactListViewArray;
NSMutableArray *messageViewArray;
@@ -80,6 +82,8 @@
IBOutlet NSView *fontPanelAccessoryView;
IBOutlet NSButton *button_fontPanelSetAsDefault;
+
+ NSMutableArray *recentlyClosedChats;
}
- (IBAction)toggleContactList:(id)sender;
@@ -104,4 +108,6 @@
- (IBAction)showPreferenceWindow:(id)sender;
+- (IBAction)reopenChat:(id)sender;
+
@end
diff -r aa190f1573ff -r 2be2cb5ee1fa Source/AIInterfaceController.m
--- a/Source/AIInterfaceController.m Sat Aug 21 18:40:48 2010 -0400
+++ b/Source/AIInterfaceController.m Sun Aug 29 20:07:28 2010 -0400
@@ -138,6 +138,8 @@
windowMenuArray = nil;
+ recentlyClosedChats = [[NSMutableArray alloc] init];
+
#ifdef LOG_RESPONDER_CHAIN
[NSTimer scheduledTimerWithTimeInterval:2.0 target:self selector:@selector(reportResponderChain:) userInfo:nil repeats:YES];
#endif
@@ -274,6 +276,8 @@
[[NSNotificationCenter defaultCenter] removeObserver:self];
[adium.preferenceController unregisterPreferenceObserver:self];
+ [recentlyClosedChats release]; recentlyClosedChats = nil;
+
[super dealloc];
}
@@ -663,6 +667,31 @@
{
if (inChat) {
if ([adium.chatController closeChat:inChat]) {
+
+ NSMutableDictionary *newRecentlyClosedChat = [NSMutableDictionary dictionary];
+
+ [newRecentlyClosedChat setObject:inChat.account.internalObjectID forKey:@"AccountID"];
+
+ if (inChat.isGroupChat) {
+ // -chatCreationDictionary may be nil, so put it last.
+ [newRecentlyClosedChat addEntriesFromDictionary:[NSDictionary dictionaryWithObjectsAndKeys:
+ [NSNumber numberWithBool:YES], @"IsGroupChat",
+ inChat.name, @"Name",
+ [inChat chatCreationDictionary], @"ChatCreationInfo",nil]];
+ } else {
+ [newRecentlyClosedChat addEntriesFromDictionary:[NSDictionary dictionaryWithObjectsAndKeys:
+ inChat.listObject.UID, @"UID",
+ inChat.account.service.serviceID, @"serviceID",
+ inChat.account.internalObjectID, @"AccountID",nil]];
+ }
+
+ [recentlyClosedChats insertObject:newRecentlyClosedChat atIndex:0];
+
+ // this sounds like a sensible limit: no-one will remember what chat they had in the closed tab beyond these
+ while (recentlyClosedChats.count > 16) {
+ [recentlyClosedChats removeLastObject];
+ }
+
[interfacePlugin closeChat:inChat];
}
}
@@ -783,6 +812,50 @@
[_cachedOpenChats release]; _cachedOpenChats = nil;
}
+- (IBAction)reopenChat:(id)sender
+{
+ if (recentlyClosedChats.count == 0) {
+ AILogWithSignature(@"Can't open recently closed tab: no recently closed tabs!");
+ return;
+ }
+
+ NSDictionary *chatDict = [[[recentlyClosedChats objectAtIndex:0] retain] autorelease];
+ [recentlyClosedChats removeObjectAtIndex:0];
+
+ AIChat *chat = nil;
+ AIService *service = [adium.accountController firstServiceWithServiceID:[chatDict objectForKey:@"serviceID"]];
+ AIAccount *account = [adium.accountController accountWithInternalObjectID:[chatDict objectForKey:@"AccountID"]];
+
+ if ([[chatDict objectForKey:@"IsGroupChat"] boolValue]) {
+ chat = [adium.chatController chatWithName:[chatDict objectForKey:@"Name"]
+ identifier:nil
+ onAccount:account
+ chatCreationInfo:[chatDict objectForKey:@"ChatCreationInfo"]];
+ } else {
+ AIListContact *contact = [adium.contactController contactWithService:service
+ account:account
+ UID:[chatDict objectForKey:@"UID"]];
+
+ if (contact) chat = [adium.chatController chatWithContact:contact];
+ }
+
+ if (!chat) {
+ NSRunAlertPanel(AILocalizedString(@"Restoring chat failed", nil),
+ AILocalizedString(@"Restoring the last closed tab failed. Perhaps the account not exist anymore?", nil),
+ AILocalizedString(@"OK", nil),
+ nil,
+ nil);
+ return;
+ }
+
+ // Tag the chat as restored.
+ [chat setValue:[NSNumber numberWithBool:YES]
+ forProperty:@"Restored Chat"
+ notify:NotifyNow];
+
+ [self openChat:chat inContainerWithID:nil atIndex:-1];
+ [self setActiveChat:chat];
+}
//Interface plugin callbacks -------------------------------------------------------------------------------------------
@@ -1931,7 +2004,9 @@
AILocalizedString(@"Show Fonts",nil))];
return YES;
} else if (menuItem == menuItem_toggleUserlist || menuItem == menuItem_toggleUserlistSide) {
- return self.activeChat.isGroupChat;
+ return self.activeChat.isGroupChat;
+ } else if (menuItem == menuItem_reopenTab) {
+ return recentlyClosedChats.count > 0;
} else {
return YES;
}
diff -r aa190f1573ff -r 2be2cb5ee1fa Source/ESSafariLinkToolbarItemPlugin.m
--- a/Source/ESSafariLinkToolbarItemPlugin.m Sat Aug 21 18:40:48 2010 -0400
+++ b/Source/ESSafariLinkToolbarItemPlugin.m Sun Aug 29 20:07:28 2010 -0400
@@ -57,7 +57,7 @@
defaultBrowserName = [[NSFileManager defaultManager] displayNameAtPath:defaultBrowserPath];
//Is the default browser supported?
- NSEnumerator *enumerator = [[NSArray arrayWithObjects:@"Safari", @"Firefox", @"OmniWeb", @"Camino", @"Shiira", @"NetNewsWire", nil] objectEnumerator];
+ NSEnumerator *enumerator = [[NSArray arrayWithObjects:@"Safari", @"Firefox", @"OmniWeb", @"Camino", @"Shiira", @"NetNewsWire", @"Google Chrome", nil] objectEnumerator];
NSString *aSupportedBrowser;
while ((aSupportedBrowser = [enumerator nextObject])) {
More information about the commits
mailing list