diff options
author | thomasvl@chromium.org <thomasvl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-16 20:36:36 +0000 |
---|---|---|
committer | thomasvl@chromium.org <thomasvl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-16 20:36:36 +0000 |
commit | d77f5a92acbac46b12cbcc81e90314e701d1c95a (patch) | |
tree | 841d3ab1f7f313b723f9352b4d52f3f441aa3ee4 | |
parent | 3ddbd145ccbf4cd58e70f6594cdcce1f46999367 (diff) | |
download | chromium_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.xib | 431 | ||||
-rw-r--r-- | chrome/browser/cocoa/first_run_dialog.h | 22 | ||||
-rw-r--r-- | chrome/browser/cocoa/first_run_dialog.mm | 146 |
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 |