| Index: chrome/browser/autofill/autofill_dialog_controller_mac.h
|
| diff --git a/chrome/browser/autofill/autofill_dialog_controller_mac.h b/chrome/browser/autofill/autofill_dialog_controller_mac.h
|
| index 3ea6900e8877fa086ecba8415b7742a8bcbfe8a3..ba4c4d44d8240308738cad0d94d9bec1ad451ed8 100644
|
| --- a/chrome/browser/autofill/autofill_dialog_controller_mac.h
|
| +++ b/chrome/browser/autofill/autofill_dialog_controller_mac.h
|
| @@ -17,10 +17,10 @@ namespace AutoFillDialogControllerInternal {
|
| class PersonalDataManagerObserver;
|
| } // AutoFillDialogControllerInternal
|
|
|
| -@class AutoFillAddressViewController;
|
| -@class AutoFillCreditCardViewController;
|
| +@class AutoFillAddressSheetController;
|
| +@class AutoFillCreditCardSheetController;
|
| +@class AutoFillTableView;
|
| class Profile;
|
| -@class SectionSeparatorView;
|
| @class WindowSizeAutosaver;
|
|
|
| // A window controller for managing the autofill options dialog.
|
| @@ -28,30 +28,52 @@ class Profile;
|
| // personal address and credit card information.
|
| @interface AutoFillDialogController : NSWindowController {
|
| @private
|
| - IBOutlet NSView* childView_;
|
| - IBOutlet NSView* addressSection_;
|
| - IBOutlet SectionSeparatorView* addressSectionBox_;
|
| - IBOutlet NSView* creditCardSection_;
|
| + // Outlet to the main NSTableView object listing both addresses and credit
|
| + // cards with section headers for both.
|
| + IBOutlet AutoFillTableView* tableView_;
|
|
|
| - // Note on ownership: the controllers are strongly owned by the dialog
|
| - // controller. Their views are inserted into the dialog's view hierarchy
|
| - // but are retained by these controllers as well.
|
| + // This observer is passed in by the caller of the dialog. When the dialog
|
| + // is dismissed |observer_| is called with new values for the addresses and
|
| + // credit cards.
|
| + // Weak, not retained.
|
| + AutoFillDialogObserver* observer_;
|
|
|
| - // Array of |AutoFillAddressViewController|.
|
| - scoped_nsobject<NSMutableArray> addressFormViewControllers_;
|
| + // Reference to input parameter.
|
| + // Weak, not retained.
|
| + Profile* profile_;
|
|
|
| - // Array of |AutoFillCreditCardViewController|.
|
| - scoped_nsobject<NSMutableArray> creditCardFormViewControllers_;
|
| + // Reference to input parameter.
|
| + // Weak, not retained.
|
| + AutoFillProfile* importedProfile_;
|
|
|
| - AutoFillDialogObserver* observer_; // Weak, not retained.
|
| - Profile* profile_; // Weak, not retained.
|
| - AutoFillProfile* importedProfile_; // Weak, not retained.
|
| - CreditCard* importedCreditCard_; // Weak, not retained.
|
| + // Reference to input parameter.
|
| + // Weak, not retained.
|
| + CreditCard* importedCreditCard_;
|
| +
|
| + // Working list of input profiles.
|
| std::vector<AutoFillProfile> profiles_;
|
| +
|
| + // Working list of input credit cards.
|
| std::vector<CreditCard> creditCards_;
|
| +
|
| + // State of checkbox for enabling Mac Address Book integration.
|
| BOOL auxiliaryEnabled_;
|
| +
|
| + // State for |itemIsSelected| property used in bindings for "Edit..." and
|
| + // "Remove" buttons.
|
| + BOOL itemIsSelected_;
|
| +
|
| + // Utility object to save and restore dialog position.
|
| scoped_nsobject<WindowSizeAutosaver> sizeSaver_;
|
|
|
| + // Transient reference to address "Add" / "Edit" sheet for address
|
| + // information.
|
| + scoped_nsobject<AutoFillAddressSheetController> addressSheetController;
|
| +
|
| + // Transient reference to address "Add" / "Edit" sheet for credit card
|
| + // information.
|
| + scoped_nsobject<AutoFillCreditCardSheetController> creditCardSheetController;
|
| +
|
| // Manages PersonalDataManager loading.
|
| scoped_ptr<AutoFillDialogControllerInternal::PersonalDataManagerObserver>
|
| personalDataManagerObserver_;
|
| @@ -61,7 +83,11 @@ class Profile;
|
| // bound to this in nib.
|
| @property (nonatomic) BOOL auxiliaryEnabled;
|
|
|
| -// Main interface for displaying an application modal autofill dialog on screen.
|
| +// Property representing selection state in |tableView_|. Enabled state of
|
| +// edit and delete buttons are bound to this property.
|
| +@property (nonatomic) BOOL itemIsSelected;
|
| +
|
| +// Main interface for displaying an application modal AutoFill dialog on screen.
|
| // This class method creates a new |AutoFillDialogController| and runs it as a
|
| // modal dialog. The controller autoreleases itself when the dialog is closed.
|
| // |observer| can be NULL, but if it is, then no notification is sent during
|
| @@ -86,21 +112,25 @@ class Profile;
|
| - (IBAction)addNewAddress:(id)sender;
|
| - (IBAction)addNewCreditCard:(id)sender;
|
|
|
| -// IBActions for deleting items. |sender| is expected to be either a
|
| -// |AutoFillAddressViewController| or a |AutoFillCreditCardViewController|.
|
| -- (IBAction)deleteAddress:(id)sender;
|
| -- (IBAction)deleteCreditCard:(id)sender;
|
| +// IBAction for deleting an item. |sender| is expected to be the "Remove"
|
| +// button. The deletion acts on the selected item in either the address or
|
| +// credit card list.
|
| +- (IBAction)deleteSelection:(id)sender;
|
|
|
| -// IBAction for sender to alert dialog that an address label has changed.
|
| -- (IBAction)notifyAddressChange:(id)sender;
|
| +// IBActions for editing an item. |sender| is expected to be the "Edit..."
|
| +// button. The editing acts on the selected item in either the address or
|
| +// credit card list.
|
| +- (IBAction)editSelection:(id)sender;
|
|
|
| -// Returns an array of labels representing the addresses in the
|
| -// |addressFormViewControllers_|.
|
| -- (NSArray*)addressLabels;
|
| +// NSTableView data source methods.
|
| +- (id)tableView:(NSTableView *)tableView
|
| + objectValueForTableColumn:(NSTableColumn *)tableColumn
|
| + row:(NSInteger)rowIndex;
|
|
|
| -// Returns an array of labels representing the credit cards in the
|
| -// |creditCardFormViewControllers_|.
|
| -- (NSArray*)creditCardLabels;
|
| +- (NSInteger)numberOfRowsInTableView:(NSTableView *)tableView;
|
| +
|
| +// Returns an array of labels representing the addresses in the |profiles_|.
|
| +- (NSArray*)addressLabels;
|
|
|
| @end
|
|
|
| @@ -119,9 +149,11 @@ class Profile;
|
| profile:(Profile*)profile
|
| importedProfile:(AutoFillProfile*)importedProfile
|
| importedCreditCard:(CreditCard*)importedCreditCard;
|
| -- (NSMutableArray*)addressFormViewControllers;
|
| -- (NSMutableArray*)creditCardFormViewControllers;
|
| - (void)closeDialog;
|
| +- (AutoFillAddressSheetController*)addressSheetController;
|
| +- (AutoFillCreditCardSheetController*)creditCardSheetController;
|
| +- (void)selectAddressAtIndex:(size_t)i;
|
| +- (void)selectCreditCardAtIndex:(size_t)i;
|
| @end
|
|
|
| #endif // CHROME_BROWSER_AUTOFILL_AUTOFILL_DIALOG_CONTROLLER_MAC_
|
|
|