Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(8227)

Unified Diff: chrome/browser/ui/cocoa/one_click_signin_view_controller.mm

Issue 137563002: OneClickSigninBubbleView: Only show title if no error present. [Mac+Views] (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Mac side changes. Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/cocoa/one_click_signin_view_controller.mm
diff --git a/chrome/browser/ui/cocoa/one_click_signin_view_controller.mm b/chrome/browser/ui/cocoa/one_click_signin_view_controller.mm
index 5e4d9677656be4c8629a1f96ae0a26f03caf024c..3882b05378ee55b75d3e66d69ded6b53c57aaeb9 100644
--- a/chrome/browser/ui/cocoa/one_click_signin_view_controller.mm
+++ b/chrome/browser/ui/cocoa/one_click_signin_view_controller.mm
@@ -21,6 +21,8 @@
namespace {
+const CGFloat kTopErrorMsgMargin = 12;
groby-ooo-7-16 2014/01/27 21:28:18 Please don't abbreviate. Also, what is this consta
+
// Shift the origin of |view|'s frame by the given amount in the
// positive y direction (up).
void ShiftOriginY(NSView* view, CGFloat amount) {
@@ -152,6 +154,14 @@ void ShiftOriginY(NSView* view, CGFloat amount) {
}
if (informativePlaceholderTextField_) {
+ if (!isSyncDialog_ && ([errorMessage_ length] != 0)) {
+ // Move up the "Learn more" origin in error case to account for the
+ // smaller bubble..
+ NSRect oldFrame = [informativePlaceholderTextField_ frame];
+ oldFrame.origin.y += [titleTextField_ frame].size.height;
groby-ooo-7-16 2014/01/27 21:28:18 Use rectangle helpers instead: oldFrame = NSOffse
Oren Blasberg 2014/01/29 23:52:19 Done.
+ [informativePlaceholderTextField_ setFrame:oldFrame];
+ }
+
ShiftOriginY(informativePlaceholderTextField_, totalYOffset);
totalYOffset += [self initializeInformativeTextView];
}
@@ -166,16 +176,34 @@ void ShiftOriginY(NSView* view, CGFloat amount) {
[GTMUILocalizerAndLayoutTweaker
sizeToFitFixedWidthTextField:titleTextField_];
- if (closeButton_)
- ShiftOriginY(closeButton_, totalYOffset);
-
NSSize delta = NSMakeSize(0.0, totalYOffset);
if (isSyncDialog_) {
[messageTextField_ setStringValue:l10n_util::GetNSStringWithFixup(
IDS_ONE_CLICK_SIGNIN_DIALOG_TITLE_NEW)];
} else if ([errorMessage_ length] != 0) {
+ [titleTextField_ setStringValue:@""];
groby-ooo-7-16 2014/01/27 21:28:18 Can you set field values before doing the layout,
Oren Blasberg 2014/01/29 23:52:19 Could you elaborate on what you mean by "doing the
groby-ooo-7-16 2014/01/30 23:12:41 "Doing the layout" ==> Arranging where fields show
[messageTextField_ setStringValue:errorMessage_];
+
+ // Make the bubble less tall, as the title text will be hidden.
+ NSSize size = [[self view] frame].size;
+ size.height = size.height - [titleTextField_ frame].size.height;
+ [[self view] setFrameSize:size];
groby-ooo-7-16 2014/01/27 21:28:18 If you do this as part of the layout flow, the cha
Oren Blasberg 2014/01/29 23:52:19 Same here: what do you mean by layout flow? Are y
groby-ooo-7-16 2014/01/30 23:12:41 Yep - arranging individual controls so they look n
+
+ // Shift the message text up to where the title text used to be.
groby-ooo-7-16 2014/01/27 21:28:18 Why shift the messageTextField at all? Won't the r
Oren Blasberg 2014/01/29 23:52:19 That is not happening for some reason. :/ Perhaps
groby-ooo-7-16 2014/01/30 23:12:41 Weird. If the field is outside the view's bounds,
+ NSPoint origin = [titleTextField_ frame].origin;
+ [messageTextField_ setFrameOrigin:origin];
+ ShiftOriginY(messageTextField_, -kTopErrorMsgMargin);
+
+ // Use "OK" instead of "OK, got it" in the error case, and size the button
+ // accordingly.
+ [closeButton_ setTitle:l10n_util::GetNSStringWithFixup(
+ IDS_OK)];
+ NSRect cbFrame = [closeButton_ frame];
groby-ooo-7-16 2014/01/27 21:28:18 Please don't use abbreviations. closeButtonFrame w
Oren Blasberg 2014/01/29 23:52:19 Removed.
+ [closeButton_ sizeToFit];
+ NSRect fittedCbFrame = [closeButton_ frame];
+ fittedCbFrame.origin.x += cbFrame.size.width - fittedCbFrame.size.width;
+ [closeButton_ setFrame:fittedCbFrame];
groby-ooo-7-16 2014/01/27 21:28:18 Actually, since the view is already in a GTMWidthB
Oren Blasberg 2014/01/29 23:52:19 Done.
}
// Resize bubble and window to hold the controls.
« no previous file with comments | « chrome/app/nibs/OneClickSigninBubble.xib ('k') | chrome/browser/ui/views/sync/one_click_signin_bubble_view.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698