adium 4249:e51bdc902644: Solve a number of lingering rounding er...

commits at adium.im commits at adium.im
Tue Oct 25 00:45:43 UTC 2011


details:	http://hg.adium.im/adium/rev/e51bdc902644
revision:	4249:e51bdc902644
branch:		(none)
author:		Stephen Holt <sholt at adium.im>
date:		Mon Oct 24 17:45:32 2011 -0700

Solve a number of lingering rounding errors from our 64-bit conversion. Patches up a number of UI off-by-one-pixel errors.
Subject: adium 4250:c7060e64e8e8: Fix alignment issues in MEssageView.xib. There is a 2px top margin that still needs fixing. Refs #15560.

details:	http://hg.adium.im/adium/rev/c7060e64e8e8
revision:	4250:c7060e64e8e8
branch:		(none)
author:		Stephen Holt <sholt at adium.im>
date:		Mon Oct 24 17:45:35 2011 -0700

Fix alignment issues in MEssageView.xib. There is a 2px top margin that still needs fixing. Refs #15560.

diffs (249 lines):

diff -r 98a935cdba2d -r c7060e64e8e8 Plugins/Dual Window Interface/AIMessageViewController.m
--- a/Plugins/Dual Window Interface/AIMessageViewController.m	Mon Oct 24 21:22:56 2011 +0200
+++ b/Plugins/Dual Window Interface/AIMessageViewController.m	Mon Oct 24 17:45:35 2011 -0700
@@ -779,7 +779,7 @@
 	//User's choice of mininum height for their text entry view
 	entryMinHeight = [[adium.preferenceController preferenceForKey:KEY_ENTRY_TEXTVIEW_MIN_HEIGHT
 															   group:PREF_GROUP_DUAL_WINDOW_INTERFACE] doubleValue];
-	if (entryMinHeight <= 0) entryMinHeight = [self _textEntryViewProperHeightIgnoringUserMininum:YES];
+	if (entryMinHeight <= 0) entryMinHeight = AIfloor([self _textEntryViewProperHeightIgnoringUserMininum:YES] + 0.5f);
 	
 	//Associate the view with our message view so it knows which view to scroll in response to page up/down
 	//and other special key-presses.
@@ -1287,7 +1287,7 @@
 			[NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(saveUserListMinimumSize) object:nil];
 			[self performSelector:@selector(saveUserListMinimumSize) withObject:nil afterDelay:0.5];
 		}
-	} else if ([aNotification object] == splitView_textEntryHorizontal) {
+	} else if ([aNotification object] == splitView_textEntryHorizontal && [splitView_textEntryHorizontal inLiveResize]) {
 		entryMinHeight = NSHeight(textView_outgoing.frame);
 	}
 }
@@ -1297,19 +1297,21 @@
  */
 - (void)splitViewDidResizeSubviews:(NSNotification *)aNotification
 {
-	NSRect userListFrame = view_userList.frame;
-	BOOL isVisible = NO;
-	if (NSWidth(userListFrame) > 0) {
-		//[view_userList setHidden:NO];
-		[self updateUserCount];
-		[userListController reloadData];
-		isVisible = YES;
+	if ([aNotification object] == splitView_verticalSplit) {
+		NSRect userListFrame = view_userList.frame;
+		BOOL isVisible = NO;
+		if (NSWidth(userListFrame) > 0) {
+			//[view_userList setHidden:NO];
+			[self updateUserCount];
+			[userListController reloadData];
+			isVisible = YES;
+		}
+		[adium.preferenceController setPreference:[NSNumber numberWithBool:isVisible]
+										   forKey:[KEY_USER_LIST_VISIBLE_PREFIX stringByAppendingFormat:@"%@.%@",
+												   chat.account.internalObjectID,
+												   chat.name]
+											group:PREF_GROUP_DUAL_WINDOW_INTERFACE];
 	}
-	[adium.preferenceController setPreference:[NSNumber numberWithBool:isVisible]
-									   forKey:[KEY_USER_LIST_VISIBLE_PREFIX stringByAppendingFormat:@"%@.%@",
-											   chat.account.internalObjectID,
-											   chat.name]
-										group:PREF_GROUP_DUAL_WINDOW_INTERFACE];
 }
 
 /* 
@@ -1324,21 +1326,23 @@
 			NSRect userFrame = view_userList.frame;
 			CGFloat dividerThickness = [splitView dividerThickness];
 			
-			if ([self userListVisible]) {
-				if (userListOnRight)
-					userFrame.size.width = currentFrame.size.width - [self _userListViewDividerPositionIgnoringUserMinimum:NO];
-				else
-					userFrame.size.width = [self _userListViewDividerPositionIgnoringUserMinimum:NO];
-			}
-			else
-				userFrame.size.width = 0.0f;
-			
-			msgFrame.size.width = currentFrame.size.width - userFrame.size.width - dividerThickness;
+			msgFrame.size.width = AIfloor(currentFrame.size.width - userFrame.size.width - dividerThickness + 0.50f);
 			msgFrame.size.height = currentFrame.size.height;
 			userFrame.size.height = currentFrame.size.height;
 			
-			if (userListOnRight)
-				userFrame.origin.x = msgFrame.size.width + dividerThickness;
+			if ([self userListVisible]) {
+				if (userListOnRight) {
+					userFrame.size.width = AIfloor(currentFrame.size.width - [self _userListViewDividerPositionIgnoringUserMinimum:NO] + 0.50f);
+					userFrame.origin.x = AIfloor(msgFrame.size.width + dividerThickness + 0.5f);
+				} else
+					userFrame.size.width = AIfloor([self _userListViewDividerPositionIgnoringUserMinimum:NO] + 0.50f);
+			}
+			else {
+				userFrame.size.width = AIfloor(0.5f);
+				if([view_userList isHidden]) {
+					msgFrame.size.width++;
+				}
+			}
 			
 			[view_userList setFrame:userFrame];
 			[[splitView_textEntryHorizontal superview] setFrame:msgFrame];
@@ -1350,9 +1354,9 @@
 			
 			textFrame.size.width = currentFrame.size.width;
 			msgFrame.size.width = currentFrame.size.width;
-			msgFrame.size.height = currentFrame.size.height - textFrame.size.height - dividerThickness;
+			msgFrame.size.height = AIfloor(currentFrame.size.height - textFrame.size.height - dividerThickness + 0.50f);
 			
-			textFrame.origin.y = msgFrame.size.height + dividerThickness - 1;
+			textFrame.origin.y = AIfloor(msgFrame.size.height + dividerThickness);
 			
 			[view_messages setFrame:msgFrame];
 			[[scrollView_textEntry superview] setFrame:textFrame];
@@ -1407,7 +1411,7 @@
 			if (userListOnRight)
 				return splitView_verticalSplit.frame.size.width;
 			else
-				return 0.0f;
+				return 0;
 		}
 	}
 	
@@ -1424,7 +1428,7 @@
 {
 	if (splitView == splitView_textEntryHorizontal) {
 		//Max size of text entry view
-		return splitView_textEntryHorizontal.frame.size.height * MESSAGE_VIEW_MIN_HEIGHT_RATIO;
+		return AIfloor(splitView_textEntryHorizontal.frame.size.height * MESSAGE_VIEW_MIN_HEIGHT_RATIO + 0.5f);
 	}  else if (splitView == splitView_verticalSplit) {
 		//On the right: max size of user list
 		//On the left: min size of the user list
@@ -1437,7 +1441,7 @@
 			if (userListOnRight)
 				return splitView_verticalSplit.frame.size.width;
 			else
-				return 0.0f;
+				return 0;
 		}
 	}
 	
diff -r 98a935cdba2d -r c7060e64e8e8 Plugins/Dual Window Interface/MessageView.xib
--- a/Plugins/Dual Window Interface/MessageView.xib	Mon Oct 24 21:22:56 2011 +0200
+++ b/Plugins/Dual Window Interface/MessageView.xib	Mon Oct 24 17:45:35 2011 -0700
@@ -158,13 +158,13 @@
 																					<object class="NSView" id="819870531">
 																						<reference key="NSNextResponder" ref="916213062"/>
 																						<int key="NSvFlags">274</int>
-																						<string key="NSFrameSize">{345, 263}</string>
+																						<string key="NSFrameSize">{346, 264}</string>
 																						<reference key="NSSuperview" ref="916213062"/>
 																						<reference key="NSWindow"/>
-																						<reference key="NSNextKeyView" ref="944644976"/>
+																						<reference key="NSNextKeyView" ref="881321079"/>
 																					</object>
 																				</object>
-																				<string key="NSFrameSize">{345, 263}</string>
+																				<string key="NSFrameSize">{346, 264}</string>
 																				<reference key="NSSuperview" ref="60130733"/>
 																				<reference key="NSWindow"/>
 																				<reference key="NSNextKeyView" ref="819870531"/>
@@ -205,17 +205,17 @@
 																				<double key="NSPercent">0.50602412223815918</double>
 																			</object>
 																		</object>
-																		<string key="NSFrame">{{0, -1}, {345, 263}}</string>
+																		<string key="NSFrameSize">{346, 264}</string>
 																		<reference key="NSSuperview" ref="1034558317"/>
 																		<reference key="NSWindow"/>
-																		<reference key="NSNextKeyView" ref="881321079"/>
+																		<reference key="NSNextKeyView" ref="916213062"/>
 																		<int key="NSsFlags">133120</int>
 																		<reference key="NSVScroller" ref="881321079"/>
 																		<reference key="NSHScroller" ref="657097854"/>
 																		<reference key="NSContentView" ref="916213062"/>
 																	</object>
 																</object>
-																<string key="NSFrameSize">{345, 261}</string>
+																<string key="NSFrameSize">{346, 261}</string>
 																<reference key="NSSuperview" ref="469967666"/>
 																<reference key="NSWindow"/>
 																<reference key="NSNextKeyView" ref="60130733"/>
@@ -242,12 +242,12 @@
 																						<string key="NSFrameSize">{344, 18}</string>
 																						<reference key="NSSuperview" ref="382054263"/>
 																						<reference key="NSWindow"/>
-																						<reference key="NSNextKeyView" ref="60271943"/>
+																						<reference key="NSNextKeyView" ref="949636887"/>
 																						<string key="NSClassName">AIMessageEntryTextView</string>
 																						<string key="NSExtension">NSTextView</string>
 																					</object>
 																				</object>
-																				<string key="NSFrame">{{1, 1}, {345, 38}}</string>
+																				<string key="NSFrame">{{1, 1}, {347, 37}}</string>
 																				<reference key="NSSuperview" ref="1006380680"/>
 																				<reference key="NSWindow"/>
 																				<reference key="NSNextKeyView" ref="662114219"/>
@@ -278,24 +278,24 @@
 																				<double key="NSPercent">0.90740740740740744</double>
 																			</object>
 																		</object>
-																		<string key="NSFrame">{{-1, -1}, {347, 40}}</string>
+																		<string key="NSFrameSize">{349, 39}</string>
 																		<reference key="NSSuperview" ref="944644976"/>
 																		<reference key="NSWindow"/>
-																		<reference key="NSNextKeyView" ref="949636887"/>
+																		<reference key="NSNextKeyView" ref="382054263"/>
 																		<int key="NSsFlags">133650</int>
 																		<reference key="NSVScroller" ref="949636887"/>
 																		<reference key="NSHScroller" ref="559917187"/>
 																		<reference key="NSContentView" ref="382054263"/>
 																	</object>
 																</object>
-																<string key="NSFrame">{{0, 262}, {345, 38}}</string>
+																<string key="NSFrame">{{0, 262}, {346, 38}}</string>
 																<reference key="NSSuperview" ref="469967666"/>
 																<reference key="NSWindow"/>
 																<reference key="NSNextKeyView" ref="1006380680"/>
 																<string key="NSClassName">NSView</string>
 															</object>
 														</object>
-														<string key="NSFrame">{{-1, 0}, {345, 300}}</string>
+														<string key="NSFrameSize">{346, 300}</string>
 														<reference key="NSSuperview" ref="988585566"/>
 														<reference key="NSWindow"/>
 														<reference key="NSNextKeyView" ref="1034558317"/>
@@ -303,7 +303,7 @@
 														<string key="NSAutosaveName">AdiumMessageView</string>
 													</object>
 												</object>
-												<string key="NSFrameSize">{343, 300}</string>
+												<string key="NSFrameSize">{344, 300}</string>
 												<reference key="NSSuperview" ref="351509238"/>
 												<reference key="NSWindow"/>
 												<reference key="NSNextKeyView" ref="469967666"/>
@@ -325,7 +325,6 @@
 																<string key="NSFrame">{{35, 3}, {84, 14}}</string>
 																<reference key="NSSuperview" ref="561723111"/>
 																<reference key="NSWindow"/>
-																<reference key="NSNextKeyView"/>
 																<bool key="NSEnabled">YES</bool>
 																<object class="NSTextFieldCell" key="NSCell" id="864763355">
 																	<int key="NSCellFlags">68288064</int>
@@ -562,14 +561,14 @@
 														<bytes key="NSScrollAmts">QSAAAEEgAABBmAAAQZgAAA</bytes>
 													</object>
 												</object>
-												<string key="NSFrame">{{344, 0}, {135, 300}}</string>
+												<string key="NSFrame">{{345, 0}, {135, 300}}</string>
 												<reference key="NSSuperview" ref="351509238"/>
 												<reference key="NSWindow"/>
 												<reference key="NSNextKeyView" ref="652921259"/>
 												<string key="NSClassName">NSView</string>
 											</object>
 										</object>
-										<string key="NSFrameSize">{479, 300}</string>
+										<string key="NSFrameSize">{480, 300}</string>
 										<reference key="NSSuperview" ref="465253647"/>
 										<reference key="NSWindow"/>
 										<reference key="NSNextKeyView" ref="988585566"/>




More information about the commits mailing list