adium 4782:aa7d0e4d737c: Disable scrolling elasticity on the pre...

commits at adium.im commits at adium.im
Thu Apr 26 04:14:13 UTC 2012


details:	http://hg.adium.im/adium/rev/aa7d0e4d737c
revision:	4782:aa7d0e4d737c
branch:		(none)
author:		Frank Dowsett <wixardy at adium.im>
date:		Wed Apr 25 17:59:50 2012 -0400

Disable scrolling elasticity on the pref rows and move the text closer to the image. Fixes #15978
Subject: adium 4783:24bf857ed22d: Create a menu and attach it to the "Show All" button for display on held clicks. Fixes #15976

details:	http://hg.adium.im/adium/rev/24bf857ed22d
revision:	4783:24bf857ed22d
branch:		(none)
author:		Frank Dowsett <wixardy at adium.im>
date:		Thu Apr 26 00:12:17 2012 -0400

Create a menu and attach it to the "Show All" button for display on held clicks. Fixes #15976

diffs (443 lines):

diff -r b9ffdf44f4b4 -r 24bf857ed22d Resources/Preferences.xib
--- a/Resources/Preferences.xib	Wed Apr 25 22:07:07 2012 +0300
+++ b/Resources/Preferences.xib	Thu Apr 26 00:12:17 2012 -0400
@@ -2,7 +2,7 @@
 <archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00">
 	<data>
 		<int key="IBDocument.SystemTarget">1060</int>
-		<string key="IBDocument.SystemVersion">11D50b</string>
+		<string key="IBDocument.SystemVersion">11D50</string>
 		<string key="IBDocument.InterfaceBuilderVersion">2182</string>
 		<string key="IBDocument.AppKitVersion">1138.32</string>
 		<string key="IBDocument.HIToolboxVersion">568.00</string>
@@ -12,24 +12,24 @@
 		</object>
 		<array key="IBDocument.IntegratedClassDependencies">
 			<string>NSToolbarItem</string>
-			<string>NSButton</string>
 			<string>NSToolbarFlexibleSpaceItem</string>
 			<string>NSCustomObject</string>
-			<string>NSCollectionView</string>
+			<string>NSArrayController</string>
 			<string>NSImageView</string>
 			<string>NSImageCell</string>
-			<string>NSArrayController</string>
+			<string>NSCollectionView</string>
 			<string>NSSearchField</string>
 			<string>NSTextField</string>
 			<string>NSSearchFieldCell</string>
 			<string>NSWindowTemplate</string>
 			<string>NSTextFieldCell</string>
-			<string>NSButtonCell</string>
+			<string>NSSegmentedControl</string>
 			<string>NSBox</string>
 			<string>NSCollectionViewItem</string>
 			<string>NSView</string>
 			<string>NSToolbar</string>
 			<string>NSScrollView</string>
+			<string>NSSegmentedCell</string>
 			<string>NSScroller</string>
 		</array>
 		<array key="IBDocument.PluginDependencies">
@@ -76,9 +76,11 @@
 							<string key="NSToolbarItemPaletteLabel">Search</string>
 							<nil key="NSToolbarItemToolTip"/>
 							<object class="NSSearchField" key="NSToolbarItemView" id="484924492">
-								<nil key="NSNextResponder"/>
+								<reference key="NSNextResponder"/>
 								<int key="NSvFlags">268</int>
 								<string key="NSFrame">{{0, 14}, {96, 22}}</string>
+								<reference key="NSSuperview"/>
+								<reference key="NSNextKeyView"/>
 								<bool key="NSEnabled">YES</bool>
 								<object class="NSSearchFieldCell" key="NSCell" id="989409491">
 									<int key="NSCellFlags">343014976</int>
@@ -156,37 +158,44 @@
 							<bool key="NSToolbarIsUserRemovable">YES</bool>
 							<int key="NSToolbarItemVisibilityPriority">0</int>
 						</object>
-						<object class="NSToolbarItem" key="473484F8-D5AA-462C-AB7D-3419473ADE37" id="767315172">
+						<object class="NSToolbarItem" key="A8A1853D-12C8-47D5-9C1F-BDC2B4EEE200" id="969178047">
 							<object class="NSMutableString" key="NSToolbarItemIdentifier">
-								<characters key="NS.bytes">473484F8-D5AA-462C-AB7D-3419473ADE37</characters>
+								<characters key="NS.bytes">A8A1853D-12C8-47D5-9C1F-BDC2B4EEE200</characters>
 							</object>
 							<string key="NSToolbarItemLabel">Show All</string>
 							<string key="NSToolbarItemPaletteLabel">Show All</string>
 							<nil key="NSToolbarItemToolTip"/>
-							<object class="NSButton" key="NSToolbarItemView" id="77057843">
-								<nil key="NSNextResponder"/>
+							<object class="NSSegmentedControl" key="NSToolbarItemView" id="346899390">
+								<reference key="NSNextResponder"/>
 								<int key="NSvFlags">268</int>
-								<string key="NSFrame">{{0, 14}, {75, 25}}</string>
+								<string key="NSFrame">{{0, 14}, {81, 25}}</string>
+								<reference key="NSSuperview"/>
+								<reference key="NSNextKeyView"/>
+								<string key="NSReuseIdentifierKey">_NS:9</string>
 								<bool key="NSEnabled">YES</bool>
-								<object class="NSButtonCell" key="NSCell" id="638782452">
-									<int key="NSCellFlags">-2080244224</int>
-									<int key="NSCellFlags2">134217728</int>
-									<string key="NSContents">Show All</string>
+								<object class="NSSegmentedCell" key="NSCell" id="1030261791">
+									<int key="NSCellFlags">67239424</int>
+									<int key="NSCellFlags2">0</int>
 									<reference key="NSSupport" ref="1023223388"/>
-									<reference key="NSControlView" ref="77057843"/>
-									<int key="NSButtonFlags">-2038152961</int>
-									<int key="NSButtonFlags2">163</int>
-									<string key="NSAlternateContents"/>
-									<string key="NSKeyEquivalent"/>
-									<int key="NSPeriodicDelay">400</int>
-									<int key="NSPeriodicInterval">75</int>
+									<string key="NSCellIdentifier">_NS:9</string>
+									<reference key="NSControlView" ref="346899390"/>
+									<array class="NSMutableArray" key="NSSegmentImages">
+										<object class="NSSegmentItem">
+											<double key="NSSegmentItemWidth">75</double>
+											<string key="NSSegmentItemLabel">Show All</string>
+											<int key="NSSegmentItemImageScaling">0</int>
+										</object>
+									</array>
+									<int key="NSSelectedSegment">-1</int>
+									<int key="NSTrackingMode">2</int>
+									<int key="NSSegmentStyle">2</int>
 								</object>
 							</object>
 							<nil key="NSToolbarItemImage"/>
 							<nil key="NSToolbarItemTarget"/>
 							<nil key="NSToolbarItemAction"/>
-							<string key="NSToolbarItemMinSize">{75, 25}</string>
-							<string key="NSToolbarItemMaxSize">{75, 25}</string>
+							<string key="NSToolbarItemMinSize">{81, 25}</string>
+							<string key="NSToolbarItemMaxSize">{81, 25}</string>
 							<bool key="NSToolbarItemEnabled">YES</bool>
 							<bool key="NSToolbarItemAutovalidates">YES</bool>
 							<int key="NSToolbarItemTag">0</int>
@@ -227,13 +236,13 @@
 							</object>
 						</object>
 					</dictionary>
-					<array key="NSToolbarIBAllowedItems">
-						<reference ref="767315172"/>
+					<array class="NSMutableArray" key="NSToolbarIBAllowedItems">
+						<reference ref="969178047"/>
 						<reference ref="743163146"/>
 						<reference ref="793826222"/>
 					</array>
 					<array key="NSToolbarIBDefaultItems">
-						<reference ref="767315172"/>
+						<reference ref="969178047"/>
 						<reference ref="743163146"/>
 						<reference ref="793826222"/>
 					</array>
@@ -343,7 +352,7 @@
 											<string key="NSFrame">{{18, 0}, {567, 70}}</string>
 											<reference key="NSSuperview" ref="1002282308"/>
 											<reference key="NSNextKeyView" ref="5418178"/>
-											<int key="NSsFlags">133680</int>
+											<int key="NSsFlags">154160</int>
 											<reference key="NSVScroller" ref="788772947"/>
 											<reference key="NSHScroller" ref="908707050"/>
 											<reference key="NSContentView" ref="5418178"/>
@@ -474,7 +483,7 @@
 											<string key="NSFrame">{{18, 0}, {567, 70}}</string>
 											<reference key="NSSuperview" ref="4799332"/>
 											<reference key="NSNextKeyView" ref="528592647"/>
-											<int key="NSsFlags">133632</int>
+											<int key="NSsFlags">154112</int>
 											<reference key="NSVScroller" ref="528592647"/>
 											<reference key="NSHScroller" ref="506759106"/>
 											<reference key="NSContentView" ref="469953501"/>
@@ -601,7 +610,7 @@
 											<string key="NSFrame">{{18, 0}, {568, 70}}</string>
 											<reference key="NSSuperview" ref="918780946"/>
 											<reference key="NSNextKeyView" ref="685129026"/>
-											<int key="NSsFlags">133680</int>
+											<int key="NSsFlags">154160</int>
 											<reference key="NSVScroller" ref="685129026"/>
 											<reference key="NSHScroller" ref="137621108"/>
 											<reference key="NSContentView" ref="517880766"/>
@@ -720,7 +729,7 @@
 											<string key="NSFrame">{{18, 0}, {568, 70}}</string>
 											<reference key="NSSuperview" ref="770264877"/>
 											<reference key="NSNextKeyView" ref="1039332667"/>
-											<int key="NSsFlags">133680</int>
+											<int key="NSsFlags">154160</int>
 											<reference key="NSVScroller" ref="160227818"/>
 											<reference key="NSHScroller" ref="81315836"/>
 											<reference key="NSContentView" ref="1039332667"/>
@@ -763,7 +772,7 @@
 				<bool key="NSWindowIsRestorable">NO</bool>
 			</object>
 			<object class="NSView" id="680653249">
-				<nil key="NSNextResponder"/>
+				<reference key="NSNextResponder"/>
 				<int key="NSvFlags">256</int>
 				<array class="NSMutableArray" key="NSSubviews">
 					<object class="NSImageView" id="184967249">
@@ -779,7 +788,7 @@
 						</set>
 						<string key="NSFrame">{{28, 38}, {32, 32}}</string>
 						<reference key="NSSuperview" ref="680653249"/>
-						<reference key="NSNextKeyView" ref="824477982"/>
+						<reference key="NSNextKeyView"/>
 						<bool key="NSEnabled">YES</bool>
 						<object class="NSImageCell" key="NSCell" id="539048852">
 							<int key="NSCellFlags">130560</int>
@@ -798,8 +807,9 @@
 					<object class="NSTextField" id="824477982">
 						<reference key="NSNextResponder" ref="680653249"/>
 						<int key="NSvFlags">268</int>
-						<string key="NSFrame">{{-3, 5}, {94, 28}}</string>
+						<string key="NSFrame">{{-3, 11}, {94, 28}}</string>
 						<reference key="NSSuperview" ref="680653249"/>
+						<reference key="NSNextKeyView" ref="184967249"/>
 						<bool key="NSEnabled">YES</bool>
 						<object class="NSTextFieldCell" key="NSCell" id="834103842">
 							<int key="NSCellFlags">67239424</int>
@@ -817,7 +827,8 @@
 					</object>
 				</array>
 				<string key="NSFrameSize">{88, 70}</string>
-				<reference key="NSNextKeyView" ref="184967249"/>
+				<reference key="NSSuperview"/>
+				<reference key="NSNextKeyView" ref="824477982"/>
 			</object>
 			<object class="NSCollectionViewItem" id="768600824"/>
 			<object class="NSArrayController" id="623245347">
@@ -856,14 +867,6 @@
 		<object class="IBObjectContainer" key="IBDocument.Objects">
 			<array class="NSMutableArray" key="connectionRecords">
 				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">showAllPanes:</string>
-						<reference key="source" ref="1021"/>
-						<reference key="destination" ref="767315172"/>
-					</object>
-					<int key="connectionID">812</int>
-				</object>
-				<object class="IBConnectionRecord">
 					<object class="IBOutletConnection" key="connection">
 						<string key="label">window</string>
 						<reference key="source" ref="1021"/>
@@ -945,14 +948,6 @@
 				</object>
 				<object class="IBConnectionRecord">
 					<object class="IBOutletConnection" key="connection">
-						<string key="label">button_showAll</string>
-						<reference key="source" ref="1021"/>
-						<reference key="destination" ref="77057843"/>
-					</object>
-					<int key="connectionID">841</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBOutletConnection" key="connection">
 						<string key="label">label_events</string>
 						<reference key="source" ref="1021"/>
 						<reference key="destination" ref="536701065"/>
@@ -1000,6 +995,22 @@
 					<int key="connectionID">860</int>
 				</object>
 				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">showAllPanes:</string>
+						<reference key="source" ref="1021"/>
+						<reference key="destination" ref="969178047"/>
+					</object>
+					<int key="connectionID">882</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">button_showAll</string>
+						<reference key="source" ref="1021"/>
+						<reference key="destination" ref="346899390"/>
+					</object>
+					<int key="connectionID">883</int>
+				</object>
+				<object class="IBConnectionRecord">
 					<object class="IBOutletConnection" key="connection">
 						<string key="label">initialFirstResponder</string>
 						<reference key="source" ref="586705713"/>
@@ -1313,7 +1324,7 @@
 						<array class="NSMutableArray" key="children">
 							<reference ref="743163146"/>
 							<reference ref="793826222"/>
-							<reference ref="767315172"/>
+							<reference ref="969178047"/>
 						</array>
 						<reference key="parent" ref="586705713"/>
 					</object>
@@ -1486,27 +1497,6 @@
 						<reference key="parent" ref="118922913"/>
 					</object>
 					<object class="IBObjectRecord">
-						<int key="objectID">785</int>
-						<reference key="object" ref="767315172"/>
-						<array class="NSMutableArray" key="children">
-							<reference ref="77057843"/>
-						</array>
-						<reference key="parent" ref="118922913"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">789</int>
-						<reference key="object" ref="77057843"/>
-						<array class="NSMutableArray" key="children">
-							<reference ref="638782452"/>
-						</array>
-						<reference key="parent" ref="767315172"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">790</int>
-						<reference key="object" ref="638782452"/>
-						<reference key="parent" ref="77057843"/>
-					</object>
-					<object class="IBObjectRecord">
 						<int key="objectID">791</int>
 						<reference key="object" ref="484924492"/>
 						<array class="NSMutableArray" key="children">
@@ -1632,6 +1622,27 @@
 						<reference key="parent" ref="0"/>
 						<string key="objectName">Events Array Controller</string>
 					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">881</int>
+						<reference key="object" ref="969178047"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="346899390"/>
+						</array>
+						<reference key="parent" ref="118922913"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">879</int>
+						<reference key="object" ref="346899390"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="1030261791"/>
+						</array>
+						<reference key="parent" ref="969178047"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">880</int>
+						<reference key="object" ref="1030261791"/>
+						<reference key="parent" ref="346899390"/>
+					</object>
 				</array>
 			</object>
 			<dictionary class="NSMutableDictionary" key="flattenedProperties">
@@ -1674,9 +1685,6 @@
 				<string key="782.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
 				<string key="783.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
 				<string key="784.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
-				<string key="785.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
-				<string key="789.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
-				<string key="790.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
 				<string key="791.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
 				<string key="792.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
 				<string key="794.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -1699,12 +1707,16 @@
 				<string key="847.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
 				<string key="848.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
 				<string key="852.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="879.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<integer value="0" key="880.IBNSSegmentedControlInspectorSelectedSegmentMetadataKey"/>
+				<string key="880.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="881.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">878</int>
+			<int key="maxID">883</int>
 		</object>
 		<object class="IBClassDescriber" key="IBDocument.Classes"/>
 		<int key="IBDocument.localizationMode">0</int>
diff -r b9ffdf44f4b4 -r 24bf857ed22d Source/AIPreferenceWindowController.h
--- a/Source/AIPreferenceWindowController.h	Wed Apr 25 22:07:07 2012 +0300
+++ b/Source/AIPreferenceWindowController.h	Thu Apr 26 00:12:17 2012 -0400
@@ -58,9 +58,11 @@
 	NSTextField *label_advanced;
 	NSTextField *label_events;
 	NSTextField *label_appearance;
-	NSButton *button_showAll;
+	NSSegmentedControl *button_showAll;
 	AIHighlightingTextField *_selectedView;
 	
+	NSMenu *paneMenu;
+	
 	NSMutableArray *AI_topLevelObjects;
 }
 
@@ -87,7 +89,7 @@
 @property (assign) IBOutlet NSTextField *label_advanced;
 @property (assign) IBOutlet NSTextField *label_events;
 @property (assign) IBOutlet NSTextField *label_appearance;
- at property (assign) IBOutlet NSButton *button_showAll;
+ at property (assign) IBOutlet NSSegmentedControl *button_showAll;
 
 
 + (void)openPreferenceWindow;
diff -r b9ffdf44f4b4 -r 24bf857ed22d Source/AIPreferenceWindowController.m
--- a/Source/AIPreferenceWindowController.m	Wed Apr 25 22:07:07 2012 +0300
+++ b/Source/AIPreferenceWindowController.m	Thu Apr 26 00:12:17 2012 -0400
@@ -113,6 +113,8 @@
 	[advancedPaneArray release], advancedPaneArray = nil;
 	
 	[panes release], panes = nil;
+	[paneMenu release], paneMenu = nil;
+	[_trackingAreas release], _trackingAreas = nil;
 	
 	[AI_topLevelObjects release];
 	window = nil;
@@ -253,12 +255,27 @@
 	}
 	
 	_trackingAreas = [[NSMutableArray alloc] init];
+	paneMenu = [[NSMenu alloc] init];
 	
-	//Map each pane to its name and identifier
 	panes = [[NSMutableDictionary alloc] init];
-	for (AIPreferencePane *pane in [adium.preferenceController paneArray]) {
+	//Sort alphabetically by pane name
+	NSArray *paneArray = [[adium.preferenceController paneArray] sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {
+		return [[obj1 paneName] compare:[obj2 paneName]];
+	}];
+	for (AIPreferencePane *pane in paneArray) {
+		//Map each pane to its name and identifier
 		[panes setObject:pane forKey:[pane paneIdentifier]];
 		[panes setObject:pane forKey:[pane paneName]];
+		
+		//Setup a menu item for each pane to attach to 'Show All'
+		NSMenuItem *paneItem = [[NSMenuItem alloc] initWithTitle:[pane paneName]
+														  action:@selector(displayPaneFromMenu:)
+												   keyEquivalent:@""];
+		NSImage *paneImage = [pane paneIcon];
+		[paneImage setSize:NSMakeSize(16, 16)];
+		[paneItem setImage:paneImage];
+		[paneMenu addItem:paneItem];
+		[paneItem release];
 	}
 	
 	//Sort and separate preference panes into their categories
@@ -300,6 +317,8 @@
 		[self.window setFrame:newWindowHeight display:YES];
 	}
 	
+	[button_showAll setMenu:paneMenu forSegment:0];
+	
 	//Load the last viewed pane
 	[self displayPaneWithIdentifier:[adium.preferenceController preferenceForKey:PREFERENCES_LAST_PANE_KEY group:PREF_GROUP_GENERAL]];
 	
@@ -318,6 +337,11 @@
 	[self displayPane:pane];
 }
 
+- (void)displayPaneFromMenu:(id)sender
+{
+	[self displayPaneWithIdentifier:[sender title]];
+}
+
 - (void)displayPane:(AIPreferencePane *)pane
 {
 	if (!pane) {




More information about the commits mailing list