adium 5657:4b20347576c8: Now actually hooked up the "Verify..." ...

commits at adium.im commits at adium.im
Wed Jul 10 21:31:16 UTC 2013


details:	http://hg.adium.im/adium/rev/4b20347576c8
revision:	5657:4b20347576c8
branch:		libotr4.0.0
author:		Thijs Alkemade <me at thijsalkema.de>
date:		Wed Jul 10 23:30:38 2013 +0200

Now actually hooked up the "Verify..." button to a window.

diffs (702 lines):

diff -r 088707cab4f5 -r 4b20347576c8 Frameworks/Adium Framework/Source/AIContentControllerProtocol.h
--- a/Frameworks/Adium Framework/Source/AIContentControllerProtocol.h	Wed Jul 10 17:29:30 2013 +0200
+++ b/Frameworks/Adium Framework/Source/AIContentControllerProtocol.h	Wed Jul 10 23:30:38 2013 +0200
@@ -258,4 +258,6 @@
 
 - (void)requestSecureOTRMessaging:(BOOL)inSecureMessaging inChat:(AIChat *)inChat;
 - (void)promptToVerifyEncryptionIdentityInChat:(AIChat *)inChat;
+- (void)questionVerifyEncryptionIdentityInChat:(AIChat *)inChat;
+- (void)sharedVerifyEncryptionIdentityInChat:(AIChat *)inChat;
 @end
diff -r 088707cab4f5 -r 4b20347576c8 Resources/AIOTRTopBarUnverifiedContactController.xib
--- a/Resources/AIOTRTopBarUnverifiedContactController.xib	Wed Jul 10 17:29:30 2013 +0200
+++ b/Resources/AIOTRTopBarUnverifiedContactController.xib	Wed Jul 10 23:30:38 2013 +0200
@@ -15,8 +15,11 @@
 			<string>NSButtonCell</string>
 			<string>NSCustomObject</string>
 			<string>NSCustomView</string>
+			<string>NSMatrix</string>
 			<string>NSTextField</string>
 			<string>NSTextFieldCell</string>
+			<string>NSView</string>
+			<string>NSWindowTemplate</string>
 		</array>
 		<array key="IBDocument.PluginDependencies">
 			<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -85,14 +88,14 @@
 									<int key="NSCellFlags">68157504</int>
 									<int key="NSCellFlags2">4195328</int>
 									<string key="NSContents">Your conversation is encrypted, but the contact is unverified.</string>
-									<object class="NSFont" key="NSSupport">
+									<object class="NSFont" key="NSSupport" id="992535413">
 										<string key="NSName">LucidaGrande</string>
 										<double key="NSSize">13</double>
 										<int key="NSfFlags">1044</int>
 									</object>
 									<string key="NSCellIdentifier">_NS:1535</string>
 									<reference key="NSControlView" ref="453567343"/>
-									<object class="NSColor" key="NSBackgroundColor">
+									<object class="NSColor" key="NSBackgroundColor" id="159824319">
 										<int key="NSColorSpace">6</int>
 										<string key="NSCatalogName">System</string>
 										<string key="NSColorName">controlColor</string>
@@ -101,7 +104,7 @@
 											<bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>
 										</object>
 									</object>
-									<object class="NSColor" key="NSTextColor">
+									<object class="NSColor" key="NSTextColor" id="701737385">
 										<int key="NSColorSpace">6</int>
 										<string key="NSCatalogName">System</string>
 										<string key="NSColorName">controlTextColor</string>
@@ -128,6 +131,271 @@
 				<string key="NSReuseIdentifierKey">_NS:9</string>
 				<string key="NSClassName">NSView</string>
 			</object>
+			<object class="NSWindowTemplate" id="121513570">
+				<int key="NSWindowStyleMask">15</int>
+				<int key="NSWindowBacking">2</int>
+				<string key="NSWindowRect">{{624, 434}, {480, 270}}</string>
+				<int key="NSWTFlags">611845120</int>
+				<string key="NSWindowTitle">Verify</string>
+				<string key="NSWindowClass">NSWindow</string>
+				<nil key="NSViewClass"/>
+				<nil key="NSUserInterfaceItemIdentifier"/>
+				<object class="NSView" key="NSWindowView" id="793506965">
+					<reference key="NSNextResponder"/>
+					<int key="NSvFlags">256</int>
+					<array class="NSMutableArray" key="NSSubviews">
+						<object class="NSTextField" id="281619715">
+							<reference key="NSNextResponder" ref="793506965"/>
+							<int key="NSvFlags">268</int>
+							<string key="NSFrame">{{17, 182}, {446, 68}}</string>
+							<reference key="NSSuperview" ref="793506965"/>
+							<reference key="NSWindow"/>
+							<reference key="NSNextKeyView" ref="810703845"/>
+							<string key="NSReuseIdentifierKey">_NS:9</string>
+							<string key="NSAntiCompressionPriority">{250, 750}</string>
+							<bool key="NSEnabled">YES</bool>
+							<object class="NSTextFieldCell" key="NSCell" id="731970894">
+								<int key="NSCellFlags">67108864</int>
+								<int key="NSCellFlags2">272891904</int>
+								<string type="base64-UTF8" key="NSContents">WW91ciBjb252ZXJzYXRpb24gd2l0aCAlQCBpcyBlbmNyeXB0ZWQuIEhvd2V2ZXIsIHlvdSBzaG91bGQg
+bWFrZSBzdXJlIHlvdSByZWFsbHkgYXJlIHRhbGtpbmcgdG8gJUAuCgpZb3UgY2FuIGF1dGhlbnRpY2F0
+ZSAlQCBpbiB0aGUgZm9sbG93aW5nIHdheXM6A</string>
+								<object class="NSFont" key="NSSupport">
+									<string key="NSName">LucidaGrande</string>
+									<double key="NSSize">13</double>
+									<int key="NSfFlags">16</int>
+								</object>
+								<string key="NSCellIdentifier">_NS:9</string>
+								<reference key="NSControlView" ref="281619715"/>
+								<reference key="NSBackgroundColor" ref="159824319"/>
+								<reference key="NSTextColor" ref="701737385"/>
+							</object>
+							<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
+							<bool key="NSControlAutosetMaxLayoutWidth">YES</bool>
+						</object>
+						<object class="NSMatrix" id="810703845">
+							<reference key="NSNextResponder" ref="793506965"/>
+							<int key="NSvFlags">268</int>
+							<string key="NSFrame">{{20, 86}, {440, 88}}</string>
+							<reference key="NSSuperview" ref="793506965"/>
+							<reference key="NSWindow"/>
+							<reference key="NSNextKeyView" ref="716389044"/>
+							<string key="NSReuseIdentifierKey">_NS:9</string>
+							<bool key="NSEnabled">YES</bool>
+							<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
+							<int key="NSNumRows">3</int>
+							<int key="NSNumCols">1</int>
+							<array class="NSMutableArray" key="NSCells">
+								<object class="NSButtonCell" id="822288046">
+									<int key="NSCellFlags">-2080374784</int>
+									<int key="NSCellFlags2">0</int>
+									<string key="NSContents">Secret question: Ask a question only %@ can answer.</string>
+									<reference key="NSSupport" ref="992535413"/>
+									<reference key="NSControlView" ref="810703845"/>
+									<int key="NSTag">1</int>
+									<int key="NSButtonFlags">1211912448</int>
+									<int key="NSButtonFlags2">0</int>
+									<object class="NSButtonImageSource" key="NSAlternateImage" id="307356975">
+										<string key="NSImageName">NSRadioButton</string>
+									</object>
+									<string key="NSAlternateContents"/>
+									<string key="NSKeyEquivalent"/>
+									<int key="NSPeriodicDelay">200</int>
+									<int key="NSPeriodicInterval">25</int>
+								</object>
+								<object class="NSButtonCell" id="88203082">
+									<int key="NSCellFlags">67108864</int>
+									<int key="NSCellFlags2">0</int>
+									<string key="NSContents">Shared secret: You have previously agreed on a secret.</string>
+									<reference key="NSSupport" ref="992535413"/>
+									<reference key="NSControlView" ref="810703845"/>
+									<int key="NSTag">2</int>
+									<int key="NSButtonFlags">1211912448</int>
+									<int key="NSButtonFlags2">0</int>
+									<object class="NSImage" key="NSNormalImage">
+										<int key="NSImageFlags">549453824</int>
+										<string key="NSSize">{18, 18}</string>
+										<array class="NSMutableArray" key="NSReps">
+											<array>
+												<integer value="0"/>
+												<object class="NSBitmapImageRep">
+													<object class="NSData" key="NSTIFFRepresentation">
+														<bytes key="NS.bytes">TU0AKgAABRgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAADwRERGLJycnySsrK/A1NTXw
+IyMjyRwcHIsJCQk8AAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFRUVdVBQUOCoqKj/
+29vb//n5+f/6+vr/2tra/6qqqv9UVFTgHx8fdQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUZGRl5
+dXV198PDw//8/Pz////////////////////////////U1NT/fHx89yUlJXkAAAAFAAAAAAAAAAAAAAAA
+AAAAAxEREUZqamrmtbW1/+3t7f/+/v7//v7+//7+/v/9/f3//f39//39/f/39/f/xMTE/3d3d+YZGRlG
+AAAAAwAAAAAAAAAAAAAACkJCQqGtra3/xsbG/+vr6//y8vL/9fX1//X19f/z8/P/9fX1//Ly8v/u7u7/
+0tLS/6+vr/9KSkqhAAAACgAAAAAAAAAAAAAAF3h4eN2/v7//z8/P/93d3f/q6ur/7+/v/+/v7//w8PD/
+7e3t/+3t7f/i4uL/zs7O/8XFxf98fHzdAAAAFwAAAAAAAAADAAAAJKSkpPjOzs7/2dnZ/+Dg4P/i4uL/
+5eXl/+bm5v/n5+f/5eXl/+Li4v/e3t7/2tra/9DQ0P+srKz4AAAAJAAAAAMAAAADAAAALrCwsPrW1tb/
+3t7e/+Tk5P/p6en/6+vr/+zs7P/p6en/6+vr/+fn5//k5OT/4ODg/9nZ2f+zs7P6AAAALgAAAAMAAAAD
+AAAALp2dnezg4OD/5eXl/+rq6v/u7u7/8PDw//Dw8P/x8fH/8PDw/+7u7v/q6ur/5ubm/+Hh4f+ZmZns
+AAAALgAAAAMAAAADAAAAJG5ubs/l5eX/6enp/+/v7//y8vL/9vb2//r6+v/5+fn/9/f3//b29v/x8fH/
+6+vr/+Tk5P9ra2vPAAAAJAAAAAMAAAAAAAAAFy4uLpPCwsL67Ozs//Pz8//5+fn//v7+//7+/v/+/v7/
+/v7+//v7+//19fX/8PDw/8LCwvosLCyTAAAAFwAAAAAAAAAAAAAACgAAAENfX1/S5OTk/vn5+f/+/v7/
+///////////////////////////8/Pz/5ubm/l9fX9IAAABDAAAACgAAAAAAAAAAAAAAAwAAABcAAABl
+YmJi3NLS0v3////////////////////////////////V1dX9ZGRk3AAAAGUAAAAXAAAAAwAAAAAAAAAA
+AAAAAAAAAAUAAAAfAAAAZTMzM8KAgIDwv7+//O3t7f/t7e3/v7+//ICAgPAzMzPCAAAAZQAAAB8AAAAF
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAFwAAAEMAAAB3AAAAnwAAALMAAACzAAAAnwAAAHcAAABD
+AAAAFwAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAoAAAAXAAAAJAAAAC4AAAAu
+AAAAJAAAABcAAAAKAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQEAAAMAAAABABIAAAEB
+AAMAAAABABIAAAECAAMAAAAEAAAFugEDAAMAAAABAAEAAAEGAAMAAAABAAIAAAERAAQAAAABAAAACAES
+AAMAAAABAAEAAAEVAAMAAAABAAQAAAEWAAMAAAABABIAAAEXAAQAAAABAAAFEAEcAAMAAAABAAEAAAFS
+AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
+													</object>
+												</object>
+											</array>
+										</array>
+										<object class="NSColor" key="NSColor" id="467056780">
+											<int key="NSColorSpace">3</int>
+											<bytes key="NSWhite">MCAwAA</bytes>
+										</object>
+									</object>
+									<reference key="NSAlternateImage" ref="307356975"/>
+									<int key="NSPeriodicDelay">400</int>
+									<int key="NSPeriodicInterval">75</int>
+								</object>
+								<object class="NSButtonCell" id="584378176">
+									<int key="NSCellFlags">67108864</int>
+									<int key="NSCellFlags2">0</int>
+									<string key="NSContents">Manually verify their fingerprint.</string>
+									<reference key="NSSupport" ref="992535413"/>
+									<reference key="NSControlView" ref="810703845"/>
+									<int key="NSTag">3</int>
+									<int key="NSButtonFlags">1211912448</int>
+									<int key="NSButtonFlags2">0</int>
+									<reference key="NSAlternateImage" ref="307356975"/>
+									<int key="NSPeriodicDelay">400</int>
+									<int key="NSPeriodicInterval">75</int>
+								</object>
+							</array>
+							<string key="NSCellSize">{440, 28}</string>
+							<string key="NSIntercellSpacing">{4, 2}</string>
+							<int key="NSMatrixFlags">1151868928</int>
+							<string key="NSCellClass">NSActionCell</string>
+							<object class="NSButtonCell" key="NSProtoCell" id="256775107">
+								<int key="NSCellFlags">67108864</int>
+								<int key="NSCellFlags2">0</int>
+								<string key="NSContents">Radio</string>
+								<reference key="NSSupport" ref="992535413"/>
+								<int key="NSButtonFlags">1211912448</int>
+								<int key="NSButtonFlags2">0</int>
+								<object class="NSImage" key="NSNormalImage">
+									<int key="NSImageFlags">549453824</int>
+									<string key="NSSize">{18, 18}</string>
+									<array class="NSMutableArray" key="NSReps">
+										<array>
+											<integer value="0"/>
+											<object class="NSBitmapImageRep">
+												<object class="NSData" key="NSTIFFRepresentation">
+													<bytes key="NS.bytes">TU0AKgAABRgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAADwRERGLJycnySsrK/A1NTXw
+IyMjyRwcHIsJCQk8AAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFRUVdVBQUOCoqKj/
+29vb//n5+f/6+vr/2tra/6qqqv9UVFTgHx8fdQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUZGRl5
+dXV198PDw//8/Pz////////////////////////////U1NT/fHx89yUlJXkAAAAFAAAAAAAAAAAAAAAA
+AAAAAxEREUZqamrmtbW1/+3t7f/+/v7//v7+//7+/v/9/f3//f39//39/f/39/f/xMTE/3d3d+YZGRlG
+AAAAAwAAAAAAAAAAAAAACkJCQqGtra3/xsbG/+vr6//y8vL/9fX1//X19f/z8/P/9fX1//Ly8v/u7u7/
+0tLS/6+vr/9KSkqhAAAACgAAAAAAAAAAAAAAF3h4eN2/v7//z8/P/93d3f/q6ur/7+/v/+/v7//w8PD/
+7e3t/+3t7f/i4uL/zs7O/8XFxf98fHzdAAAAFwAAAAAAAAADAAAAJKSkpPjOzs7/2dnZ/+Dg4P/i4uL/
+5eXl/+bm5v/n5+f/5eXl/+Li4v/e3t7/2tra/9DQ0P+srKz4AAAAJAAAAAMAAAADAAAALrCwsPrW1tb/
+3t7e/+Tk5P/p6en/6+vr/+zs7P/p6en/6+vr/+fn5//k5OT/4ODg/9nZ2f+zs7P6AAAALgAAAAMAAAAD
+AAAALp2dnezg4OD/5eXl/+rq6v/u7u7/8PDw//Dw8P/x8fH/8PDw/+7u7v/q6ur/5ubm/+Hh4f+ZmZns
+AAAALgAAAAMAAAADAAAAJG5ubs/l5eX/6enp/+/v7//y8vL/9vb2//r6+v/5+fn/9/f3//b29v/x8fH/
+6+vr/+Tk5P9ra2vPAAAAJAAAAAMAAAAAAAAAFy4uLpPCwsL67Ozs//Pz8//5+fn//v7+//7+/v/+/v7/
+/v7+//v7+//19fX/8PDw/8LCwvosLCyTAAAAFwAAAAAAAAAAAAAACgAAAENfX1/S5OTk/vn5+f/+/v7/
+///////////////////////////8/Pz/5ubm/l9fX9IAAABDAAAACgAAAAAAAAAAAAAAAwAAABcAAABl
+YmJi3NLS0v3////////////////////////////////V1dX9ZGRk3AAAAGUAAAAXAAAAAwAAAAAAAAAA
+AAAAAAAAAAUAAAAfAAAAZTMzM8KAgIDwv7+//O3t7f/t7e3/v7+//ICAgPAzMzPCAAAAZQAAAB8AAAAF
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAFwAAAEMAAAB3AAAAnwAAALMAAACzAAAAnwAAAHcAAABD
+AAAAFwAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAoAAAAXAAAAJAAAAC4AAAAu
+AAAAJAAAABcAAAAKAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQEAAAMAAAABABIAAAEB
+AAMAAAABABIAAAECAAMAAAAEAAAFugEDAAMAAAABAAEAAAEGAAMAAAABAAIAAAERAAQAAAABAAAACAES
+AAMAAAABAAEAAAEVAAMAAAABAAQAAAEWAAMAAAABABIAAAEXAAQAAAABAAAFEAEcAAMAAAABAAEAAAFS
+AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
+												</object>
+											</object>
+										</array>
+									</array>
+									<reference key="NSColor" ref="467056780"/>
+								</object>
+								<reference key="NSAlternateImage" ref="307356975"/>
+								<int key="NSPeriodicDelay">400</int>
+								<int key="NSPeriodicInterval">75</int>
+							</object>
+							<reference key="NSSelectedCell" ref="822288046"/>
+							<reference key="NSBackgroundColor" ref="159824319"/>
+							<object class="NSColor" key="NSCellBackgroundColor">
+								<int key="NSColorSpace">3</int>
+								<bytes key="NSWhite">MQA</bytes>
+							</object>
+							<reference key="NSFont" ref="992535413"/>
+							<bool key="NSAutorecalculatesCellSize">YES</bool>
+						</object>
+						<object class="NSButton" id="142825019">
+							<reference key="NSNextResponder" ref="793506965"/>
+							<int key="NSvFlags">268</int>
+							<string key="NSFrame">{{396, 13}, {70, 32}}</string>
+							<reference key="NSSuperview" ref="793506965"/>
+							<reference key="NSWindow"/>
+							<reference key="NSNextKeyView"/>
+							<string key="NSReuseIdentifierKey">_NS:9</string>
+							<bool key="NSEnabled">YES</bool>
+							<object class="NSButtonCell" key="NSCell" id="784593831">
+								<int key="NSCellFlags">67108864</int>
+								<int key="NSCellFlags2">134217728</int>
+								<string key="NSContents">Next</string>
+								<reference key="NSSupport" ref="992535413"/>
+								<string key="NSCellIdentifier">_NS:9</string>
+								<reference key="NSControlView" ref="142825019"/>
+								<int key="NSButtonFlags">-2038284288</int>
+								<int key="NSButtonFlags2">129</int>
+								<string key="NSAlternateContents"/>
+								<string type="base64-UTF8" key="NSKeyEquivalent">DQ</string>
+								<int key="NSPeriodicDelay">200</int>
+								<int key="NSPeriodicInterval">25</int>
+							</object>
+							<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
+						</object>
+						<object class="NSButton" id="716389044">
+							<reference key="NSNextResponder" ref="793506965"/>
+							<int key="NSvFlags">268</int>
+							<string key="NSFrame">{{314, 13}, {82, 32}}</string>
+							<reference key="NSSuperview" ref="793506965"/>
+							<reference key="NSWindow"/>
+							<reference key="NSNextKeyView" ref="142825019"/>
+							<string key="NSReuseIdentifierKey">_NS:9</string>
+							<bool key="NSEnabled">YES</bool>
+							<object class="NSButtonCell" key="NSCell" id="524015224">
+								<int key="NSCellFlags">67108864</int>
+								<int key="NSCellFlags2">134217728</int>
+								<string key="NSContents">Cancel</string>
+								<reference key="NSSupport" ref="992535413"/>
+								<string key="NSCellIdentifier">_NS:9</string>
+								<reference key="NSControlView" ref="716389044"/>
+								<int key="NSButtonFlags">-2038284288</int>
+								<int key="NSButtonFlags2">129</int>
+								<string key="NSAlternateContents"/>
+								<string type="base64-UTF8" key="NSKeyEquivalent">Gw</string>
+								<int key="NSPeriodicDelay">200</int>
+								<int key="NSPeriodicInterval">25</int>
+							</object>
+							<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
+						</object>
+					</array>
+					<string key="NSFrameSize">{480, 270}</string>
+					<reference key="NSSuperview"/>
+					<reference key="NSWindow"/>
+					<reference key="NSNextKeyView" ref="281619715"/>
+					<string key="NSReuseIdentifierKey">_NS:20</string>
+				</object>
+				<string key="NSScreenRect">{{0, 0}, {1920, 1058}}</string>
+				<string key="NSMaxSize">{10000000000000, 10000000000000}</string>
+				<bool key="NSWindowIsRestorable">YES</bool>
+			</object>
 		</array>
 		<object class="IBObjectContainer" key="IBDocument.Objects">
 			<array class="NSMutableArray" key="connectionRecords">
@@ -171,6 +439,46 @@
 					</object>
 					<int key="connectionID">23</int>
 				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">verificationWindow</string>
+						<reference key="source" ref="1001"/>
+						<reference key="destination" ref="121513570"/>
+					</object>
+					<int key="connectionID">37</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">label_explanation</string>
+						<reference key="source" ref="1001"/>
+						<reference key="destination" ref="281619715"/>
+					</object>
+					<int key="connectionID">39</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">matrix_verificationChoices</string>
+						<reference key="source" ref="1001"/>
+						<reference key="destination" ref="810703845"/>
+					</object>
+					<int key="connectionID">40</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">okay:</string>
+						<reference key="source" ref="1001"/>
+						<reference key="destination" ref="142825019"/>
+					</object>
+					<int key="connectionID">41</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">cancel:</string>
+						<reference key="source" ref="1001"/>
+						<reference key="destination" ref="716389044"/>
+					</object>
+					<int key="connectionID">42</int>
+				</object>
 			</array>
 			<object class="IBMutableOrderedSet" key="objectRecords">
 				<array key="orderedObjects">
@@ -241,13 +549,120 @@
 						<reference key="object" ref="667515101"/>
 						<reference key="parent" ref="453567343"/>
 					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">24</int>
+						<reference key="object" ref="121513570"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="793506965"/>
+						</array>
+						<reference key="parent" ref="0"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">25</int>
+						<reference key="object" ref="793506965"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="281619715"/>
+							<reference ref="810703845"/>
+							<reference ref="142825019"/>
+							<reference ref="716389044"/>
+						</array>
+						<reference key="parent" ref="121513570"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">26</int>
+						<reference key="object" ref="281619715"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="731970894"/>
+						</array>
+						<reference key="parent" ref="793506965"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">27</int>
+						<reference key="object" ref="731970894"/>
+						<reference key="parent" ref="281619715"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">28</int>
+						<reference key="object" ref="810703845"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="256775107"/>
+							<reference ref="822288046"/>
+							<reference ref="88203082"/>
+							<reference ref="584378176"/>
+						</array>
+						<reference key="parent" ref="793506965"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">29</int>
+						<reference key="object" ref="256775107"/>
+						<reference key="parent" ref="810703845"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">30</int>
+						<reference key="object" ref="822288046"/>
+						<reference key="parent" ref="810703845"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">31</int>
+						<reference key="object" ref="88203082"/>
+						<reference key="parent" ref="810703845"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">32</int>
+						<reference key="object" ref="584378176"/>
+						<reference key="parent" ref="810703845"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">33</int>
+						<reference key="object" ref="142825019"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="784593831"/>
+						</array>
+						<reference key="parent" ref="793506965"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">34</int>
+						<reference key="object" ref="784593831"/>
+						<reference key="parent" ref="142825019"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">35</int>
+						<reference key="object" ref="716389044"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="524015224"/>
+						</array>
+						<reference key="parent" ref="793506965"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">36</int>
+						<reference key="object" ref="524015224"/>
+						<reference key="parent" ref="716389044"/>
+					</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>
+				<boolean value="YES" key="24.IBNSWindowAutoPositionCentersHorizontal"/>
+				<boolean value="YES" key="24.IBNSWindowAutoPositionCentersVertical"/>
+				<string key="24.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="NO" key="24.NSWindowTemplate.visibleAtLaunch"/>
+				<string key="25.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.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
 				<string key="3.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="30.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="31.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="32.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="33.CustomClassName">AILocalizationButton</string>
+				<string key="33.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="34.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="35.CustomClassName">AILocalizationButton</string>
+				<string key="35.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="36.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
 				<string key="4.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
 				<string key="5.CustomClassName">AILocalizationButton</string>
 				<string key="5.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -260,7 +675,7 @@
 			<nil key="activeLocalization"/>
 			<dictionary class="NSMutableDictionary" key="localizations"/>
 			<nil key="sourceID"/>
-			<int key="maxID">23</int>
+			<int key="maxID">42</int>
 		</object>
 		<object class="IBClassDescriber" key="IBDocument.Classes">
 			<array class="NSMutableArray" key="referencedPartialClassDescriptions">
@@ -350,20 +765,31 @@
 				<object class="IBPartialClassDescription">
 					<string key="className">AIOTRTopBarUnverifiedContactController</string>
 					<string key="superclassName">AIMessageViewTopBarController</string>
-					<object class="NSMutableDictionary" key="actions">
-						<string key="NS.key.0">verify:</string>
-						<string key="NS.object.0">id</string>
-					</object>
-					<object class="NSMutableDictionary" key="actionInfosByName">
-						<string key="NS.key.0">verify:</string>
-						<object class="IBActionInfo" key="NS.object.0">
+					<dictionary class="NSMutableDictionary" key="actions">
+						<string key="cancel:">id</string>
+						<string key="okay:">id</string>
+						<string key="verify:">id</string>
+					</dictionary>
+					<dictionary class="NSMutableDictionary" key="actionInfosByName">
+						<object class="IBActionInfo" key="cancel:">
+							<string key="name">cancel:</string>
+							<string key="candidateClassName">id</string>
+						</object>
+						<object class="IBActionInfo" key="okay:">
+							<string key="name">okay:</string>
+							<string key="candidateClassName">id</string>
+						</object>
+						<object class="IBActionInfo" key="verify:">
 							<string key="name">verify:</string>
 							<string key="candidateClassName">id</string>
 						</object>
-					</object>
+					</dictionary>
 					<dictionary class="NSMutableDictionary" key="outlets">
 						<string key="button_configure">NSButton</string>
 						<string key="label_description">NSTextField</string>
+						<string key="label_explanation">NSTextField</string>
+						<string key="matrix_verificationChoices">NSMatrix</string>
+						<string key="verificationWindow">NSWindow</string>
 						<string key="view_backgroundView">AITopBarGradientView</string>
 					</dictionary>
 					<dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
@@ -375,6 +801,18 @@
 							<string key="name">label_description</string>
 							<string key="candidateClassName">NSTextField</string>
 						</object>
+						<object class="IBToOneOutletInfo" key="label_explanation">
+							<string key="name">label_explanation</string>
+							<string key="candidateClassName">NSTextField</string>
+						</object>
+						<object class="IBToOneOutletInfo" key="matrix_verificationChoices">
+							<string key="name">matrix_verificationChoices</string>
+							<string key="candidateClassName">NSMatrix</string>
+						</object>
+						<object class="IBToOneOutletInfo" key="verificationWindow">
+							<string key="name">verificationWindow</string>
+							<string key="candidateClassName">NSWindow</string>
+						</object>
 						<object class="IBToOneOutletInfo" key="view_backgroundView">
 							<string key="name">view_backgroundView</string>
 							<string key="candidateClassName">AITopBarGradientView</string>
diff -r 088707cab4f5 -r 4b20347576c8 Source/AIContentController.m
--- a/Source/AIContentController.m	Wed Jul 10 17:29:30 2013 +0200
+++ b/Source/AIContentController.m	Wed Jul 10 23:30:38 2013 +0200
@@ -21,6 +21,7 @@
 #import "AdiumFormatting.h"
 #import "AdiumMessageEvents.h"
 #import "AdiumContentFiltering.h"
+#import "AdiumOTREncryption.h"
 
 #import <Adium/AIAccountControllerProtocol.h>
 #import <Adium/AIChatControllerProtocol.h>
diff -r 088707cab4f5 -r 4b20347576c8 Source/AIOTRTopBarUnverifiedContactController.h
--- a/Source/AIOTRTopBarUnverifiedContactController.h	Wed Jul 10 17:29:30 2013 +0200
+++ b/Source/AIOTRTopBarUnverifiedContactController.h	Wed Jul 10 23:30:38 2013 +0200
@@ -21,9 +21,14 @@
 	IBOutlet AITopBarGradientView *view_backgroundView;
 	IBOutlet NSTextField    *label_description;
 	IBOutlet NSButton       *button_configure;
-	
+
+	IBOutlet NSWindow		*verificationWindow;
+	IBOutlet NSTextField	*label_explanation;
+	IBOutlet NSMatrix		*matrix_verificationChoices;
 }
 
 - (IBAction)verify:(id)sender;
+- (IBAction)okay:(id)sender;
+- (IBAction)cancel:(id)sender;
 
 @end
diff -r 088707cab4f5 -r 4b20347576c8 Source/AIOTRTopBarUnverifiedContactController.m
--- a/Source/AIOTRTopBarUnverifiedContactController.m	Wed Jul 10 17:29:30 2013 +0200
+++ b/Source/AIOTRTopBarUnverifiedContactController.m	Wed Jul 10 23:30:38 2013 +0200
@@ -19,6 +19,9 @@
 #import <Adium/AIPreferenceControllerProtocol.h>
 #import "AIStringAdditions.h"
 #import <Adium/AIContentControllerProtocol.h>
+#import <Adium/AIListObject.h>
+
+#import "AIOTRSMPSecretAnswerWindowController.h"
 
 @implementation AIOTRTopBarUnverifiedContactController
 
@@ -49,7 +52,48 @@
 
 - (IBAction)verify:(id)sender
 {
+	NSString *UID = ((AIListObject *)chat.listObject).formattedUID;
 	
+	[verificationWindow makeKeyAndOrderFront:nil];
+	
+	[label_explanation setStringValue:[NSString
+									   stringWithFormat:AILocalizedString(@"Your conversation with %@ is encrypted. However, you should make sure you really are talking to %@.\n\n"
+																		  @"You can authenticate %@ in the following ways:", nil), UID, UID, UID]];
+	
+	NSButtonCell *questionCell = [matrix_verificationChoices cellWithTag:1];
+	NSButtonCell *secretCell = [matrix_verificationChoices cellWithTag:2];
+	NSButtonCell *manualCell = [matrix_verificationChoices cellWithTag:3];
+	
+	[questionCell setTitle:[NSString stringWithFormat:AILocalizedString(@"Secret question: Ask a question only %@ can answer.", "radio button when verifying OTR"), UID]];
+	[secretCell setTitle:AILocalizedString(@"Shared secret: You have previously agreed on a secret.", "radio button when verifying OTR")];
+	[manualCell setTitle:AILocalizedString(@"Manually verify their fingerprint.", "radio button when verifying OTR")];
+	
+	[matrix_verificationChoices selectCellAtRow:0 column:0];
+}
+
+- (IBAction)okay:(id)sender
+{
+	switch ([matrix_verificationChoices selectedTag]) {
+		case 1:
+			[adium.contentController questionVerifyEncryptionIdentityInChat:chat];
+			break;
+		case 2:
+			[adium.contentController sharedVerifyEncryptionIdentityInChat:chat];
+			break;
+		case 3:
+			[adium.contentController promptToVerifyEncryptionIdentityInChat:chat];
+			break;
+		default:
+			AILogWithSignature(@"Shouldn't happen: %ld!", (long)[matrix_verificationChoices selectedTag]);
+			break;
+	}
+	
+	[verificationWindow orderOut:nil];
+}
+
+- (IBAction)cancel:(id)sender
+{
+	[verificationWindow orderOut:nil];
 }
 
 - (void)chatStatusChanged:(NSNotification *)notification
diff -r 088707cab4f5 -r 4b20347576c8 Source/AdiumOTREncryption.h
--- a/Source/AdiumOTREncryption.h	Wed Jul 10 17:29:30 2013 +0200
+++ b/Source/AdiumOTREncryption.h	Wed Jul 10 23:30:38 2013 +0200
@@ -45,6 +45,7 @@
 void otrg_ui_forget_fingerprint(Fingerprint *fingerprint);
 void otrg_plugin_write_fingerprints(void);
 void otrg_ui_update_keylist(void);
+void update_security_details_for_context(ConnContext *context);
 
 TrustLevel otrg_plugin_context_to_trust(ConnContext *context);
 
diff -r 088707cab4f5 -r 4b20347576c8 Source/AdiumOTREncryption.m
--- a/Source/AdiumOTREncryption.m	Wed Jul 10 17:29:30 2013 +0200
+++ b/Source/AdiumOTREncryption.m	Wed Jul 10 23:30:38 2013 +0200
@@ -75,7 +75,6 @@
 static AdiumOTREncryption	*adiumOTREncryption = nil;
 
 void otrg_ui_update_fingerprint(void);
-void update_security_details_for_context(ConnContext *context);
 void send_default_query_to_chat(AIChat *inChat);
 void disconnect_from_chat(AIChat *inChat);
 void disconnect_from_context(ConnContext *context);
@@ -695,6 +694,7 @@
 			[adium.contentController displayEvent:[[AIHTMLDecoder decodeHTML:localizedMessage] string]
 										   ofType:@"encryption"
 										   inChat:chat];
+			break;
 		}
 		case OTRL_MSGEVENT_CONNECTION_ENDED: {
 			NSString *localizedMessage = [NSString stringWithFormat:AILocalizedStringFromTableInBundle(@"%@ is no longer using encryption; you should cancel encryption on your side.", @"Message when the remote contact cancels his half of an encrypted conversation. %@ will be a name.", [NSBundle bundleForClass:[AdiumOTREncryption class]], nil), listContact.UID];
@@ -703,6 +703,7 @@
 			[adium.contentController displayEvent:[[AIHTMLDecoder decodeHTML:localizedMessage] string]
 										   ofType:@"encryption"
 										   inChat:chat];
+			break;
 		}
 		default:
 			break;
diff -r 088707cab4f5 -r 4b20347576c8 Source/ESOTRUnknownFingerprintController.m
--- a/Source/ESOTRUnknownFingerprintController.m	Wed Jul 10 17:29:30 2013 +0200
+++ b/Source/ESOTRUnknownFingerprintController.m	Wed Jul 10 23:30:38 2013 +0200
@@ -154,7 +154,8 @@
 		//Write the new info to disk, redraw the UI
 		otrg_plugin_write_fingerprints();
 		otrg_ui_update_keylist();
-    }	
+		update_security_details_for_context(context);
+    }
 }
 
 @end




More information about the commits mailing list