blob: ffde5c4bd9a55d1010236b5a27d2d37e30553435 [file] [log] [blame]
// Copyright 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_UI_COCOA_PROFILE_SIGNIN_CONFIRMATION_VIEW_CONTROLLER_
#define CHROME_BROWSER_UI_COCOA_PROFILE_SIGNIN_CONFIRMATION_VIEW_CONTROLLER_
#import <Cocoa/Cocoa.h>
#include <string>
#include "base/callback.h"
#include "base/mac/scoped_nsobject.h"
#include "chrome/browser/ui/cocoa/constrained_window/constrained_window_button.h"
@class HyperlinkTextView;
class Browser;
class Profile;
namespace ui {
class ProfileSigninConfirmationDelegate;
}
@interface ProfileSigninConfirmationViewController
: NSViewController<NSTextViewDelegate> {
@private
// The browser object for the sign-in tab.
Browser* browser_;
// The GAIA username being signed in.
std::string username_;
// Indicates whether the user should be given the option to
// create a new profile before completing sign-in.
bool offerProfileCreation_;
// Dialog button callbacks.
ui::ProfileSigninConfirmationDelegate* delegate_;
base::Closure closeDialogCallback_;
// UI elements.
base::scoped_nsobject<NSBox> promptBox_;
base::scoped_nsobject<NSButton> closeButton_;
base::scoped_nsobject<NSTextField> titleField_;
base::scoped_nsobject<NSTextField> promptField_;
base::scoped_nsobject<NSTextView> explanationField_;
base::scoped_nsobject<ConstrainedWindowButton> createProfileButton_;
base::scoped_nsobject<ConstrainedWindowButton> cancelButton_;
base::scoped_nsobject<ConstrainedWindowButton> okButton_;
}
- (id)initWithBrowser:(Browser*)browser
username:(const std::string&)username
delegate:(ui::ProfileSigninConfirmationDelegate*)delegate
closeDialogCallback:(const base::Closure&)closeDialogCallback
offerProfileCreation:(bool)offer;
- (IBAction)cancel:(id)sender;
- (IBAction)ok:(id)sender;
- (IBAction)close:(id)sender;
- (IBAction)createProfile:(id)sender;
@end
@interface ProfileSigninConfirmationViewController (TestingAPI)
@property(readonly, nonatomic) ui::ProfileSigninConfirmationDelegate* delegate;
@property(readonly, nonatomic) NSButton* createProfileButton;
@property(readonly, nonatomic) NSTextView* explanationField;
@end
#endif // CHROME_BROWSER_UI_COCOA_PROFILE_SIGNIN_CONFIRMATION_VIEW_CONTROLLER_