adium 5265:cf9fd616e5e2: Added a top bar with a warning when act...
commits at adium.im
commits at adium.im
Wed Jan 23 01:25:41 UTC 2013
details: http://hg.adium.im/adium/rev/cf9fd616e5e2
revision: 5265:cf9fd616e5e2
branch: libotr4.0.0
author: Thijs Alkemade <me at thijsalkema.de>
date: Wed Jan 23 02:24:33 2013 +0100
Added a top bar with a warning when activating OTR with logging on. The bar doesn't actually ever disappear, but maybe should. And picking colors is not something you should let me do.
diffs (625 lines):
diff -r e2a7e2302def -r cf9fd616e5e2 Adium.xcodeproj/project.pbxproj
--- a/Adium.xcodeproj/project.pbxproj Tue Jan 22 22:19:25 2013 +0100
+++ b/Adium.xcodeproj/project.pbxproj Wed Jan 23 02:24:33 2013 +0100
@@ -1372,6 +1372,8 @@
76AA110C1635585E00A6EC4B /* AIAccountSelectionTopBar.xib in Resources */ = {isa = PBXBuildFile; fileRef = 76AA11091635585E00A6EC4B /* AIAccountSelectionTopBar.xib */; };
76AA110D1635585E00A6EC4B /* AIAccountSelectionViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 76AA110B1635585E00A6EC4B /* AIAccountSelectionViewController.m */; };
76AA1110163558B200A6EC4B /* AIRejoinGroupChatViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 76AA110F163558B200A6EC4B /* AIRejoinGroupChatViewController.m */; };
+ 76B8B8EC16AF3A46009126FE /* AIOTRTopBarLoggingWarningController.m in Sources */ = {isa = PBXBuildFile; fileRef = 76B8B8EA16AF3A46009126FE /* AIOTRTopBarLoggingWarningController.m */; };
+ 76B8B8ED16AF3A46009126FE /* AIOTRTopBarLoggingWarningController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 76B8B8EB16AF3A46009126FE /* AIOTRTopBarLoggingWarningController.xib */; };
76C1AF9C125A906A00D269A9 /* AIAdiumURLProtocol.m in Sources */ = {isa = PBXBuildFile; fileRef = 76C1AF9B125A906A00D269A9 /* AIAdiumURLProtocol.m */; };
76FF925A14B524B40043E23B /* AIIRCConsoleController.h in Headers */ = {isa = PBXBuildFile; fileRef = 76FF925814B524B40043E23B /* AIIRCConsoleController.h */; };
76FF925B14B524B40043E23B /* AIIRCConsoleController.m in Sources */ = {isa = PBXBuildFile; fileRef = 76FF925914B524B40043E23B /* AIIRCConsoleController.m */; };
@@ -4424,6 +4426,9 @@
76AA110B1635585E00A6EC4B /* AIAccountSelectionViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AIAccountSelectionViewController.m; path = "Plugins/Dual Window Interface/AIAccountSelectionViewController.m"; sourceTree = "<group>"; };
76AA110E163558B200A6EC4B /* AIRejoinGroupChatViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AIRejoinGroupChatViewController.h; path = "Plugins/Dual Window Interface/AIRejoinGroupChatViewController.h"; sourceTree = "<group>"; };
76AA110F163558B200A6EC4B /* AIRejoinGroupChatViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AIRejoinGroupChatViewController.m; path = "Plugins/Dual Window Interface/AIRejoinGroupChatViewController.m"; sourceTree = "<group>"; };
+ 76B8B8E916AF3A46009126FE /* AIOTRTopBarLoggingWarningController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AIOTRTopBarLoggingWarningController.h; path = Source/AIOTRTopBarLoggingWarningController.h; sourceTree = "<group>"; };
+ 76B8B8EA16AF3A46009126FE /* AIOTRTopBarLoggingWarningController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AIOTRTopBarLoggingWarningController.m; path = Source/AIOTRTopBarLoggingWarningController.m; sourceTree = "<group>"; };
+ 76B8B8EB16AF3A46009126FE /* AIOTRTopBarLoggingWarningController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = AIOTRTopBarLoggingWarningController.xib; path = Source/AIOTRTopBarLoggingWarningController.xib; sourceTree = "<group>"; };
76C1AF9A125A906A00D269A9 /* AIAdiumURLProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AIAdiumURLProtocol.h; path = "Plugins/WebKit Message View/AIAdiumURLProtocol.h"; sourceTree = "<group>"; };
76C1AF9B125A906A00D269A9 /* AIAdiumURLProtocol.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AIAdiumURLProtocol.m; path = "Plugins/WebKit Message View/AIAdiumURLProtocol.m"; sourceTree = "<group>"; };
76FF925814B524B40043E23B /* AIIRCConsoleController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AIIRCConsoleController.h; path = "Plugins/Purple Service/AIIRCConsoleController.h"; sourceTree = "<group>"; };
@@ -5220,6 +5225,9 @@
765F5D72162F48FA00C57904 /* AIOTRSMPSharedSecretWindowController.h */,
765F5D73162F48FB00C57904 /* AIOTRSMPSharedSecretWindowController.m */,
765F5D70162F483F00C57904 /* AIOTRSMPSharedSecretWindowController.xib */,
+ 76B8B8E916AF3A46009126FE /* AIOTRTopBarLoggingWarningController.h */,
+ 76B8B8EA16AF3A46009126FE /* AIOTRTopBarLoggingWarningController.m */,
+ 76B8B8EB16AF3A46009126FE /* AIOTRTopBarLoggingWarningController.xib */,
);
name = OTR;
sourceTree = "<group>";
@@ -9854,6 +9862,7 @@
C613B1111640C370006683FF /* pref-profile.tiff in Resources */,
C613B143164112B3006683FF /* events-dock-name.tiff in Resources */,
C613B1451641210B006683FF /* events-contact.tiff in Resources */,
+ 76B8B8ED16AF3A46009126FE /* AIOTRTopBarLoggingWarningController.xib in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -10512,6 +10521,7 @@
761D58831636EDE100210B12 /* AINewMessageTextFieldCell.m in Sources */,
761D58861636F94300210B12 /* AINewMessageSearchField.m in Sources */,
5A44595E169143130078AB0A /* AIPreferenceCVPrototypeView.m in Sources */,
+ 76B8B8EC16AF3A46009126FE /* AIOTRTopBarLoggingWarningController.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
diff -r e2a7e2302def -r cf9fd616e5e2 Plugins/Dual Window Interface/AITopBarGradientView.h
--- a/Plugins/Dual Window Interface/AITopBarGradientView.h Tue Jan 22 22:19:25 2013 +0100
+++ b/Plugins/Dual Window Interface/AITopBarGradientView.h Wed Jan 23 02:24:33 2013 +0100
@@ -20,7 +20,11 @@
@class AIChat;
@interface AITopBarGradientView : NSView {
-
+ NSColor *startColor;
+ NSColor *endColor;
}
+ at property (retain, nonatomic) NSColor *startColor;
+ at property (retain, nonatomic) NSColor *endColor;
+
@end
diff -r e2a7e2302def -r cf9fd616e5e2 Plugins/Dual Window Interface/AITopBarGradientView.m
--- a/Plugins/Dual Window Interface/AITopBarGradientView.m Tue Jan 22 22:19:25 2013 +0100
+++ b/Plugins/Dual Window Interface/AITopBarGradientView.m Wed Jan 23 02:24:33 2013 +0100
@@ -18,10 +18,30 @@
@implementation AITopBarGradientView
+ at synthesize startColor, endColor;
+
+- (id)init
+{
+ if (self = [super init]) {
+ startColor = [NSColor colorWithCalibratedWhite:0.79f alpha:1.0f];
+ endColor = [NSColor colorWithCalibratedWhite:0.91f alpha:1.0f];
+ }
+
+ return self;
+}
+
+- (void)dealloc
+{
+ [startColor release];
+ [endColor release];
+
+ [super dealloc];
+}
+
-(void)drawRect:(NSRect)aRect
{
- NSGradient *gradient = [[NSGradient alloc] initWithStartingColor:[NSColor colorWithCalibratedWhite:0.79f alpha:1.0f]
- endingColor:[NSColor colorWithCalibratedWhite:0.91f alpha:1.0f]];
+ NSGradient *gradient = [[NSGradient alloc] initWithStartingColor:self.startColor
+ endingColor:self.endColor];
[gradient drawInRect:self.bounds angle:90.0];
[gradient release];
diff -r e2a7e2302def -r cf9fd616e5e2 Source/AIOTRTopBarLoggingWarningController.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Source/AIOTRTopBarLoggingWarningController.h Wed Jan 23 02:24:33 2013 +0100
@@ -0,0 +1,26 @@
+/*
+ * Adium is the legal property of its developers, whose names are listed in the copyright file included
+ * with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or modify it under the terms of the GNU
+ * General Public License as published by the Free Software Foundation; either version 2 of the License,
+ * or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+ * Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program; if not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#import "AIMessageViewTopBarController.h"
+#import "AITopBarGradientView.h"
+
+ at interface AIOTRTopBarLoggingWarningController : AIMessageViewTopBarController {
+ IBOutlet AITopBarGradientView *view_backgroundView;
+}
+
+- (IBAction)configureLogging:(id)sender;
+
+ at end
diff -r e2a7e2302def -r cf9fd616e5e2 Source/AIOTRTopBarLoggingWarningController.m
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Source/AIOTRTopBarLoggingWarningController.m Wed Jan 23 02:24:33 2013 +0100
@@ -0,0 +1,48 @@
+/*
+ * Adium is the legal property of its developers, whose names are listed in the copyright file included
+ * with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or modify it under the terms of the GNU
+ * General Public License as published by the Free Software Foundation; either version 2 of the License,
+ * or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+ * Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program; if not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#import "AIOTRTopBarLoggingWarningController.h"
+#import <Adium/AIPreferenceControllerProtocol.h>
+
+ at implementation AIOTRTopBarLoggingWarningController
+
+- (id)init
+{
+ self = [super initWithNibName:@"AIOTRTopBarLoggingWarningController"
+ bundle:[NSBundle bundleForClass:[AIOTRTopBarLoggingWarningController class]]];
+ if (self) {
+ [self loadView];
+
+ view_backgroundView.startColor = [NSColor colorWithCalibratedRed:1.0
+ green:.95
+ blue:.3
+ alpha:1.0];
+
+ view_backgroundView.endColor = [NSColor colorWithCalibratedRed:1.0
+ green:.95
+ blue:.5
+ alpha:1.0];
+ }
+
+ return self;
+}
+
+- (IBAction)configureLogging:(id)sender
+{
+ [adium.preferenceController openPreferencesToCategoryWithIdentifier:@"Messages"];
+}
+
+ at end
diff -r e2a7e2302def -r cf9fd616e5e2 Source/AIOTRTopBarLoggingWarningController.xib
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Source/AIOTRTopBarLoggingWarningController.xib Wed Jan 23 02:24:33 2013 +0100
@@ -0,0 +1,401 @@
+<?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">12C60</string>
+ <string key="IBDocument.InterfaceBuilderVersion">2844</string>
+ <string key="IBDocument.AppKitVersion">1187.34</string>
+ <string key="IBDocument.HIToolboxVersion">625.00</string>
+ <object class="NSMutableDictionary" key="IBDocument.PluginVersions">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="NS.object.0">2844</string>
+ </object>
+ <array key="IBDocument.IntegratedClassDependencies">
+ <string>NSButton</string>
+ <string>NSButtonCell</string>
+ <string>NSCustomObject</string>
+ <string>NSCustomView</string>
+ <string>NSTextField</string>
+ <string>NSTextFieldCell</string>
+ </array>
+ <array key="IBDocument.PluginDependencies">
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ </array>
+ <object class="NSMutableDictionary" key="IBDocument.Metadata">
+ <string key="NS.key.0">PluginDependencyRecalculationVersion</string>
+ <integer value="1" key="NS.object.0"/>
+ </object>
+ <array class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
+ <object class="NSCustomObject" id="1001">
+ <string key="NSClassName">AIOTRTopBarLoggingWarningController</string>
+ </object>
+ <object class="NSCustomObject" id="1003">
+ <string key="NSClassName">FirstResponder</string>
+ </object>
+ <object class="NSCustomObject" id="1004">
+ <string key="NSClassName">NSApplication</string>
+ </object>
+ <object class="NSCustomView" id="124609527">
+ <reference key="NSNextResponder"/>
+ <int key="NSvFlags">266</int>
+ <array class="NSMutableArray" key="NSSubviews">
+ <object class="NSCustomView" id="242495460">
+ <reference key="NSNextResponder" ref="124609527"/>
+ <int key="NSvFlags">290</int>
+ <array class="NSMutableArray" key="NSSubviews">
+ <object class="NSButton" id="217857655">
+ <reference key="NSNextResponder" ref="242495460"/>
+ <int key="NSvFlags">265</int>
+ <string key="NSFrame">{{401, 4}, {72, 19}}</string>
+ <reference key="NSSuperview" ref="242495460"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView"/>
+ <string key="NSReuseIdentifierKey">_NS:9</string>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSButtonCell" key="NSCell" id="117192799">
+ <int key="NSCellFlags">-2080374784</int>
+ <int key="NSCellFlags2">134217728</int>
+ <string key="NSContents">Configure</string>
+ <object class="NSFont" key="NSSupport">
+ <string key="NSName">LucidaGrande</string>
+ <double key="NSSize">12</double>
+ <int key="NSfFlags">16</int>
+ </object>
+ <string key="NSCellIdentifier">_NS:9</string>
+ <reference key="NSControlView" ref="217857655"/>
+ <int key="NSButtonFlags">-2038153216</int>
+ <int key="NSButtonFlags2">164</int>
+ <string key="NSAlternateContents"/>
+ <string key="NSKeyEquivalent"/>
+ <int key="NSPeriodicDelay">400</int>
+ <int key="NSPeriodicInterval">75</int>
+ </object>
+ <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
+ </object>
+ <object class="NSTextField" id="36830098">
+ <reference key="NSNextResponder" ref="242495460"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{7, 7}, {308, 17}}</string>
+ <reference key="NSSuperview" ref="242495460"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="217857655"/>
+ <string key="NSReuseIdentifierKey">_NS:1535</string>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="769655285">
+ <int key="NSCellFlags">68157504</int>
+ <int key="NSCellFlags2">71304192</int>
+ <string key="NSContents">Your conversation is encrypted, but still logged.</string>
+ <object class="NSFont" key="NSSupport">
+ <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="36830098"/>
+ <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>
+ <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
+ </object>
+ </array>
+ <string key="NSFrameSize">{480, 30}</string>
+ <reference key="NSSuperview" ref="124609527"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="36830098"/>
+ <string key="NSClassName">AITopBarGradientView</string>
+ </object>
+ </array>
+ <string key="NSFrameSize">{480, 30}</string>
+ <reference key="NSSuperview"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="242495460"/>
+ <string key="NSReuseIdentifierKey">_NS:9</string>
+ <string key="NSClassName">NSView</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">view</string>
+ <reference key="source" ref="1001"/>
+ <reference key="destination" ref="124609527"/>
+ </object>
+ <int key="connectionID">18</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">view_backgroundView</string>
+ <reference key="source" ref="1001"/>
+ <reference key="destination" ref="242495460"/>
+ </object>
+ <int key="connectionID">19</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">configureLogging:</string>
+ <reference key="source" ref="1001"/>
+ <reference key="destination" ref="217857655"/>
+ </object>
+ <int key="connectionID">20</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="1000"/>
+ <nil key="parent"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-2</int>
+ <reference key="object" ref="1001"/>
+ <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="1003"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">First Responder</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-3</int>
+ <reference key="object" ref="1004"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">Application</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">3</int>
+ <reference key="object" ref="124609527"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="242495460"/>
+ </array>
+ <reference key="parent" ref="0"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">4</int>
+ <reference key="object" ref="242495460"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="217857655"/>
+ <reference ref="36830098"/>
+ </array>
+ <reference key="parent" ref="124609527"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">5</int>
+ <reference key="object" ref="217857655"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="117192799"/>
+ </array>
+ <reference key="parent" ref="242495460"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">8</int>
+ <reference key="object" ref="117192799"/>
+ <reference key="parent" ref="217857655"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">6</int>
+ <reference key="object" ref="36830098"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="769655285"/>
+ </array>
+ <reference key="parent" ref="242495460"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">7</int>
+ <reference key="object" ref="769655285"/>
+ <reference key="parent" ref="36830098"/>
+ </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="3.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>
+ <string key="6.CustomClassName">AILocalizationTextField</string>
+ <string key="6.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="7.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="8.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">20</int>
+ </object>
+ <object class="IBClassDescriber" key="IBDocument.Classes">
+ <array class="NSMutableArray" key="referencedPartialClassDescriptions">
+ <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">AIMessageViewTopBarController</string>
+ <string key="superclassName">NSViewController</string>
+ <object class="NSMutableDictionary" key="actions">
+ <string key="NS.key.0">close:</string>
+ <string key="NS.object.0">id</string>
+ </object>
+ <object class="NSMutableDictionary" key="actionInfosByName">
+ <string key="NS.key.0">close:</string>
+ <object class="IBActionInfo" key="NS.object.0">
+ <string key="name">close:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ </object>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">./Classes/AIMessageViewTopBarController.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">AIOTRTopBarLoggingWarningController</string>
+ <string key="superclassName">AIMessageViewTopBarController</string>
+ <object class="NSMutableDictionary" key="actions">
+ <string key="NS.key.0">configureLogging:</string>
+ <string key="NS.object.0">id</string>
+ </object>
+ <object class="NSMutableDictionary" key="actionInfosByName">
+ <string key="NS.key.0">configureLogging:</string>
+ <object class="IBActionInfo" key="NS.object.0">
+ <string key="name">configureLogging:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="outlets">
+ <string key="NS.key.0">view_backgroundView</string>
+ <string key="NS.object.0">AITopBarGradientView</string>
+ </object>
+ <object class="NSMutableDictionary" key="toOneOutletInfosByName">
+ <string key="NS.key.0">view_backgroundView</string>
+ <object class="IBToOneOutletInfo" key="NS.object.0">
+ <string key="name">view_backgroundView</string>
+ <string key="candidateClassName">AITopBarGradientView</string>
+ </object>
+ </object>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">./Classes/AIOTRTopBarLoggingWarningController.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">AITopBarGradientView</string>
+ <string key="superclassName">NSView</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">./Classes/AITopBarGradientView.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="NSMutableDictionary" key="actions">
+ <string key="NS.key.0">selectServiceType:</string>
+ <string key="NS.object.0">id</string>
+ </object>
+ <object class="NSMutableDictionary" key="actionInfosByName">
+ <string key="NS.key.0">selectServiceType:</string>
+ <object class="IBActionInfo" key="NS.object.0">
+ <string key="name">selectServiceType:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ </object>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">./Classes/NSObject.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>
+ <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
+ <int key="IBDocument.defaultPropertyAccessControl">3</int>
+ </data>
+</archive>
diff -r e2a7e2302def -r cf9fd616e5e2 Source/AdiumOTREncryption.m
--- a/Source/AdiumOTREncryption.m Tue Jan 22 22:19:25 2013 +0100
+++ b/Source/AdiumOTREncryption.m Wed Jan 23 02:24:33 2013 +0100
@@ -38,6 +38,8 @@
#import "OTRCommon.h"
#import "AIOTRSMPSecretAnswerWindowController.h"
#import "AIOTRSMPSharedSecretWindowController.h"
+#import "AIOTRTopBarLoggingWarningController.h"
+#import "AIMessageViewController.h"
#import <stdlib.h>
@@ -251,7 +253,7 @@
securityDetailsDict = [NSDictionary dictionaryWithObjectsAndKeys:
[NSString stringWithUTF8String:their_hash], @"Their Fingerprint",
[NSString stringWithUTF8String:our_hash], @"Our Fingerprint",
- [NSNumber numberWithInteger:encryptionStatus], @"EncryptionStatus",
+ @(encryptionStatus), @"EncryptionStatus",
account, @"AIAccount",
[NSString stringWithUTF8String:context->username], @"who",
[NSString stringWithUTF8String:sess1], (sess1_outgoing ? @"Outgoing SessionID" : @"Incoming SessionID"),
@@ -970,6 +972,16 @@
NSMutableDictionary *fullSecurityDetailsDict;
if (securityDetailsDict) {
+
+ NSInteger newEncryptionStatus = [[securityDetailsDict objectForKey:@"EncryptionStatus"] integerValue];
+ NSInteger oldEncryptionStatus = [[[inChat securityDetails] objectForKey:@"EncryptionStatus"] integerValue];
+
+ if (newEncryptionStatus != EncryptionStatus_None && oldEncryptionStatus == EncryptionStatus_None && [inChat shouldLog]) {
+ AIOTRTopBarLoggingWarningController *warningController = [[AIOTRTopBarLoggingWarningController alloc] init];
+ AIMessageViewController *mvc = [[inChat chatContainer] messageViewController];
+ [mvc addTopBarController:warningController];
+ }
+
NSString *format, *description;
fullSecurityDetailsDict = [[securityDetailsDict mutableCopy] autorelease];
More information about the commits
mailing list