adium 2467:eb851ce2c871: Backed out changeset b97e9e027f75
commits at adium.im
commits at adium.im
Sun Jun 7 01:53:20 UTC 2009
details: http://hg.adium.im/adium/rev/eb851ce2c871
revision: 2467:eb851ce2c871
author: David Smith <catfish.man at gmail.com>
date: Sat Jun 06 18:50:34 2009 -0700
Backed out changeset b97e9e027f75
Back out b97e9e027f75, since it broke something and I don't feel like debugging it.
Subject: adium 2468:bf7a967fd0f4: Merge backout. Slightly messed up my hg-fu here
details: http://hg.adium.im/adium/rev/bf7a967fd0f4
revision: 2468:bf7a967fd0f4
author: David Smith <catfish.man at gmail.com>
date: Sat Jun 06 18:53:12 2009 -0700
Merge backout. Slightly messed up my hg-fu here
diffs (389 lines):
diff -r b97e9e027f75 -r bf7a967fd0f4 Adium.xcodeproj/project.pbxproj
--- a/Adium.xcodeproj/project.pbxproj Wed Jun 03 17:27:39 2009 -0700
+++ b/Adium.xcodeproj/project.pbxproj Sat Jun 06 18:53:12 2009 -0700
@@ -615,6 +615,7 @@
34A48A3F06F64665002C7C5F /* AIListThemeWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 34A48A3B06F64664002C7C5F /* AIListThemeWindowController.m */; };
34A48A4106F64665002C7C5F /* AIListLayoutWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 34A48A3D06F64665002C7C5F /* AIListLayoutWindowController.m */; };
34A48A5006F64692002C7C5F /* AITextColorPreviewView.m in Sources */ = {isa = PBXBuildFile; fileRef = 34A48A4F06F64692002C7C5F /* AITextColorPreviewView.m */; };
+ 34A48A5B06F646BD002C7C5F /* AIListThemePreviewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 34A48A5906F646BD002C7C5F /* AIListThemePreviewCell.m */; };
34A48B3A06F64B27002C7C5F /* AIBorderlessListOutlineView.m in Sources */ = {isa = PBXBuildFile; fileRef = 34A48B3806F64B27002C7C5F /* AIBorderlessListOutlineView.m */; };
34A663920BF66D96008637BB /* PurpleCommon.h in Headers */ = {isa = PBXBuildFile; fileRef = 340915F105C0A5DF00CDE3DD /* PurpleCommon.h */; settings = {ATTRIBUTES = (Public, ); }; };
34A6F68507D65D6200972830 /* GeneralPreferences.nib in Resources */ = {isa = PBXBuildFile; fileRef = 34A6F68407D65D6200972830 /* GeneralPreferences.nib */; };
@@ -3312,6 +3313,8 @@
34A48A3D06F64665002C7C5F /* AIListLayoutWindowController.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = AIListLayoutWindowController.m; path = Source/AIListLayoutWindowController.m; sourceTree = "<group>"; };
34A48A4D06F6468D002C7C5F /* AITextColorPreviewView.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = AITextColorPreviewView.h; path = Source/AITextColorPreviewView.h; sourceTree = "<group>"; };
34A48A4F06F64692002C7C5F /* AITextColorPreviewView.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = AITextColorPreviewView.m; path = Source/AITextColorPreviewView.m; sourceTree = "<group>"; };
+ 34A48A5806F646BD002C7C5F /* AIListThemePreviewCell.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = AIListThemePreviewCell.h; path = Source/AIListThemePreviewCell.h; sourceTree = "<group>"; };
+ 34A48A5906F646BD002C7C5F /* AIListThemePreviewCell.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = AIListThemePreviewCell.m; path = Source/AIListThemePreviewCell.m; sourceTree = "<group>"; };
34A48AD106F647FD002C7C5F /* AIListOutlineView.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = AIListOutlineView.m; path = "Frameworks/Adium Framework/Source/AIListOutlineView.m"; sourceTree = "<group>"; };
34A48AD206F647FD002C7C5F /* AIListOutlineView.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = AIListOutlineView.h; path = "Frameworks/Adium Framework/Source/AIListOutlineView.h"; sourceTree = "<group>"; };
34A48B3706F64B27002C7C5F /* AIBorderlessListOutlineView.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = AIBorderlessListOutlineView.h; path = Source/AIBorderlessListOutlineView.h; sourceTree = "<group>"; };
@@ -6998,6 +7001,8 @@
34A48A3B06F64664002C7C5F /* AIListThemeWindowController.m */,
34A48A4D06F6468D002C7C5F /* AITextColorPreviewView.h */,
34A48A4F06F64692002C7C5F /* AITextColorPreviewView.m */,
+ 34A48A5806F646BD002C7C5F /* AIListThemePreviewCell.h */,
+ 34A48A5906F646BD002C7C5F /* AIListThemePreviewCell.m */,
4B737B4B065D4FDC0062AB94 /* Emoticon Preferences */,
34C6A3BB077A8CB500EB423C /* AppearanceDefaults.plist */,
4BFC2E7807E357F00063D70C /* emoticonBlank.png */,
@@ -10215,6 +10220,7 @@
34A48A3F06F64665002C7C5F /* AIListThemeWindowController.m in Sources */,
34A48A4106F64665002C7C5F /* AIListLayoutWindowController.m in Sources */,
34A48A5006F64692002C7C5F /* AITextColorPreviewView.m in Sources */,
+ 34A48A5B06F646BD002C7C5F /* AIListThemePreviewCell.m in Sources */,
34A48B3A06F64B27002C7C5F /* AIBorderlessListOutlineView.m in Sources */,
3461621606FB482D009181D8 /* ESChatUserListController.m in Sources */,
3429BB06070378F700EED705 /* ESFileTransferMessagesPlugin.m in Sources */,
diff -r b97e9e027f75 -r bf7a967fd0f4 ChangeLogs/Changes Between Betas.txt
--- a/ChangeLogs/Changes Between Betas.txt Wed Jun 03 17:27:39 2009 -0700
+++ b/ChangeLogs/Changes Between Betas.txt Sat Jun 06 18:53:12 2009 -0700
@@ -1,3 +1,6 @@
Adium 1.4b7
* Added an optional confirmation when closing a window which has multiple tabs, either always or when at least one has unviewed messages. (#12006)
+ * Added another ignored phrase for IRC server connection processes.
+ * Fixed the growl notification queue from making messages seem to arrive slightly later than they did, when only a handful are to be displayed. (#12327)
+ * Fixed improperly setting the Jabber connect server when registering a new account.
* Moved Quit Confirmations to a new Confirmations advanced preference.
\ No newline at end of file
diff -r b97e9e027f75 -r bf7a967fd0f4 Copyright.txt
--- a/Copyright.txt Wed Jun 03 17:27:39 2009 -0700
+++ b/Copyright.txt Sat Jun 06 18:53:12 2009 -0700
@@ -11,6 +11,7 @@
Graham Booker
Jorge Salvador Caffarena
Wesley Campaigne
+Ariel Chinn
David Clark
Felipe Contreras
Jacobo Tarragn Cros
diff -r b97e9e027f75 -r bf7a967fd0f4 Frameworks/AIUtilities Framework/Source/AIImageTextCell.m
--- a/Frameworks/AIUtilities Framework/Source/AIImageTextCell.m Wed Jun 03 17:27:39 2009 -0700
+++ b/Frameworks/AIUtilities Framework/Source/AIImageTextCell.m Sat Jun 06 18:53:12 2009 -0700
@@ -24,6 +24,10 @@
#define DEFAULT_MAX_IMAGE_WIDTH 24
#define DEFAULT_IMAGE_TEXT_PADDING 6
+ at interface NSCell (UndocumentedHighlightDrawing)
+- (void)_drawHighlightWithFrame:(NSRect)cellFrame inView:(NSView *)controlView;
+ at end
+
@implementation AIImageTextCell
//Init
diff -r b97e9e027f75 -r bf7a967fd0f4 Frameworks/AIUtilities Framework/Source/AIVariableHeightOutlineView.m
--- a/Frameworks/AIUtilities Framework/Source/AIVariableHeightOutlineView.m Wed Jun 03 17:27:39 2009 -0700
+++ b/Frameworks/AIUtilities Framework/Source/AIVariableHeightOutlineView.m Sat Jun 06 18:53:12 2009 -0700
@@ -211,11 +211,7 @@
for (int row = 0; row < numberOfRows; row++) {
id cell = [self cellForTableColumn:tableColumn item:[self itemAtRow:row]];
- if (![self shouldResetAlternating:row]) {
- alternateColor = !alternateColor;
- } else {
- alternateColor = YES;
- }
+ alternateColor = [self shouldResetAlternating:row] ? YES : !alternateColor;
if (alternateColor &&
(![cell respondsToSelector:@selector(drawGridBehindCell)] || [cell drawGridBehindCell])) {
diff -r b97e9e027f75 -r bf7a967fd0f4 Frameworks/Adium Framework/Source/AIListCell.h
--- a/Frameworks/Adium Framework/Source/AIListCell.h Wed Jun 03 17:27:39 2009 -0700
+++ b/Frameworks/Adium Framework/Source/AIListCell.h Sat Jun 06 18:53:12 2009 -0700
@@ -77,6 +77,7 @@
//Drawing
- (void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView;
- (void)drawInteriorWithFrame:(NSRect)cellFrame inView:(NSView *)controlView;
+- (void)_drawHighlightWithFrame:(NSRect)cellFrame inView:(NSView *)controlView;
- (void)drawSelectionWithFrame:(NSRect)rect;
- (void)drawBackgroundWithFrame:(NSRect)rect;
- (void)drawContentWithFrame:(NSRect)rect;
diff -r b97e9e027f75 -r bf7a967fd0f4 Frameworks/Adium Framework/Source/AIListCell.m
--- a/Frameworks/Adium Framework/Source/AIListCell.m Wed Jun 03 17:27:39 2009 -0700
+++ b/Frameworks/Adium Framework/Source/AIListCell.m Sat Jun 06 18:53:12 2009 -0700
@@ -204,9 +204,17 @@
}
}
-- (NSColor *) highlightColorWithFrame:(NSRect)cellFrame inView:(NSView *)controlView
+#warning It's quite possible that we don't need to use this private method.
+//Custom highlighting (This is a private cell method we're overriding that handles selection drawing)
+- (void)_drawHighlightWithFrame:(NSRect)cellFrame inView:(NSView *)inControlView
{
- return nil; //we want to draw our own highlight
+ //Cell spacing
+ cellFrame.origin.y += [self topSpacing];
+ cellFrame.size.height -= [self bottomSpacing] + [self topSpacing];
+ cellFrame.origin.x += [self leftSpacing];
+ cellFrame.size.width -= [self rightSpacing] + [self leftSpacing];
+
+ [self drawSelectionWithFrame:cellFrame];
}
//Draw Selection
@@ -218,15 +226,6 @@
//Draw content of our cell
- (void)drawContentWithFrame:(NSRect)rect
{
- if ([self cellIsSelected]) {
- //Cell spacing
- NSRect cellFrame = rect;
- cellFrame.origin.y += [self topSpacing];
- cellFrame.size.height -= [self bottomSpacing] + [self topSpacing];
- cellFrame.origin.x += [self leftSpacing];
- cellFrame.size.width -= [self rightSpacing] + [self leftSpacing];
- [self drawSelectionWithFrame:cellFrame];
- }
[self drawDisplayNameWithFrame:rect];
}
diff -r b97e9e027f75 -r bf7a967fd0f4 Plugins/Purple Service/AIAnnoyingIRCMessagesHiderPlugin.m
--- a/Plugins/Purple Service/AIAnnoyingIRCMessagesHiderPlugin.m Wed Jun 03 17:27:39 2009 -0700
+++ b/Plugins/Purple Service/AIAnnoyingIRCMessagesHiderPlugin.m Sat Jun 06 18:53:12 2009 -0700
@@ -53,6 +53,7 @@
@"if you see",
@"please disregard them, as they are",
@"for more information please visit",
+ @"runs an open proxy monitor to prevent abuse",
nil];
if ([contentObject.source.UID rangeOfString:@"."].location != NSNotFound) {
diff -r b97e9e027f75 -r bf7a967fd0f4 Plugins/Purple Service/ESPurpleJabberAccountViewController.m
--- a/Plugins/Purple Service/ESPurpleJabberAccountViewController.m Wed Jun 03 17:27:39 2009 -0700
+++ b/Plugins/Purple Service/ESPurpleJabberAccountViewController.m Sat Jun 06 18:53:12 2009 -0700
@@ -322,13 +322,12 @@
- (IBAction)registerRequestAccount:(id)sender {
[[sender window] makeFirstResponder:nil]; // apply all changes
+
if([[textField_registerServerName stringValue] length] == 0) {
NSBeep();
return;
}
-// [account setUID:[NSString stringWithFormat:@"unknown@%@", [textField_registerServerName stringValue]]];
- [account setPreference:[textField_registerServerName stringValue]
- forKey:KEY_JABBER_CONNECT_SERVER group:GROUP_ACCOUNT_STATUS];
+
[account setPreference:[NSNumber numberWithInt:[textField_registerServerPort intValue]]
forKey:KEY_CONNECT_PORT group:GROUP_ACCOUNT_STATUS];
diff -r b97e9e027f75 -r bf7a967fd0f4 Source/AIListThemePreviewCell.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Source/AIListThemePreviewCell.h Sat Jun 06 18:53:12 2009 -0700
@@ -0,0 +1,24 @@
+/*
+ * 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.
+ */
+
+ at interface AIListThemePreviewCell : NSCell {
+ NSArray *colorKeyArray;
+ NSDictionary *themeDict;
+}
+
+- (void)setThemeDict:(NSDictionary *)inDict;
+
+ at end
diff -r b97e9e027f75 -r bf7a967fd0f4 Source/AIListThemePreviewCell.m
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Source/AIListThemePreviewCell.m Sat Jun 06 18:53:12 2009 -0700
@@ -0,0 +1,126 @@
+/*
+ * 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 "AIListThemePreviewCell.h"
+#import "AIListThemeWindowController.h"
+#import <AIUtilities/AIColorAdditions.h>
+#import <AIUtilities/AIGradientAdditions.h>
+#import <Adium/AIAbstractListController.h>
+
+ at implementation AIListThemePreviewCell
+
+//Copy
+- (id)copyWithZone:(NSZone *)zone
+{
+ AIListThemePreviewCell *newCell = [super copyWithZone:zone];
+
+ newCell->themeDict = nil;
+ [newCell setThemeDict:themeDict];
+
+ newCell->colorKeyArray = [colorKeyArray retain];
+
+ return newCell;
+}
+
+- (id)init
+{
+ if ((self = [super init]))
+ {
+ themeDict = nil;
+ colorKeyArray = [[NSArray arrayWithObjects:
+ KEY_LABEL_AWAY_COLOR,
+ KEY_LABEL_IDLE_COLOR,
+ KEY_LABEL_TYPING_COLOR,
+ KEY_LABEL_SIGNED_OFF_COLOR,
+ KEY_LABEL_SIGNED_ON_COLOR,
+ KEY_LABEL_UNVIEWED_COLOR,
+ KEY_LABEL_ONLINE_COLOR,
+ KEY_LABEL_IDLE_AWAY_COLOR,
+ KEY_LABEL_OFFLINE_COLOR,
+
+ KEY_AWAY_COLOR,
+ KEY_IDLE_COLOR,
+ KEY_TYPING_COLOR,
+ KEY_SIGNED_OFF_COLOR,
+ KEY_SIGNED_ON_COLOR,
+ KEY_UNVIEWED_COLOR,
+ KEY_ONLINE_COLOR,
+ KEY_IDLE_AWAY_COLOR,
+ KEY_OFFLINE_COLOR,
+
+ KEY_LIST_THEME_BACKGROUND_COLOR,
+ KEY_LIST_THEME_GRID_COLOR,
+
+ KEY_LIST_THEME_GROUP_BACKGROUND,
+ KEY_LIST_THEME_GROUP_BACKGROUND_GRADIENT,
+ nil] retain];
+ }
+
+ return self;
+}
+
+- (void)dealloc
+{
+ [themeDict release];
+ [colorKeyArray release];
+ [super dealloc];
+}
+
+- (void)setThemeDict:(NSDictionary *)inDict
+{
+ if (inDict != themeDict) {
+ [themeDict release];
+ themeDict = [inDict retain];
+ }
+}
+
+- (void)drawInteriorWithFrame:(NSRect)cellFrame inView:(NSView *)controlView
+{
+ cellFrame.origin.y += 2;
+ cellFrame.size.height -= 4;
+
+ NSString *key;
+ NSRect segmentRect = NSMakeRect(cellFrame.origin.x, cellFrame.origin.y,
+ (cellFrame.size.width / [colorKeyArray count]), cellFrame.size.height);
+
+ [[NSColor whiteColor] set];
+ [NSBezierPath fillRect:cellFrame];
+
+ for (key in colorKeyArray) {
+ [[[themeDict objectForKey:key] representedColor] set];
+ [NSBezierPath fillRect:segmentRect];
+ segmentRect.origin.x += segmentRect.size.width;
+ }
+
+ [[NSColor blackColor] set];
+ [NSBezierPath strokeRect:NSOffsetRect(cellFrame, .5, .5)];
+
+}
+
+//Draw with the selected-control colours.
+- (void)_drawHighlightWithFrame:(NSRect)cellFrame inView:(NSView *)controlView
+{
+ //Draw the gradient
+ NSGradient *gradient = [NSGradient selectedControlGradient];
+ [gradient drawInRect:cellFrame angle:90.0];
+
+ //Draw a line at the light side, to make it look a lot cleaner
+ cellFrame.size.height = 1;
+ [[NSColor alternateSelectedControlColor] set];
+ NSRectFillUsingOperation(cellFrame,NSCompositeSourceOver);
+}
+
+ at end
diff -r b97e9e027f75 -r bf7a967fd0f4 Source/NEHGrowlPlugin.h
--- a/Source/NEHGrowlPlugin.h Wed Jun 03 17:27:39 2009 -0700
+++ b/Source/NEHGrowlPlugin.h Sat Jun 06 18:53:12 2009 -0700
@@ -20,6 +20,7 @@
#define KEY_GROWL_ALERT_STICKY @"Growl Sticky"
#define KEY_GROWL_PRIORITY @"Growl Priority"
#define GROWL_QUEUE_WAIT 0.75 // Seconds to wait before clearing an event type's queue
+#define GROWL_QUEUE_POST_COUNT 5
@protocol GrowlApplicationBridgeDelegate;
diff -r b97e9e027f75 -r bf7a967fd0f4 Source/NEHGrowlPlugin.m
--- a/Source/NEHGrowlPlugin.m Wed Jun 03 17:27:39 2009 -0700
+++ b/Source/NEHGrowlPlugin.m Sat Jun 06 18:53:12 2009 -0700
@@ -240,6 +240,14 @@
[self performSelector:@selector(clearQueue:)
withObject:queueCall
afterDelay:GROWL_QUEUE_WAIT];
+
+ // If the queue has <GROWL_QUEUE_POST_COUNT entries already, post this one immediately.
+ if (events.count < GROWL_QUEUE_POST_COUNT) {
+ [self postSingleEventID:eventID
+ forListObject:listObject
+ withDetails:details
+ userInfo:userInfo];
+ }
return YES;
}
@@ -289,17 +297,23 @@
return;
}
- if (events.count <= 5) {
- // If we only have a few events, just post them individually.
+ // Remove the first GROWL_QUEUE_POST_COUNT entries, since we've already posted about them.
+ NSRange removeRange = NSMakeRange(0,
+ (events.count > GROWL_QUEUE_POST_COUNT ? GROWL_QUEUE_POST_COUNT : events.count));
+
+ [events removeObjectsInRange:removeRange];
+
+ if (events.count == 1) {
+ // Seeing "1 message" is just silly!
- for (NSDictionary *event in events) {
- [self postSingleEventID:eventID
- forListObject:[event objectForKey:@"AIListObject"]
- withDetails:[event objectForKey:@"Details"]
- userInfo:[event objectForKey:@"UserInfo"]];
- }
+ NSDictionary *event = [events objectAtIndex:0];
- } else {
+ [self postSingleEventID:eventID
+ forListObject:[event objectForKey:@"AIListObject"]
+ withDetails:[event objectForKey:@"Details"]
+ userInfo:[event objectForKey:@"UserInfo"]];
+
+ } else if(events.count) {
// We have a bunch of events; let's combine them.
AIListObject *overallListObject = nil;
More information about the commits
mailing list