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