summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorthomasvl@chromium.org <thomasvl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-16 20:36:36 +0000
committerthomasvl@chromium.org <thomasvl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-16 20:36:36 +0000
commitd77f5a92acbac46b12cbcc81e90314e701d1c95a (patch)
tree841d3ab1f7f313b723f9352b4d52f3f441aa3ee4
parent3ddbd145ccbf4cd58e70f6594cdcce1f46999367 (diff)
downloadchromium_src-d77f5a92acbac46b12cbcc81e90314e701d1c95a.zip
chromium_src-d77f5a92acbac46b12cbcc81e90314e701d1c95a.tar.gz
chromium_src-d77f5a92acbac46b12cbcc81e90314e701d1c95a.tar.bz2
[Mac] First run dialog cleanup
- coding style fixes for ivars - fixed some 10.6 toolchain warnings from the xib - provide custom getters for two properties to always return false when the matching controls are hidden. - Autosize the window to handle any possible l10n now - Make headers, buttons, and all by the stats/breakpad checkbox force the window to grow as needed. - Wrap the stats/breakpad checkbox to the resulting width (it will never fit otherwise). - Layout/shuffling things based on the views that get hidden (no other browsers to import from, not stats pref). BUG=37743 TEST=text isn't clipped in any language Review URL: http://codereview.chromium.org/995002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41758 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/app/nibs/FirstRunDialog.xib431
-rw-r--r--chrome/browser/cocoa/first_run_dialog.h22
-rw-r--r--chrome/browser/cocoa/first_run_dialog.mm146
3 files changed, 386 insertions, 213 deletions
diff --git a/chrome/app/nibs/FirstRunDialog.xib b/chrome/app/nibs/FirstRunDialog.xib
index aff9b46..313e729 100644
--- a/chrome/app/nibs/FirstRunDialog.xib
+++ b/chrome/app/nibs/FirstRunDialog.xib
@@ -37,7 +37,7 @@
<object class="NSWindowTemplate" id="1005">
<int key="NSWindowStyleMask">1</int>
<int key="NSWindowBacking">2</int>
- <string key="NSWindowRect">{{196, 215}, {480, 295}}</string>
+ <string key="NSWindowRect">{{196, 215}, {480, 284}}</string>
<int key="NSWTFlags">536871936</int>
<string key="NSWindowTitle">^IDS_FIRSTRUN_DLG_MAC_WINDOW_TITLE$IDS_PRODUCT_NAME</string>
<string key="NSWindowClass">NSWindow</string>
@@ -45,49 +45,13 @@
<string key="NSWindowContentMaxSize">{3.40282e+38, 3.40282e+38}</string>
<object class="NSView" key="NSWindowView" id="1006">
<reference key="NSNextResponder"/>
- <int key="NSvFlags">256</int>
+ <int key="NSvFlags">274</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSTextField" id="772316250">
- <reference key="NSNextResponder" ref="1006"/>
- <int key="NSvFlags">268</int>
- <string key="NSFrame">{{63, 93}, {372, 39}}</string>
- <reference key="NSSuperview" ref="1006"/>
- <bool key="NSEnabled">YES</bool>
- <object class="NSTextFieldCell" key="NSCell" id="180945224">
- <int key="NSCellFlags">67239424</int>
- <int key="NSCellFlags2">272629760</int>
- <string key="NSContents">^IDS_FIRSTRUN_DLG_MAC_OPTIONS_SEND_USAGE_STATS_LABEL$IDS_PRODUCT_NAME</string>
- <object class="NSFont" key="NSSupport">
- <string key="NSName">LucidaGrande</string>
- <double key="NSSize">1.300000e+01</double>
- <int key="NSfFlags">16</int>
- </object>
- <reference key="NSControlView" ref="772316250"/>
- <object class="NSColor" key="NSBackgroundColor" id="756607450">
- <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">MC42NjY2NjY2OQA</bytes>
- </object>
- </object>
- <object class="NSColor" key="NSTextColor" id="791758296">
- <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>
- </object>
<object class="NSButton" id="328877840">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">268</int>
- <string key="NSFrame">{{45, 139}, {389, 18}}</string>
+ <string key="NSFrame">{{45, 128}, {389, 18}}</string>
<reference key="NSSuperview" ref="1006"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="1019469145">
@@ -101,7 +65,7 @@
</object>
<reference key="NSControlView" ref="328877840"/>
<int key="NSButtonFlags">1211912703</int>
- <int key="NSButtonFlags2">130</int>
+ <int key="NSButtonFlags2">2</int>
<object class="NSCustomResource" key="NSNormalImage" id="229715940">
<string key="NSClassName">NSImage</string>
<string key="NSResourceName">NSSwitch</string>
@@ -117,7 +81,7 @@
</object>
<object class="NSBox" id="728826967">
<reference key="NSNextResponder" ref="1006"/>
- <int key="NSvFlags">12</int>
+ <int key="NSvFlags">10</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSView" id="892364686">
@@ -137,13 +101,29 @@
<string key="NSContents">^IDS_FIRSTRUN_DLG_MAC_COMPLETE_INSTALLATION_LABEL$IDS_PRODUCT_NAME</string>
<reference key="NSSupport" ref="605141190"/>
<reference key="NSControlView" ref="80642245"/>
- <reference key="NSBackgroundColor" ref="756607450"/>
- <reference key="NSTextColor" ref="791758296"/>
+ <object class="NSColor" key="NSBackgroundColor" id="756607450">
+ <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">MC42NjY2NjY2OQA</bytes>
+ </object>
+ </object>
+ <object class="NSColor" key="NSTextColor" id="791758296">
+ <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>
</object>
<object class="NSImageView" id="630302226">
<reference key="NSNextResponder" ref="892364686"/>
- <int key="NSvFlags">256</int>
+ <int key="NSvFlags">265</int>
<object class="NSMutableSet" key="NSDragTypes">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSMutableArray" key="set.sortedObjects">
@@ -178,7 +158,7 @@
<reference key="NSSuperview" ref="728826967"/>
</object>
</object>
- <string key="NSFrame">{{0, 244}, {480, 55}}</string>
+ <string key="NSFrame">{{0, 233}, {480, 55}}</string>
<reference key="NSSuperview" ref="1006"/>
<string key="NSOffsets">{0, 0}</string>
<object class="NSTextFieldCell" key="NSTitleCell">
@@ -213,8 +193,8 @@
</object>
<object class="NSBox" id="990160012">
<reference key="NSNextResponder" ref="1006"/>
- <int key="NSvFlags">12</int>
- <string key="NSFrame">{{0, 241}, {480, 5}}</string>
+ <int key="NSvFlags">10</int>
+ <string key="NSFrame">{{0, 230}, {480, 5}}</string>
<reference key="NSSuperview" ref="1006"/>
<string key="NSOffsets">{0, 0}</string>
<object class="NSTextFieldCell" key="NSTitleCell">
@@ -236,7 +216,7 @@
<object class="NSTextField" id="208570836">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">268</int>
- <string key="NSFrame">{{28, 199}, {407, 17}}</string>
+ <string key="NSFrame">{{28, 188}, {435, 17}}</string>
<reference key="NSSuperview" ref="1006"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="186162046">
@@ -251,8 +231,8 @@
</object>
<object class="NSBox" id="5085353">
<reference key="NSNextResponder" ref="1006"/>
- <int key="NSvFlags">12</int>
- <string key="NSFrame">{{0, 58}, {480, 5}}</string>
+ <int key="NSvFlags">10</int>
+ <string key="NSFrame">{{-1, 57}, {480, 5}}</string>
<reference key="NSSuperview" ref="1006"/>
<string key="NSOffsets">{0, 0}</string>
<object class="NSTextFieldCell" key="NSTitleCell">
@@ -273,18 +253,18 @@
</object>
<object class="NSButton" id="533962116">
<reference key="NSNextResponder" ref="1006"/>
- <int key="NSvFlags">268</int>
- <string key="NSFrame">{{45, 109}, {389, 27}}</string>
+ <int key="NSvFlags">266</int>
+ <string key="NSFrame">{{45, 103}, {389, 19}}</string>
<reference key="NSSuperview" ref="1006"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="645476742">
<int key="NSCellFlags">-2080244224</int>
- <int key="NSCellFlags2">134217728</int>
- <string key="NSContents"/>
+ <int key="NSCellFlags2">0</int>
+ <string key="NSContents">^IDS_FIRSTRUN_DLG_MAC_OPTIONS_SEND_USAGE_STATS_LABEL$IDS_PRODUCT_NAME</string>
<reference key="NSSupport" ref="605141190"/>
<reference key="NSControlView" ref="533962116"/>
<int key="NSButtonFlags">1211912703</int>
- <int key="NSButtonFlags2">130</int>
+ <int key="NSButtonFlags2">2</int>
<reference key="NSNormalImage" ref="229715940"/>
<reference key="NSAlternateImage" ref="410915626"/>
<string key="NSAlternateContents"/>
@@ -301,7 +281,7 @@
<object class="NSButton" id="287263597">
<reference key="NSNextResponder" ref="913870182"/>
<int key="NSvFlags">289</int>
- <string key="NSFrame">{{14, 12}, {96, 32}}</string>
+ <string key="NSFrame">{{14, 12}, {126, 32}}</string>
<reference key="NSSuperview" ref="913870182"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="1066198765">
@@ -321,7 +301,7 @@
<object class="NSButton" id="458129764">
<reference key="NSNextResponder" ref="913870182"/>
<int key="NSvFlags">289</int>
- <string key="NSFrame">{{110, 12}, {172, 32}}</string>
+ <string key="NSFrame">{{140, 12}, {306, 32}}</string>
<reference key="NSSuperview" ref="913870182"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="685620085">
@@ -339,13 +319,13 @@
</object>
</object>
</object>
- <string key="NSFrame">{{184, 0}, {296, 52}}</string>
+ <string key="NSFrame">{{20, 0}, {460, 52}}</string>
<reference key="NSSuperview" ref="1006"/>
<string key="NSClassName">GTMWidthBasedTweaker</string>
</object>
<object class="NSCustomView" id="581221161">
<reference key="NSNextResponder" ref="1006"/>
- <int key="NSvFlags">292</int>
+ <int key="NSvFlags">268</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSButton" id="690083374">
@@ -361,7 +341,7 @@
<reference key="NSSupport" ref="605141190"/>
<reference key="NSControlView" ref="690083374"/>
<int key="NSButtonFlags">1211912703</int>
- <int key="NSButtonFlags2">130</int>
+ <int key="NSButtonFlags2">2</int>
<reference key="NSNormalImage" ref="229715940"/>
<reference key="NSAlternateImage" ref="410915626"/>
<string key="NSAlternateContents"/>
@@ -431,41 +411,31 @@
</object>
</object>
</object>
- <string key="NSFrame">{{27, 158}, {425, 33}}</string>
+ <string key="NSFrame">{{27, 147}, {425, 33}}</string>
<reference key="NSSuperview" ref="1006"/>
<string key="NSClassName">GTMWidthBasedTweaker</string>
</object>
- <object class="NSCustomView" id="197246289">
+ <object class="NSButton" id="575991284">
<reference key="NSNextResponder" ref="1006"/>
- <int key="NSvFlags">292</int>
- <object class="NSMutableArray" key="NSSubviews">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSButton" id="575991284">
- <reference key="NSNextResponder" ref="197246289"/>
- <int key="NSvFlags">268</int>
- <string key="NSFrame">{{20, 5}, {126, 19}}</string>
- <reference key="NSSuperview" ref="197246289"/>
- <bool key="NSEnabled">YES</bool>
- <object class="NSButtonCell" key="NSCell" id="955346791">
- <int key="NSCellFlags">-2080244224</int>
- <int key="NSCellFlags2">134217728</int>
- <string key="NSContents">^IDS_LEARN_MORE</string>
- <reference key="NSControlView" ref="575991284"/>
- <int key="NSButtonFlags">-2046541569</int>
- <int key="NSButtonFlags2">164</int>
- <string key="NSAlternateContents"/>
- <string key="NSKeyEquivalent"/>
- <int key="NSPeriodicDelay">400</int>
- <int key="NSPeriodicInterval">75</int>
- </object>
- </object>
- </object>
- <string key="NSFrame">{{44, 69}, {166, 29}}</string>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{63, 80}, {359, 19}}</string>
<reference key="NSSuperview" ref="1006"/>
- <string key="NSClassName">GTMWidthBasedTweaker</string>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSButtonCell" key="NSCell" id="955346791">
+ <int key="NSCellFlags">-2080244224</int>
+ <int key="NSCellFlags2">134217728</int>
+ <string key="NSContents">^IDS_LEARN_MORE</string>
+ <reference key="NSControlView" ref="575991284"/>
+ <int key="NSButtonFlags">-2046541569</int>
+ <int key="NSButtonFlags2">164</int>
+ <string key="NSAlternateContents"/>
+ <string key="NSKeyEquivalent"/>
+ <int key="NSPeriodicDelay">400</int>
+ <int key="NSPeriodicInterval">75</int>
+ </object>
</object>
</object>
- <string key="NSFrameSize">{480, 295}</string>
+ <string key="NSFrameSize">{480, 284}</string>
<reference key="NSSuperview"/>
</object>
<string key="NSScreenRect">{{0, 0}, {1680, 1028}}</string>
@@ -474,8 +444,11 @@
<object class="NSCustomObject" id="689012122">
<string key="NSClassName">ChromeUILocalizer</string>
</object>
- <object class="NSCustomObject" id="287929755">
- <string key="NSClassName">GTMUILocalizerAndLayoutTweaker</string>
+ <object class="NSCustomObject" id="5783924">
+ <string key="NSClassName">GTMIBArray</string>
+ </object>
+ <object class="NSCustomObject" id="275813014">
+ <string key="NSClassName">GTMIBArray</string>
</object>
</object>
<object class="IBObjectContainer" key="IBDocument.Objects">
@@ -596,22 +569,6 @@
</object>
<object class="IBConnectionRecord">
<object class="IBBindingConnection" key="connection">
- <string key="label">hidden: usage_stats_checkbox_hidden_</string>
- <reference key="source" ref="533962116"/>
- <reference key="destination" ref="1001"/>
- <object class="NSNibBindingConnector" key="connector">
- <reference key="NSSource" ref="533962116"/>
- <reference key="NSDestination" ref="1001"/>
- <string key="NSLabel">hidden: usage_stats_checkbox_hidden_</string>
- <string key="NSBinding">hidden</string>
- <string key="NSKeyPath">usage_stats_checkbox_hidden_</string>
- <int key="NSNibBindingConnectorVersion">2</int>
- </object>
- </object>
- <int key="connectionID">82</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBBindingConnection" key="connection">
<string key="label">enabled: importBookmarks</string>
<reference key="source" ref="21765562"/>
<reference key="destination" ref="1001"/>
@@ -628,84 +585,164 @@
</object>
<object class="IBConnectionRecord">
<object class="IBBindingConnection" key="connection">
- <string key="label">hidden: usage_stats_checkbox_hidden_</string>
- <reference key="source" ref="772316250"/>
+ <string key="label">hidden: browserImportListHidden</string>
+ <reference key="source" ref="690083374"/>
<reference key="destination" ref="1001"/>
<object class="NSNibBindingConnector" key="connector">
- <reference key="NSSource" ref="772316250"/>
+ <reference key="NSSource" ref="690083374"/>
<reference key="NSDestination" ref="1001"/>
- <string key="NSLabel">hidden: usage_stats_checkbox_hidden_</string>
+ <string key="NSLabel">hidden: browserImportListHidden</string>
<string key="NSBinding">hidden</string>
- <string key="NSKeyPath">usage_stats_checkbox_hidden_</string>
+ <string key="NSKeyPath">browserImportListHidden</string>
<int key="NSNibBindingConnectorVersion">2</int>
</object>
</object>
- <int key="connectionID">88</int>
+ <int key="connectionID">94</int>
</object>
<object class="IBConnectionRecord">
<object class="IBBindingConnection" key="connection">
- <string key="label">hidden: usage_stats_checkbox_hidden_</string>
- <reference key="source" ref="575991284"/>
+ <string key="label">hidden: browserImportListHidden</string>
+ <reference key="source" ref="21765562"/>
<reference key="destination" ref="1001"/>
<object class="NSNibBindingConnector" key="connector">
- <reference key="NSSource" ref="575991284"/>
+ <reference key="NSSource" ref="21765562"/>
<reference key="NSDestination" ref="1001"/>
- <string key="NSLabel">hidden: usage_stats_checkbox_hidden_</string>
+ <string key="NSLabel">hidden: browserImportListHidden</string>
<string key="NSBinding">hidden</string>
- <string key="NSKeyPath">usage_stats_checkbox_hidden_</string>
+ <string key="NSKeyPath">browserImportListHidden</string>
+ <reference key="NSPreviousConnector" ref="760401606"/>
<int key="NSNibBindingConnectorVersion">2</int>
</object>
</object>
- <int key="connectionID">89</int>
+ <int key="connectionID">96</int>
</object>
<object class="IBConnectionRecord">
<object class="IBBindingConnection" key="connection">
- <string key="label">hidden: browserImportListHidden</string>
- <reference key="source" ref="690083374"/>
+ <string key="label">hidden: statsCheckboxHidden</string>
+ <reference key="source" ref="533962116"/>
<reference key="destination" ref="1001"/>
<object class="NSNibBindingConnector" key="connector">
- <reference key="NSSource" ref="690083374"/>
+ <reference key="NSSource" ref="533962116"/>
<reference key="NSDestination" ref="1001"/>
- <string key="NSLabel">hidden: browserImportListHidden</string>
+ <string key="NSLabel">hidden: statsCheckboxHidden</string>
<string key="NSBinding">hidden</string>
- <string key="NSKeyPath">browserImportListHidden</string>
+ <string key="NSKeyPath">statsCheckboxHidden</string>
<int key="NSNibBindingConnectorVersion">2</int>
</object>
</object>
- <int key="connectionID">94</int>
+ <int key="connectionID">103</int>
</object>
<object class="IBConnectionRecord">
<object class="IBBindingConnection" key="connection">
- <string key="label">hidden: browserImportListHidden</string>
- <reference key="source" ref="21765562"/>
+ <string key="label">hidden: statsCheckboxHidden</string>
+ <reference key="source" ref="575991284"/>
<reference key="destination" ref="1001"/>
<object class="NSNibBindingConnector" key="connector">
- <reference key="NSSource" ref="21765562"/>
+ <reference key="NSSource" ref="575991284"/>
<reference key="NSDestination" ref="1001"/>
- <string key="NSLabel">hidden: browserImportListHidden</string>
+ <string key="NSLabel">hidden: statsCheckboxHidden</string>
<string key="NSBinding">hidden</string>
- <string key="NSKeyPath">browserImportListHidden</string>
- <reference key="NSPreviousConnector" ref="760401606"/>
+ <string key="NSKeyPath">statsCheckboxHidden</string>
<int key="NSNibBindingConnectorVersion">2</int>
</object>
</object>
- <int key="connectionID">96</int>
+ <int key="connectionID">105</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
- <string key="label">uiObject_</string>
- <reference key="source" ref="287929755"/>
- <reference key="destination" ref="1005"/>
+ <string key="label">object1_</string>
+ <reference key="source" ref="5783924"/>
+ <reference key="destination" ref="913870182"/>
</object>
- <int key="connectionID">99</int>
+ <int key="connectionID">107</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
- <string key="label">localizer_</string>
- <reference key="source" ref="287929755"/>
- <reference key="destination" ref="689012122"/>
+ <string key="label">object2_</string>
+ <reference key="source" ref="5783924"/>
+ <reference key="destination" ref="575991284"/>
</object>
- <int key="connectionID">100</int>
+ <int key="connectionID">108</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">objectsToSize_</string>
+ <reference key="source" ref="1001"/>
+ <reference key="destination" ref="5783924"/>
+ </object>
+ <int key="connectionID">117</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">owner_</string>
+ <reference key="source" ref="689012122"/>
+ <reference key="destination" ref="1001"/>
+ </object>
+ <int key="connectionID">118</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">object3_</string>
+ <reference key="source" ref="5783924"/>
+ <reference key="destination" ref="328877840"/>
+ </object>
+ <int key="connectionID">119</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">object4_</string>
+ <reference key="source" ref="5783924"/>
+ <reference key="destination" ref="581221161"/>
+ </object>
+ <int key="connectionID">120</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">object5_</string>
+ <reference key="source" ref="5783924"/>
+ <reference key="destination" ref="275813014"/>
+ </object>
+ <int key="connectionID">121</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">object1_</string>
+ <reference key="source" ref="275813014"/>
+ <reference key="destination" ref="208570836"/>
+ </object>
+ <int key="connectionID">122</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">object2_</string>
+ <reference key="source" ref="275813014"/>
+ <reference key="destination" ref="80642245"/>
+ </object>
+ <int key="connectionID">123</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">statsCheckbox_</string>
+ <reference key="source" ref="1001"/>
+ <reference key="destination" ref="533962116"/>
+ </object>
+ <int key="connectionID">124</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">hidden: browserImportListHidden</string>
+ <reference key="source" ref="581221161"/>
+ <reference key="destination" ref="1001"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="581221161"/>
+ <reference key="NSDestination" ref="1001"/>
+ <string key="NSLabel">hidden: browserImportListHidden</string>
+ <string key="NSBinding">hidden</string>
+ <string key="NSKeyPath">browserImportListHidden</string>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">128</int>
</object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
@@ -753,14 +790,13 @@
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="728826967"/>
<reference ref="990160012"/>
- <reference ref="5085353"/>
<reference ref="328877840"/>
<reference ref="208570836"/>
- <reference ref="772316250"/>
- <reference ref="533962116"/>
<reference ref="913870182"/>
+ <reference ref="533962116"/>
<reference ref="581221161"/>
- <reference ref="197246289"/>
+ <reference ref="5085353"/>
+ <reference ref="575991284"/>
</object>
<reference key="parent" ref="1005"/>
</object>
@@ -855,20 +891,6 @@
<reference key="parent" ref="533962116"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">32</int>
- <reference key="object" ref="772316250"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="180945224"/>
- </object>
- <reference key="parent" ref="1006"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">33</int>
- <reference key="object" ref="180945224"/>
- <reference key="parent" ref="772316250"/>
- </object>
- <object class="IBObjectRecord">
<int key="objectID">91</int>
<reference key="object" ref="689012122"/>
<reference key="parent" ref="1002"/>
@@ -912,11 +934,6 @@
<reference key="parent" ref="458129764"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">98</int>
- <reference key="object" ref="287929755"/>
- <reference key="parent" ref="1002"/>
- </object>
- <object class="IBObjectRecord">
<int key="objectID">101</int>
<reference key="object" ref="581221161"/>
<object class="NSMutableArray" key="children">
@@ -979,13 +996,10 @@
<reference key="parent" ref="799908898"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">102</int>
- <reference key="object" ref="197246289"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="575991284"/>
- </object>
- <reference key="parent" ref="1006"/>
+ <int key="objectID">106</int>
+ <reference key="object" ref="5783924"/>
+ <reference key="parent" ref="1002"/>
+ <string key="objectName">Objects to Size</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">36</int>
@@ -994,13 +1008,19 @@
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="955346791"/>
</object>
- <reference key="parent" ref="197246289"/>
+ <reference key="parent" ref="1006"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">37</int>
<reference key="object" ref="955346791"/>
<reference key="parent" ref="575991284"/>
</object>
+ <object class="IBObjectRecord">
+ <int key="objectID">112</int>
+ <reference key="object" ref="275813014"/>
+ <reference key="parent" ref="1002"/>
+ <string key="objectName">Objects to Size Cont</string>
+ </object>
</object>
</object>
<object class="NSMutableDictionary" key="flattenedProperties">
@@ -1016,7 +1036,9 @@
<string>1.NSWindowTemplate.visibleAtLaunch</string>
<string>1.WindowOrigin</string>
<string>1.editorWindowContentRectSynchronizationRect</string>
+ <string>106.IBPluginDependency</string>
<string>11.IBPluginDependency</string>
+ <string>112.IBPluginDependency</string>
<string>12.IBPluginDependency</string>
<string>13.IBPluginDependency</string>
<string>14.IBPluginDependency</string>
@@ -1039,23 +1061,20 @@
<string>3.IBPluginDependency</string>
<string>30.IBPluginDependency</string>
<string>31.IBPluginDependency</string>
- <string>32.IBPluginDependency</string>
- <string>33.IBPluginDependency</string>
<string>36.IBPluginDependency</string>
<string>37.CustomClassName</string>
<string>37.IBPluginDependency</string>
<string>4.IBPluginDependency</string>
<string>91.IBPluginDependency</string>
- <string>98.IBPluginDependency</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>{{638, 518}, {480, 295}}</string>
+ <string>{{467, 546}, {480, 284}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>{{638, 518}, {480, 295}}</string>
+ <string>{{467, 546}, {480, 284}}</string>
<boolean value="NO"/>
<string>{196, 240}</string>
<string>{{357, 418}, {480, 270}}</string>
@@ -1065,9 +1084,9 @@
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>{{849, 662}, {146, 43}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>{{849, 662}, {146, 43}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -1089,7 +1108,6 @@
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
</object>
</object>
<object class="NSMutableDictionary" key="unlocalizedProperties">
@@ -1112,7 +1130,7 @@
</object>
</object>
<nil key="sourceID"/>
- <int key="maxID">102</int>
+ <int key="maxID">128</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
@@ -1143,55 +1161,72 @@
<string>id</string>
</object>
</object>
+ <object class="NSMutableDictionary" key="outlets">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSMutableArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>objectsToSize_</string>
+ <string>statsCheckbox_</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>NSArray</string>
+ <string>NSButton</string>
+ </object>
+ </object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">browser/cocoa/first_run_dialog.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
- <string key="className">GTMUILocalizer</string>
- <string key="superclassName">NSObject</string>
+ <string key="className">GTMIBArray</string>
+ <string key="superclassName">NSArray</string>
<object class="NSMutableDictionary" key="outlets">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSMutableArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
- <string>otherObjectToLocalize_</string>
- <string>owner_</string>
- <string>yetAnotherObjectToLocalize_</string>
+ <string>object1_</string>
+ <string>object2_</string>
+ <string>object3_</string>
+ <string>object4_</string>
+ <string>object5_</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>id</string>
<string>id</string>
<string>id</string>
+ <string>id</string>
+ <string>id</string>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
- <string key="minorKey">../third_party/GTM/AppKit/GTMUILocalizer.h</string>
+ <string key="minorKey">../third_party/GTM/AppKit/GTMIBArray.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
- <string key="className">GTMUILocalizerAndLayoutTweaker</string>
+ <string key="className">GTMUILocalizer</string>
<string key="superclassName">NSObject</string>
<object class="NSMutableDictionary" key="outlets">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSMutableArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
- <string>localizerOwner_</string>
- <string>localizer_</string>
- <string>uiObject_</string>
+ <string>otherObjectToLocalize_</string>
+ <string>owner_</string>
+ <string>yetAnotherObjectToLocalize_</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>id</string>
- <string>GTMUILocalizer</string>
+ <string>id</string>
<string>id</string>
</object>
</object>
- <object class="IBClassDescriptionSource" key="sourceIdentifier" id="1031264906">
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
- <string key="minorKey">../third_party/GTM/AppKit/GTMUILocalizerAndLayoutTweaker.h</string>
+ <string key="minorKey">../third_party/GTM/AppKit/GTMUILocalizer.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
@@ -1212,7 +1247,10 @@
<string>NSView</string>
</object>
</object>
- <reference key="sourceIdentifier" ref="1031264906"/>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">../third_party/GTM/AppKit/GTMUILocalizerAndLayoutTweaker.h</string>
+ </object>
</object>
<object class="IBPartialClassDescription">
<string key="className">HyperlinkButtonCell</string>
@@ -1247,7 +1285,14 @@
<string key="className">NSWindow</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
- <string key="minorKey">browser/cocoa/nswindow_local_state.h</string>
+ <string key="minorKey">browser/cocoa/chrome_browser_window.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSWindow</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">browser/cocoa/themed_window.h</string>
</object>
</object>
</object>
diff --git a/chrome/browser/cocoa/first_run_dialog.h b/chrome/browser/cocoa/first_run_dialog.h
index 08a184b..90b56d9 100644
--- a/chrome/browser/cocoa/first_run_dialog.h
+++ b/chrome/browser/cocoa/first_run_dialog.h
@@ -11,14 +11,19 @@
// The dialog asks the user's explicit permission for reporting stats to help
// us improve Chromium.
@interface FirstRunDialogController : NSWindowController {
- BOOL user_did_cancel_;
- BOOL stats_enabled_;
- BOOL make_default_browser_;
- BOOL import_bookmarks_;
- BOOL usage_stats_checkbox_hidden_;
- int browser_import_selected_index_;
- NSArray* browser_import_list_;
- BOOL browser_import_list_hidden_;
+ @private
+ BOOL userDidCancel_;
+ BOOL statsEnabled_;
+ BOOL statsCheckboxHidden_;
+ BOOL makeDefaultBrowser_;
+ BOOL importBookmarks_;
+ int browserImportSelectedIndex_;
+ NSArray* browserImportList_;
+ BOOL browserImportListHidden_;
+
+ IBOutlet NSArray* objectsToSize_;
+ IBOutlet NSButton* statsCheckbox_;
+ BOOL beenSized_;
}
// Called when the "Start Google Chrome" button is pressed.
@@ -33,6 +38,7 @@
// Properties for bindings.
@property(assign) BOOL userDidCancel;
@property(assign) BOOL statsEnabled;
+@property(assign) BOOL statsCheckboxHidden;
@property(assign) BOOL makeDefaultBrowser;
@property(assign) BOOL importBookmarks;
@property(assign) int browserImportSelectedIndex;
diff --git a/chrome/browser/cocoa/first_run_dialog.mm b/chrome/browser/cocoa/first_run_dialog.mm
index 1a4a87b..e63262e 100644
--- a/chrome/browser/cocoa/first_run_dialog.mm
+++ b/chrome/browser/cocoa/first_run_dialog.mm
@@ -9,16 +9,35 @@
#include "base/mac_util.h"
#import "base/scoped_nsobject.h"
#include "grit/locale_settings.h"
+#import "third_party/GTM/AppKit/GTMUILocalizerAndLayoutTweaker.h"
+
+namespace {
+
+// Compare function for -[NSArray sortedArrayUsingFunction:context:] that
+// sorts the views in Y order bottom up.
+NSInteger CompareFrameY(id view1, id view2, void* context) {
+ CGFloat y1 = NSMinY([view1 frame]);
+ CGFloat y2 = NSMinY([view2 frame]);
+ if (y1 < y2)
+ return NSOrderedAscending;
+ else if (y1 > y2)
+ return NSOrderedDescending;
+ else
+ return NSOrderedSame;
+}
+
+};
@implementation FirstRunDialogController
-@synthesize userDidCancel = user_did_cancel_;
-@synthesize statsEnabled = stats_enabled_;
-@synthesize makeDefaultBrowser = make_default_browser_;
-@synthesize importBookmarks = import_bookmarks_;
-@synthesize browserImportSelectedIndex = browser_import_selected_index_;
-@synthesize browserImportList = browser_import_list_;
-@synthesize browserImportListHidden = browser_import_list_hidden_;
+@synthesize userDidCancel = userDidCancel_;
+@synthesize statsEnabled = statsEnabled_;
+@synthesize statsCheckboxHidden = statsCheckboxHidden_;
+@synthesize makeDefaultBrowser = makeDefaultBrowser_;
+@synthesize importBookmarks = importBookmarks_;
+@synthesize browserImportSelectedIndex = browserImportSelectedIndex_;
+@synthesize browserImportList = browserImportList_;
+@synthesize browserImportListHidden = browserImportListHidden_;
- (id)init {
NSString* nibpath =
@@ -27,24 +46,110 @@
self = [super initWithWindowNibPath:nibpath owner:self];
if (self != nil) {
// Bound to the dialog checkbox, default to true.
- stats_enabled_ = YES;
- import_bookmarks_ = YES;
+ statsEnabled_ = YES;
+ importBookmarks_ = YES;
#if !defined(GOOGLE_CHROME_BUILD)
// In Chromium builds all stats reporting is disabled so there's no reason
// to display the checkbox - the setting is always OFF.
- usage_stats_checkbox_hidden_ = YES;
+ statsCheckboxHidden_ = YES;
#endif // !GOOGLE_CHROME_BUILD
}
return self;
}
- (void)dealloc {
- [browser_import_list_ release];
+ [browserImportList_ release];
[super dealloc];
}
- (IBAction)showWindow:(id)sender {
+ NSWindow* win = [self window];
+
+ // Only support the sizing the window once.
+ DCHECK(!beenSized_) << "ShowWindow was called twice?";
+ if (!beenSized_) {
+ beenSized_ = YES;
+ DCHECK_GT([objectsToSize_ count], 0U);
+
+ // Size everything to fit, collecting the widest growth needed (XIB provides
+ // the min size, i.e.-never shrink, just grow).
+ CGFloat largestWidthChange = 0.0;
+ for (NSView* view in objectsToSize_) {
+ DCHECK_NE(statsCheckbox_, view) << "Stats checkbox shouldn't be in list";
+ if (![view isHidden]) {
+ NSSize delta = [GTMUILocalizerAndLayoutTweaker sizeToFitView:view];
+ DCHECK_EQ(delta.height, 0.0)
+ << "Didn't expect anything to change heights";
+ if (largestWidthChange < delta.width)
+ largestWidthChange = delta.width;
+ }
+ }
+
+ // Make the window wide enough to fit everything.
+ if (largestWidthChange > 0.0) {
+ NSView* contentView = [win contentView];
+ NSRect windowFrame = [contentView convertRect:[win frame] fromView:nil];
+ windowFrame.size.width += largestWidthChange;
+ windowFrame = [contentView convertRect:windowFrame toView:nil];
+ [win setFrame:windowFrame display:NO];
+ }
+
+ // The stats checkbox (if visible) gets some really long text, so it gets
+ // word wrapped and then sized.
+ DCHECK(statsCheckbox_);
+ CGFloat statsCheckboxHeightChange = 0.0;
+ if (![self statsCheckboxHidden]) {
+ [GTMUILocalizerAndLayoutTweaker wrapButtonTitleForWidth:statsCheckbox_];
+ statsCheckboxHeightChange =
+ [GTMUILocalizerAndLayoutTweaker sizeToFitView:statsCheckbox_].height;
+ }
+
+ // Walk bottom up shuffling for all the hidden views.
+ NSArray* subViews =
+ [[[win contentView] subviews] sortedArrayUsingFunction:CompareFrameY
+ context:NULL];
+ CGFloat moveDown = 0.0;
+ NSUInteger numSubViews = [subViews count];
+ for (NSUInteger idx = 0 ; idx < numSubViews ; ++idx) {
+ NSView* view = [subViews objectAtIndex:idx];
+
+ // If the view is hidden, collect the amount to move everything above it
+ // down, if it's not hidden, apply any shift down.
+ if ([view isHidden]) {
+ DCHECK_GT((numSubViews - 1), idx)
+ << "Don't support top view being hidden";
+ NSView* nextView = [subViews objectAtIndex:(idx + 1)];
+ CGFloat viewBottom = [view frame].origin.y;
+ CGFloat nextViewBottom = [nextView frame].origin.y;
+ moveDown += nextViewBottom - viewBottom;
+ } else {
+ if (moveDown != 0.0) {
+ NSPoint origin = [view frame].origin;
+ origin.y -= moveDown;
+ [view setFrameOrigin:origin];
+ }
+ }
+ // Special case, if this is the stats checkbox, everything above it needs
+ // to get moved up by the amount it changed height.
+ if (view == statsCheckbox_) {
+ moveDown -= statsCheckboxHeightChange;
+ }
+ }
+
+ // Resize the window for any height change from hidden views, etc.
+ if (moveDown != 0.0) {
+ NSView* contentView = [win contentView];
+ [contentView setAutoresizesSubviews:NO];
+ NSRect windowFrame = [contentView convertRect:[win frame] fromView:nil];
+ windowFrame.size.height -= moveDown;
+ windowFrame = [contentView convertRect:windowFrame toView:nil];
+ [win setFrame:windowFrame display:NO];
+ [contentView setAutoresizesSubviews:YES];
+ }
+
+ }
+
// Neat weirdness in the below code - the Application menu stays enabled
// while the window is open but selecting items from it (e.g. Quit) has
// no effect. I'm guessing that this is an artifact of us being a
@@ -52,7 +157,6 @@
// window.
// Display dialog.
- NSWindow* win = [self window];
[win center];
[NSApp runModalForWindow:win];
}
@@ -77,4 +181,22 @@
[[NSWorkspace sharedWorkspace] openURL:learnMoreUrl];
}
+// Custom property getters
+
+- (BOOL)importBookmarks {
+ // If the UI for browser import is hidden, report the choice as off.
+ if ([self browserImportListHidden]) {
+ return NO;
+ }
+ return importBookmarks_;
+}
+
+- (BOOL)statsEnabled {
+ // If the UI for stats is hidden, report the choice as off.
+ if ([self statsCheckboxHidden]) {
+ return NO;
+ }
+ return statsEnabled_;
+}
+
@end