adium 4108:f34e6e092b22: Added timestamp on Growl notifications....

commits at adium.im commits at adium.im
Wed Aug 3 01:02:48 UTC 2011


details:	http://hg.adium.im/adium/rev/f34e6e092b22
revision:	4108:f34e6e092b22
branch:		(none)
author:		Adrian Godoroja <robotive at me.com>
date:		Wed Aug 03 04:00:31 2011 +0300

Added timestamp on Growl notifications. r=robotive. Refs #9920.

diffs (truncated from 1006 to 1000 lines):

diff -r e219e3927347 -r f34e6e092b22 Resources/GrowlAlert.nib/classes.nib
--- a/Resources/GrowlAlert.nib/classes.nib	Wed Aug 03 00:51:29 2011 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,243 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>IBClasses</key>
-	<array>
-		<dict>
-			<key>CLASS</key>
-			<string>NSApplication</string>
-			<key>LANGUAGE</key>
-			<string>ObjC</string>
-			<key>SUPERCLASS</key>
-			<string>NSResponder</string>
-		</dict>
-		<dict>
-			<key>CLASS</key>
-			<string>RBSplitView</string>
-			<key>LANGUAGE</key>
-			<string>ObjC</string>
-			<key>OUTLETS</key>
-			<dict>
-				<key>delegate</key>
-				<string>id</string>
-			</dict>
-			<key>SUPERCLASS</key>
-			<string>RBSplitSubview</string>
-		</dict>
-		<dict>
-			<key>CLASS</key>
-			<string>NSTextField</string>
-			<key>LANGUAGE</key>
-			<string>ObjC</string>
-			<key>SUPERCLASS</key>
-			<string>NSControl</string>
-		</dict>
-		<dict>
-			<key>CLASS</key>
-			<string>RBSplitSubview</string>
-			<key>LANGUAGE</key>
-			<string>ObjC</string>
-			<key>SUPERCLASS</key>
-			<string>NSView</string>
-		</dict>
-		<dict>
-			<key>CLASS</key>
-			<string>NSMenu</string>
-			<key>LANGUAGE</key>
-			<string>ObjC</string>
-			<key>SUPERCLASS</key>
-			<string>NSObject</string>
-		</dict>
-		<dict>
-			<key>ACTIONS</key>
-			<dict>
-				<key>adiumPrint</key>
-				<string>id</string>
-				<key>didAdjustSubviews</key>
-				<string>RBSplitView</string>
-				<key>prefsWindowWillClose</key>
-				<string>SS_PrefsController</string>
-				<key>toggleFindPanel</key>
-				<string>id</string>
-				<key>willAdjustSubviews</key>
-				<string>RBSplitView</string>
-			</dict>
-			<key>CLASS</key>
-			<string>NSObject</string>
-			<key>LANGUAGE</key>
-			<string>ObjC</string>
-		</dict>
-		<dict>
-			<key>CLASS</key>
-			<string>AILocalizationButton</string>
-			<key>LANGUAGE</key>
-			<string>ObjC</string>
-			<key>OUTLETS</key>
-			<dict>
-				<key>view_anchorToLeftSide</key>
-				<string>NSView</string>
-				<key>view_anchorToRightSide</key>
-				<string>NSView</string>
-				<key>window_anchorOnLeftSide</key>
-				<string>NSWindow</string>
-				<key>window_anchorOnRightSide</key>
-				<string>NSWindow</string>
-			</dict>
-			<key>SUPERCLASS</key>
-			<string>NSButton</string>
-		</dict>
-		<dict>
-			<key>CLASS</key>
-			<string>NSWindow</string>
-			<key>LANGUAGE</key>
-			<string>ObjC</string>
-			<key>SUPERCLASS</key>
-			<string>NSResponder</string>
-		</dict>
-		<dict>
-			<key>CLASS</key>
-			<string>AIActionDetailsPane</string>
-			<key>LANGUAGE</key>
-			<string>ObjC</string>
-			<key>SUPERCLASS</key>
-			<string>AIModularPane</string>
-		</dict>
-		<dict>
-			<key>CLASS</key>
-			<string>NSView</string>
-			<key>LANGUAGE</key>
-			<string>ObjC</string>
-			<key>SUPERCLASS</key>
-			<string>NSResponder</string>
-		</dict>
-		<dict>
-			<key>CLASS</key>
-			<string>NSMenuItem</string>
-			<key>LANGUAGE</key>
-			<string>ObjC</string>
-			<key>SUPERCLASS</key>
-			<string>NSObject</string>
-		</dict>
-		<dict>
-			<key>CLASS</key>
-			<string>FirstResponder</string>
-			<key>LANGUAGE</key>
-			<string>ObjC</string>
-			<key>SUPERCLASS</key>
-			<string>NSObject</string>
-		</dict>
-		<dict>
-			<key>CLASS</key>
-			<string>NSCell</string>
-			<key>LANGUAGE</key>
-			<string>ObjC</string>
-			<key>SUPERCLASS</key>
-			<string>NSObject</string>
-		</dict>
-		<dict>
-			<key>ACTIONS</key>
-			<dict>
-				<key>changePreference</key>
-				<string>id</string>
-			</dict>
-			<key>CLASS</key>
-			<string>AIModularPane</string>
-			<key>LANGUAGE</key>
-			<string>ObjC</string>
-			<key>OUTLETS</key>
-			<dict>
-				<key>plugin</key>
-				<string>id</string>
-				<key>view</key>
-				<string>NSView</string>
-			</dict>
-			<key>SUPERCLASS</key>
-			<string>NSObject</string>
-		</dict>
-		<dict>
-			<key>CLASS</key>
-			<string>CBGrowlAlertDetailPane</string>
-			<key>LANGUAGE</key>
-			<string>ObjC</string>
-			<key>OUTLETS</key>
-			<dict>
-				<key>checkBox_sticky</key>
-				<string>NSButton</string>
-				<key>label_priority</key>
-				<string>NSTextField</string>
-				<key>popUp_priority</key>
-				<string>NSPopUpButton</string>
-			</dict>
-			<key>SUPERCLASS</key>
-			<string>AIActionDetailsPane</string>
-		</dict>
-		<dict>
-			<key>CLASS</key>
-			<string>NSButton</string>
-			<key>LANGUAGE</key>
-			<string>ObjC</string>
-			<key>SUPERCLASS</key>
-			<string>NSControl</string>
-		</dict>
-		<dict>
-			<key>CLASS</key>
-			<string>NSPopUpButton</string>
-			<key>LANGUAGE</key>
-			<string>ObjC</string>
-			<key>SUPERCLASS</key>
-			<string>NSButton</string>
-		</dict>
-		<dict>
-			<key>CLASS</key>
-			<string>NSPopUpButtonCell</string>
-			<key>LANGUAGE</key>
-			<string>ObjC</string>
-			<key>SUPERCLASS</key>
-			<string>NSMenuItemCell</string>
-		</dict>
-		<dict>
-			<key>CLASS</key>
-			<string>AILocalizationTextField</string>
-			<key>LANGUAGE</key>
-			<string>ObjC</string>
-			<key>OUTLETS</key>
-			<dict>
-				<key>view_anchorToLeftSide</key>
-				<string>NSView</string>
-				<key>view_anchorToRightSide</key>
-				<string>NSView</string>
-				<key>window_anchorOnLeftSide</key>
-				<string>NSWindow</string>
-				<key>window_anchorOnRightSide</key>
-				<string>NSWindow</string>
-			</dict>
-			<key>SUPERCLASS</key>
-			<string>NSTextField</string>
-		</dict>
-		<dict>
-			<key>CLASS</key>
-			<string>NSButtonCell</string>
-			<key>LANGUAGE</key>
-			<string>ObjC</string>
-			<key>SUPERCLASS</key>
-			<string>NSActionCell</string>
-		</dict>
-		<dict>
-			<key>CLASS</key>
-			<string>SS_PrefsController</string>
-			<key>LANGUAGE</key>
-			<string>ObjC</string>
-			<key>OUTLETS</key>
-			<dict>
-				<key>delegate</key>
-				<string>id</string>
-			</dict>
-			<key>SUPERCLASS</key>
-			<string>NSObject</string>
-		</dict>
-	</array>
-	<key>IBVersion</key>
-	<string>1</string>
-</dict>
-</plist>
diff -r e219e3927347 -r f34e6e092b22 Resources/GrowlAlert.nib/designable.nib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Resources/GrowlAlert.nib/designable.nib	Wed Aug 03 04:00:31 2011 +0300
@@ -0,0 +1,575 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00">
+	<data>
+		<int key="IBDocument.SystemTarget">1060</int>
+		<string key="IBDocument.SystemVersion">11A511</string>
+		<string key="IBDocument.InterfaceBuilderVersion">1617</string>
+		<string key="IBDocument.AppKitVersion">1138</string>
+		<string key="IBDocument.HIToolboxVersion">566.00</string>
+		<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
+			<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
+			<string key="NS.object.0">1617</string>
+		</object>
+		<array key="IBDocument.IntegratedClassDependencies">
+			<string>NSTextField</string>
+			<string>NSTextFieldCell</string>
+			<string>NSMenu</string>
+			<string>NSMenuItem</string>
+			<string>NSPopUpButton</string>
+			<string>NSCustomView</string>
+			<string>NSButtonCell</string>
+			<string>NSPopUpButtonCell</string>
+			<string>NSButton</string>
+			<string>NSCustomObject</string>
+		</array>
+		<array key="IBDocument.PluginDependencies">
+			<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+		</array>
+		<dictionary class="NSMutableDictionary" key="IBDocument.Metadata"/>
+		<array class="NSMutableArray" key="IBDocument.RootObjects" id="907618351">
+			<object class="NSCustomObject" id="142383858">
+				<string key="NSClassName">CBGrowlAlertDetailPane</string>
+			</object>
+			<object class="NSCustomObject" id="562893329">
+				<string key="NSClassName">FirstResponder</string>
+			</object>
+			<object class="NSCustomObject" id="122621283">
+				<string key="NSClassName">NSApplication</string>
+			</object>
+			<object class="NSCustomView" id="968514289">
+				<reference key="NSNextResponder"/>
+				<int key="NSvFlags">256</int>
+				<array class="NSMutableArray" key="NSSubviews">
+					<object class="NSButton" id="1067699754">
+						<reference key="NSNextResponder" ref="968514289"/>
+						<int key="NSvFlags">256</int>
+						<string key="NSFrame">{{160, -2}, {187, 18}}</string>
+						<reference key="NSSuperview" ref="968514289"/>
+						<reference key="NSWindow"/>
+						<reference key="NSNextKeyView"/>
+						<bool key="NSEnabled">YES</bool>
+						<object class="NSButtonCell" key="NSCell" id="1053890224">
+							<int key="NSCellFlags">67239424</int>
+							<int key="NSCellFlags2">0</int>
+							<string key="NSContents">Time stamp</string>
+							<object class="NSFont" key="NSSupport" id="383696161">
+								<string key="NSName">LucidaGrande</string>
+								<double key="NSSize">13</double>
+								<int key="NSfFlags">1044</int>
+							</object>
+							<reference key="NSControlView" ref="1067699754"/>
+							<int key="NSButtonFlags">1211912703</int>
+							<int key="NSButtonFlags2">2</int>
+							<object class="NSButtonImageSource" key="NSAlternateImage" id="205577449">
+								<string key="NSImageName">NSSwitch</string>
+							</object>
+							<string key="NSAlternateContents"/>
+							<string key="NSKeyEquivalent"/>
+							<int key="NSPeriodicDelay">200</int>
+							<int key="NSPeriodicInterval">25</int>
+						</object>
+					</object>
+					<object class="NSButton" id="175101245">
+						<reference key="NSNextResponder" ref="968514289"/>
+						<int key="NSvFlags">256</int>
+						<string key="NSFrame">{{160, 20}, {59, 18}}</string>
+						<reference key="NSSuperview" ref="968514289"/>
+						<reference key="NSWindow"/>
+						<reference key="NSNextKeyView" ref="1067699754"/>
+						<bool key="NSEnabled">YES</bool>
+						<object class="NSButtonCell" key="NSCell" id="889524446">
+							<int key="NSCellFlags">67239424</int>
+							<int key="NSCellFlags2">0</int>
+							<string key="NSContents">Sticky</string>
+							<reference key="NSSupport" ref="383696161"/>
+							<reference key="NSControlView" ref="175101245"/>
+							<int key="NSButtonFlags">1211912703</int>
+							<int key="NSButtonFlags2">2</int>
+							<reference key="NSAlternateImage" ref="205577449"/>
+							<string key="NSAlternateContents"/>
+							<string key="NSKeyEquivalent"/>
+							<int key="NSPeriodicDelay">200</int>
+							<int key="NSPeriodicInterval">25</int>
+						</object>
+					</object>
+					<object class="NSTextField" id="966812186">
+						<reference key="NSNextResponder" ref="968514289"/>
+						<int key="NSvFlags">268</int>
+						<string key="NSFrame">{{-3, 46}, {161, 17}}</string>
+						<reference key="NSSuperview" ref="968514289"/>
+						<reference key="NSWindow"/>
+						<reference key="NSNextKeyView" ref="743847431"/>
+						<bool key="NSEnabled">YES</bool>
+						<object class="NSTextFieldCell" key="NSCell" id="225800914">
+							<int key="NSCellFlags">68288064</int>
+							<int key="NSCellFlags2">71304192</int>
+							<string key="NSContents">Priority:</string>
+							<reference key="NSSupport" ref="383696161"/>
+							<reference key="NSControlView" ref="966812186"/>
+							<object class="NSColor" key="NSBackgroundColor">
+								<int key="NSColorSpace">6</int>
+								<string key="NSCatalogName">System</string>
+								<string key="NSColorName">controlColor</string>
+								<object class="NSColor" key="NSColor">
+									<int key="NSColorSpace">3</int>
+									<bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>
+								</object>
+							</object>
+							<object class="NSColor" key="NSTextColor">
+								<int key="NSColorSpace">6</int>
+								<string key="NSCatalogName">System</string>
+								<string key="NSColorName">controlTextColor</string>
+								<object class="NSColor" key="NSColor">
+									<int key="NSColorSpace">3</int>
+									<bytes key="NSWhite">MAA</bytes>
+								</object>
+							</object>
+						</object>
+					</object>
+					<object class="NSPopUpButton" id="743847431">
+						<reference key="NSNextResponder" ref="968514289"/>
+						<int key="NSvFlags">268</int>
+						<string key="NSFrame">{{159, 40}, {189, 26}}</string>
+						<reference key="NSSuperview" ref="968514289"/>
+						<reference key="NSWindow"/>
+						<reference key="NSNextKeyView" ref="175101245"/>
+						<bool key="NSEnabled">YES</bool>
+						<object class="NSPopUpButtonCell" key="NSCell" id="346077233">
+							<int key="NSCellFlags">-2076049856</int>
+							<int key="NSCellFlags2">2048</int>
+							<reference key="NSSupport" ref="383696161"/>
+							<reference key="NSControlView" ref="743847431"/>
+							<int key="NSButtonFlags">109199615</int>
+							<int key="NSButtonFlags2">129</int>
+							<string key="NSAlternateContents"/>
+							<string key="NSKeyEquivalent"/>
+							<int key="NSPeriodicDelay">400</int>
+							<int key="NSPeriodicInterval">75</int>
+							<object class="NSMenuItem" key="NSMenuItem" id="176342100">
+								<reference key="NSMenu" ref="594516473"/>
+								<string key="NSTitle">Item 1</string>
+								<string key="NSKeyEquiv"/>
+								<int key="NSKeyEquivModMask">1048576</int>
+								<int key="NSMnemonicLoc">2147483647</int>
+								<int key="NSState">1</int>
+								<object class="NSCustomResource" key="NSOnImage" id="792415241">
+									<string key="NSClassName">NSImage</string>
+									<string key="NSResourceName">NSMenuCheckmark</string>
+								</object>
+								<object class="NSCustomResource" key="NSMixedImage" id="918237181">
+									<string key="NSClassName">NSImage</string>
+									<string key="NSResourceName">NSMenuMixedState</string>
+								</object>
+								<string key="NSAction">_popUpItemAction:</string>
+								<reference key="NSTarget" ref="346077233"/>
+							</object>
+							<bool key="NSMenuItemRespectAlignment">YES</bool>
+							<object class="NSMenu" key="NSMenu" id="594516473">
+								<string key="NSTitle">OtherViews</string>
+								<array class="NSMutableArray" key="NSMenuItems">
+									<reference ref="176342100"/>
+									<object class="NSMenuItem" id="122553039">
+										<reference key="NSMenu" ref="594516473"/>
+										<string key="NSTitle">Item 2</string>
+										<string key="NSKeyEquiv"/>
+										<int key="NSKeyEquivModMask">1048576</int>
+										<int key="NSMnemonicLoc">2147483647</int>
+										<reference key="NSOnImage" ref="792415241"/>
+										<reference key="NSMixedImage" ref="918237181"/>
+										<string key="NSAction">_popUpItemAction:</string>
+										<reference key="NSTarget" ref="346077233"/>
+									</object>
+									<object class="NSMenuItem" id="816496168">
+										<reference key="NSMenu" ref="594516473"/>
+										<string key="NSTitle">Item 3</string>
+										<string key="NSKeyEquiv"/>
+										<int key="NSKeyEquivModMask">1048576</int>
+										<int key="NSMnemonicLoc">2147483647</int>
+										<reference key="NSOnImage" ref="792415241"/>
+										<reference key="NSMixedImage" ref="918237181"/>
+										<string key="NSAction">_popUpItemAction:</string>
+										<reference key="NSTarget" ref="346077233"/>
+									</object>
+								</array>
+							</object>
+							<int key="NSPreferredEdge">1</int>
+							<bool key="NSUsesItemFromMenu">YES</bool>
+							<bool key="NSAltersState">YES</bool>
+							<int key="NSArrowPosition">2</int>
+						</object>
+					</object>
+				</array>
+				<string key="NSFrameSize">{549, 64}</string>
+				<reference key="NSSuperview"/>
+				<reference key="NSWindow"/>
+				<reference key="NSNextKeyView" ref="966812186"/>
+				<object class="NSMutableString" key="NSClassName">
+					<characters key="NS.bytes">NSView</characters>
+				</object>
+				<string key="NSExtension">NSResponder</string>
+			</object>
+		</array>
+		<object class="IBObjectContainer" key="IBDocument.Objects">
+			<array class="NSMutableArray" key="connectionRecords">
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">checkBox_sticky</string>
+						<reference key="source" ref="142383858"/>
+						<reference key="destination" ref="175101245"/>
+					</object>
+					<int key="connectionID">7</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">view</string>
+						<reference key="source" ref="142383858"/>
+						<reference key="destination" ref="968514289"/>
+					</object>
+					<int key="connectionID">8</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">changePreference:</string>
+						<reference key="source" ref="142383858"/>
+						<reference key="destination" ref="175101245"/>
+					</object>
+					<int key="connectionID">9</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">popUp_priority</string>
+						<reference key="source" ref="142383858"/>
+						<reference key="destination" ref="743847431"/>
+					</object>
+					<int key="connectionID">22</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">label_priority</string>
+						<reference key="source" ref="142383858"/>
+						<reference key="destination" ref="966812186"/>
+					</object>
+					<int key="connectionID">23</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">changePreference:</string>
+						<reference key="source" ref="142383858"/>
+						<reference key="destination" ref="1067699754"/>
+					</object>
+					<int key="connectionID">31</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">checkBox_timestamp</string>
+						<reference key="source" ref="142383858"/>
+						<reference key="destination" ref="1067699754"/>
+					</object>
+					<int key="connectionID">32</int>
+				</object>
+			</array>
+			<object class="IBMutableOrderedSet" key="objectRecords">
+				<array key="orderedObjects">
+					<object class="IBObjectRecord">
+						<int key="objectID">0</int>
+						<array key="object" id="0"/>
+						<reference key="children" ref="907618351"/>
+						<nil key="parent"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">-2</int>
+						<reference key="object" ref="142383858"/>
+						<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="562893329"/>
+						<reference key="parent" ref="0"/>
+						<string key="objectName">First Responder</string>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">-3</int>
+						<reference key="object" ref="122621283"/>
+						<reference key="parent" ref="0"/>
+						<string key="objectName">Application</string>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">5</int>
+						<reference key="object" ref="968514289"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="966812186"/>
+							<reference ref="743847431"/>
+							<reference ref="175101245"/>
+							<reference ref="1067699754"/>
+						</array>
+						<reference key="parent" ref="0"/>
+						<string key="objectName">View</string>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">6</int>
+						<reference key="object" ref="175101245"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="889524446"/>
+						</array>
+						<reference key="parent" ref="968514289"/>
+						<string key="objectName">Localization Button - Sticky</string>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">12</int>
+						<reference key="object" ref="966812186"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="225800914"/>
+						</array>
+						<reference key="parent" ref="968514289"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">16</int>
+						<reference key="object" ref="743847431"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="346077233"/>
+						</array>
+						<reference key="parent" ref="968514289"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">26</int>
+						<reference key="object" ref="889524446"/>
+						<reference key="parent" ref="175101245"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">27</int>
+						<reference key="object" ref="225800914"/>
+						<reference key="parent" ref="966812186"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">28</int>
+						<reference key="object" ref="346077233"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="594516473"/>
+						</array>
+						<reference key="parent" ref="743847431"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">18</int>
+						<reference key="object" ref="594516473"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="816496168"/>
+							<reference ref="122553039"/>
+							<reference ref="176342100"/>
+						</array>
+						<reference key="parent" ref="346077233"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">21</int>
+						<reference key="object" ref="816496168"/>
+						<reference key="parent" ref="594516473"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">20</int>
+						<reference key="object" ref="122553039"/>
+						<reference key="parent" ref="594516473"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">19</int>
+						<reference key="object" ref="176342100"/>
+						<reference key="parent" ref="594516473"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">29</int>
+						<reference key="object" ref="1067699754"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="1053890224"/>
+						</array>
+						<reference key="parent" ref="968514289"/>
+						<string key="objectName">Localization Button - Time Stamp</string>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">30</int>
+						<reference key="object" ref="1053890224"/>
+						<reference key="parent" ref="1067699754"/>
+					</object>
+				</array>
+			</object>
+			<dictionary class="NSMutableDictionary" key="flattenedProperties">
+				<string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="-3.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="12.CustomClassName">AILocalizationTextField</string>
+				<string key="12.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="16.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="18.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="19.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="20.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="21.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="26.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="27.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="28.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="29.CustomClassName">AILocalizationButton</string>
+				<string key="29.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="30.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="5.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="6.CustomClassName">AILocalizationButton</string>
+				<string key="6.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+			</dictionary>
+			<dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
+			<nil key="activeLocalization"/>
+			<dictionary class="NSMutableDictionary" key="localizations"/>
+			<nil key="sourceID"/>
+			<int key="maxID">32</int>
+		</object>
+		<object class="IBClassDescriber" key="IBDocument.Classes">
+			<array class="NSMutableArray" key="referencedPartialClassDescriptions">
+				<object class="IBPartialClassDescription">
+					<string key="className">AIActionDetailsPane</string>
+					<string key="superclassName">AIModularPane</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBProjectSource</string>
+						<string key="minorKey">./Classes/AIActionDetailsPane.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">AILocalizationButton</string>
+					<string key="superclassName">NSButton</string>
+					<dictionary class="NSMutableDictionary" key="outlets">
+						<string key="view_anchorToLeftSide">NSView</string>
+						<string key="view_anchorToRightSide">NSView</string>
+						<string key="window_anchorOnLeftSide">NSWindow</string>
+						<string key="window_anchorOnRightSide">NSWindow</string>
+					</dictionary>
+					<dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
+						<object class="IBToOneOutletInfo" key="view_anchorToLeftSide">
+							<string key="name">view_anchorToLeftSide</string>
+							<string key="candidateClassName">NSView</string>
+						</object>
+						<object class="IBToOneOutletInfo" key="view_anchorToRightSide">
+							<string key="name">view_anchorToRightSide</string>
+							<string key="candidateClassName">NSView</string>
+						</object>
+						<object class="IBToOneOutletInfo" key="window_anchorOnLeftSide">
+							<string key="name">window_anchorOnLeftSide</string>
+							<string key="candidateClassName">NSWindow</string>
+						</object>
+						<object class="IBToOneOutletInfo" key="window_anchorOnRightSide">
+							<string key="name">window_anchorOnRightSide</string>
+							<string key="candidateClassName">NSWindow</string>
+						</object>
+					</dictionary>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBProjectSource</string>
+						<string key="minorKey">./Classes/AILocalizationButton.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">AILocalizationTextField</string>
+					<string key="superclassName">NSTextField</string>
+					<dictionary class="NSMutableDictionary" key="outlets">
+						<string key="view_anchorToLeftSide">NSView</string>
+						<string key="view_anchorToRightSide">NSView</string>
+						<string key="window_anchorOnLeftSide">NSWindow</string>
+						<string key="window_anchorOnRightSide">NSWindow</string>
+					</dictionary>
+					<dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
+						<object class="IBToOneOutletInfo" key="view_anchorToLeftSide">
+							<string key="name">view_anchorToLeftSide</string>
+							<string key="candidateClassName">NSView</string>
+						</object>
+						<object class="IBToOneOutletInfo" key="view_anchorToRightSide">
+							<string key="name">view_anchorToRightSide</string>
+							<string key="candidateClassName">NSView</string>
+						</object>
+						<object class="IBToOneOutletInfo" key="window_anchorOnLeftSide">
+							<string key="name">window_anchorOnLeftSide</string>
+							<string key="candidateClassName">NSWindow</string>
+						</object>
+						<object class="IBToOneOutletInfo" key="window_anchorOnRightSide">
+							<string key="name">window_anchorOnRightSide</string>
+							<string key="candidateClassName">NSWindow</string>
+						</object>
+					</dictionary>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBProjectSource</string>
+						<string key="minorKey">./Classes/AILocalizationTextField.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">AIModularPane</string>
+					<string key="superclassName">NSObject</string>
+					<object class="NSMutableDictionary" key="actions">
+						<string key="NS.key.0">changePreference:</string>
+						<string key="NS.object.0">id</string>
+					</object>
+					<object class="NSMutableDictionary" key="actionInfosByName">
+						<string key="NS.key.0">changePreference:</string>
+						<object class="IBActionInfo" key="NS.object.0">
+							<string key="name">changePreference:</string>
+							<string key="candidateClassName">id</string>
+						</object>
+					</object>
+					<object class="NSMutableDictionary" key="outlets">
+						<string key="NS.key.0">view</string>
+						<string key="NS.object.0">NSView</string>
+					</object>
+					<object class="NSMutableDictionary" key="toOneOutletInfosByName">
+						<string key="NS.key.0">view</string>
+						<object class="IBToOneOutletInfo" key="NS.object.0">
+							<string key="name">view</string>
+							<string key="candidateClassName">NSView</string>
+						</object>
+					</object>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBProjectSource</string>
+						<string key="minorKey">./Classes/AIModularPane.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">CBGrowlAlertDetailPane</string>
+					<string key="superclassName">AIActionDetailsPane</string>
+					<dictionary class="NSMutableDictionary" key="outlets">
+						<string key="checkBox_sticky">NSButton</string>
+						<string key="checkBox_timestamp">NSButton</string>
+						<string key="label_priority">NSTextField</string>
+						<string key="popUp_priority">NSPopUpButton</string>
+					</dictionary>
+					<dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
+						<object class="IBToOneOutletInfo" key="checkBox_sticky">
+							<string key="name">checkBox_sticky</string>
+							<string key="candidateClassName">NSButton</string>
+						</object>
+						<object class="IBToOneOutletInfo" key="checkBox_timestamp">
+							<string key="name">checkBox_timestamp</string>
+							<string key="candidateClassName">NSButton</string>
+						</object>
+						<object class="IBToOneOutletInfo" key="label_priority">
+							<string key="name">label_priority</string>
+							<string key="candidateClassName">NSTextField</string>
+						</object>
+						<object class="IBToOneOutletInfo" key="popUp_priority">
+							<string key="name">popUp_priority</string>
+							<string key="candidateClassName">NSPopUpButton</string>
+						</object>
+					</dictionary>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBProjectSource</string>
+						<string key="minorKey">./Classes/CBGrowlAlertDetailPane.h</string>
+					</object>
+				</object>
+			</array>
+		</object>
+		<int key="IBDocument.localizationMode">0</int>
+		<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
+		<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencies">
+			<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
+			<real value="1060" key="NS.object.0"/>
+		</object>
+		<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
+			<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string>
+			<real value="3200" key="NS.object.0"/>
+		</object>
+		<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
+		<int key="IBDocument.defaultPropertyAccessControl">3</int>
+		<dictionary class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes">
+			<string key="NSMenuCheckmark">{9, 8}</string>
+			<string key="NSMenuMixedState">{7, 2}</string>
+		</dictionary>
+	</data>
+</archive>
diff -r e219e3927347 -r f34e6e092b22 Resources/GrowlAlert.nib/info.nib
--- a/Resources/GrowlAlert.nib/info.nib	Wed Aug 03 00:51:29 2011 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>IBFramework Version</key>
-	<string>677</string>
-	<key>IBLastKnownRelativeProjectPath</key>
-	<string>../Adium.xcodeproj</string>
-	<key>IBOldestOS</key>
-	<integer>5</integer>
-	<key>IBOpenObjects</key>
-	<array>
-		<integer>5</integer>
-	</array>
-	<key>IBSystem Version</key>
-	<string>9J61</string>
-	<key>targetFramework</key>
-	<string>IBCocoaFramework</string>
-</dict>
-</plist>
diff -r e219e3927347 -r f34e6e092b22 Resources/GrowlAlert.nib/keyedobjects.nib
Binary file Resources/GrowlAlert.nib/keyedobjects.nib has changed
diff -r e219e3927347 -r f34e6e092b22 Source/CBGrowlAlertDetailPane.h
--- a/Source/CBGrowlAlertDetailPane.h	Wed Aug 03 00:51:29 2011 +0300
+++ b/Source/CBGrowlAlertDetailPane.h	Wed Aug 03 04:00:31 2011 +0300
@@ -18,7 +18,7 @@
 
 @interface CBGrowlAlertDetailPane : AIActionDetailsPane {
 	IBOutlet	NSButton		*checkBox_sticky;
-	
+	IBOutlet    NSButton		*checkBox_timestamp;
 	IBOutlet	NSTextField		*label_priority;
 	IBOutlet	NSPopUpButton	*popUp_priority;
 }
diff -r e219e3927347 -r f34e6e092b22 Source/CBGrowlAlertDetailPane.m
--- a/Source/CBGrowlAlertDetailPane.m	Wed Aug 03 00:51:29 2011 +0300
+++ b/Source/CBGrowlAlertDetailPane.m	Wed Aug 03 04:00:31 2011 +0300
@@ -59,6 +59,7 @@
 	[super viewDidLoad];
 	
 	[checkBox_sticky setLocalizedString:AILocalizedString(@"Sticky","Growl contact alert label")];
+    [checkBox_timestamp setLocalizedString:AILocalizedString(@"Show time stamp", "Growl contact alert label")];
 	[label_priority setLocalizedString:AILocalizedString(@"Priority:", "Priority label for Growl")];
 	
 	[popUp_priority setMenu:[self priorityMenu]];
@@ -117,6 +118,7 @@
 - (void)configureForActionDetails:(NSDictionary *)inDetails listObject:(AIListObject *)inObject
 {
 	[checkBox_sticky setState:([[inDetails objectForKey:KEY_GROWL_ALERT_STICKY] boolValue] ? NSOnState : NSOffState)];
+    [checkBox_timestamp setState:([[inDetails objectForKey:KEY_GROWL_ALERT_TIME_STAMP] boolValue] ? NSOnState : NSOffState)];
 	[popUp_priority selectItemWithTag:[[inDetails objectForKey:KEY_GROWL_PRIORITY] integerValue]];
 }
 
@@ -127,6 +129,7 @@
 {
 	return [NSDictionary dictionaryWithObjectsAndKeys:
 			[NSNumber numberWithBool:([checkBox_sticky state] == NSOnState)], KEY_GROWL_ALERT_STICKY,
+            [NSNumber numberWithBool:([checkBox_timestamp state] == NSOnState)], KEY_GROWL_ALERT_TIME_STAMP,
 			[NSNumber numberWithInteger:[popUp_priority selectedItem].tag], KEY_GROWL_PRIORITY, nil];
 }
 
diff -r e219e3927347 -r f34e6e092b22 Source/NEHGrowlPlugin.h
--- a/Source/NEHGrowlPlugin.h	Wed Aug 03 00:51:29 2011 +0300
+++ b/Source/NEHGrowlPlugin.h	Wed Aug 03 04:00:31 2011 +0300
@@ -17,17 +17,18 @@
 #import <Adium/AIContactAlertsControllerProtocol.h>
 #import <Growl/GrowlApplicationBridge.h>
 
-#define KEY_GROWL_ALERT_STICKY	@"Growl Sticky"
-#define KEY_GROWL_PRIORITY		@"Growl Priority"
+#define KEY_GROWL_ALERT_STICKY		@"Growl Sticky"
+#define KEY_GROWL_PRIORITY			@"Growl Priority"
+#define KEY_GROWL_ALERT_TIME_STAMP	@"Growl Time Stamp"
 #define GROWL_QUEUE_WAIT		0.75 // Seconds to wait before clearing an event type's queue
 #define GROWL_QUEUE_POST_COUNT	5
 
 @protocol GrowlApplicationBridgeDelegate;
 
 @interface NEHGrowlPlugin : AIPlugin <AIActionHandler, GrowlApplicationBridgeDelegate> {
-	BOOL			 showWhileAway;
+	BOOL showWhileAway;
 	
-	NSMutableDictionary		*queuedEvents;
+	NSMutableDictionary	*queuedEvents;
 }
 
 @end
diff -r e219e3927347 -r f34e6e092b22 Source/NEHGrowlPlugin.m
--- a/Source/NEHGrowlPlugin.m	Wed Aug 03 00:51:29 2011 +0300
+++ b/Source/NEHGrowlPlugin.m	Wed Aug 03 04:00:31 2011 +0300
@@ -16,6 +16,7 @@
 
 #import "NEHGrowlPlugin.h"
 #import "CBGrowlAlertDetailPane.h"
+#import "AIWebKitMessageViewPlugin.h"
 #import <Adium/AIChatControllerProtocol.h>
 #import <Adium/AIContactControllerProtocol.h>
 #import <Adium/AIContentControllerProtocol.h>
@@ -41,6 +42,8 @@
 
 #define GROWL_ALERT							AILocalizedString(@"Display a Growl notification",nil)
 #define GROWL_STICKY_ALERT					AILocalizedString(@"Display a sticky Growl notification",nil)
+#define GROWL_STICKY_TIME_STAMP_ALERT       AILocalizedString(@"Display a sticky Growl notification with a time stamp", nil)
+#define GROWL_TIME_STAMP_ALERT              AILocalizedString(@"Display a Growl notification with a time stamp", nil)
 
 #define GROWL_INSTALLATION_WINDOW_TITLE		AILocalizedString(@"Growl Installation Recommended", "Growl installation window title")
 #define GROWL_UPDATE_WINDOW_TITLE			AILocalizedString(@"Growl Update Available", "Growl update window title")
@@ -165,9 +168,13 @@
  */
 - (NSString *)longDescriptionForActionID:(NSString *)actionID withDetails:(NSDictionary *)details
 {
-	if ([[details objectForKey:KEY_GROWL_ALERT_STICKY] boolValue]) {
+    if (([[details objectForKey:KEY_GROWL_ALERT_TIME_STAMP] boolValue]) && ([[details objectForKey:KEY_GROWL_ALERT_STICKY] boolValue])) {
+		return GROWL_STICKY_TIME_STAMP_ALERT;
+	} else if ([[details objectForKey:KEY_GROWL_ALERT_STICKY] boolValue]) {
 		return GROWL_STICKY_ALERT;
-	} else {
+	} else if ([[details objectForKey:KEY_GROWL_ALERT_TIME_STAMP] boolValue]) {
+		return GROWL_TIME_STAMP_ALERT;
+    } else {
 		return GROWL_ALERT;
 	}
 }
@@ -356,6 +363,7 @@
 {
 	NSString			*title, *description;
 	AIChat				*chat = nil;
+    AIContentObject     *contentObject = nil;
 	NSData				*iconData = nil;
 	NSMutableDictionary	*clickContext = [NSMutableDictionary dictionary];
 	NSString			*identifier = nil;
@@ -364,8 +372,8 @@
 	if ([adium.contactAlertsController isMessageEvent:eventID] &&
 		[userInfo respondsToSelector:@selector(objectForKey:)] &&
 		[userInfo objectForKey:@"AIContentObject"]) {
-		AIContentObject	*contentObject = [userInfo objectForKey:@"AIContentObject"];
-		AIListObject	*source = [contentObject source];
+        AIListObject	*source = [contentObject source];
+		contentObject = [userInfo objectForKey:@"AIContentObject"];
 		chat = [userInfo objectForKey:@"AIChat"];
 		
 		if (source) listObject = source;
@@ -428,11 +436,28 @@
 			title = @"Adium";
 		}
 	}
-	
-	description = [adium.contactAlertsController naturalLanguageDescriptionForEventID:eventID
-				   listObject:listObject
-				   userInfo:userInfo
-				   includeSubject:NO];
+    
+	description = [[adium contactAlertsController] naturalLanguageDescriptionForEventID:eventID
+                                                                             listObject:listObject
+                                                                               userInfo:userInfo
+                                                                         includeSubject:NO];
+    
+	// Append event time stamp if preference is set
+	if ([[details objectForKey:KEY_GROWL_ALERT_TIME_STAMP] boolValue]) {
+        NSDateFormatter *timeStampFormatter = [[NSDateFormatter alloc] init];
+        [timeStampFormatter setFormatterBehavior:NSDateFormatterBehaviorDefault];
+		
+        // Set the format to the user's system defined short style
+		[timeStampFormatter setTimeStyle:NSDateFormatterShortStyle];
+
+        // For a message event use the contentObject's date otherwise use the current date
+		NSDate *dateStamp = (contentObject) ? [contentObject date] : [NSDate date];
+		
+        description = [NSString stringWithFormat:AILocalizedString(@"[%@] %@", "A Growl notification with a timestamp. The first %@ is the timestamp, the second is the main string"), [timeStampFormatter stringFromDate:dateStamp], description];
+		



More information about the commits mailing list