diff options
Diffstat (limited to 'chrome/browser/ui/cocoa/about_window_controller.h')
-rw-r--r-- | chrome/browser/ui/cocoa/about_window_controller.h | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/chrome/browser/ui/cocoa/about_window_controller.h b/chrome/browser/ui/cocoa/about_window_controller.h new file mode 100644 index 0000000..f5b9851 --- /dev/null +++ b/chrome/browser/ui/cocoa/about_window_controller.h @@ -0,0 +1,69 @@ +// Copyright (c) 2009 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_ABOUT_WINDOW_CONTROLLER_H_ +#define CHROME_BROWSER_UI_COCOA_ABOUT_WINDOW_CONTROLLER_H_ +#pragma once + +#import <AppKit/AppKit.h> + +@class BackgroundTileView; +class Profile; + +// This simple subclass of |NSTextView| just doesn't show the (text) cursor +// (|NSTextView| displays the cursor with full keyboard accessibility enabled). +@interface AboutLegalTextView : NSTextView +@end + +// A window controller that handles the About box. +@interface AboutWindowController : NSWindowController { + @private + IBOutlet NSTextField* version_; + IBOutlet BackgroundTileView* backgroundView_; + IBOutlet NSImageView* logoView_; + IBOutlet NSView* legalBlock_; + IBOutlet AboutLegalTextView* legalText_; + + // updateBlock_ holds the update image or throbber, update text, and update + // button. + IBOutlet NSView* updateBlock_; + + IBOutlet NSProgressIndicator* spinner_; + IBOutlet NSImageView* updateStatusIndicator_; + IBOutlet NSTextField* updateText_; + IBOutlet NSButton* updateNowButton_; + IBOutlet NSButton* promoteButton_; + + Profile* profile_; // Weak, probably the default profile. + + // The window frame height. During an animation, this will contain the + // height being animated to. + CGFloat windowHeight_; +} + +// Initialize the controller with the given profile, but does not show it. +// Callers still need to call showWindow: to put it on screen. +- (id)initWithProfile:(Profile*)profile; + +// Trigger an update right now, as initiated by a button. +- (IBAction)updateNow:(id)sender; + +// Install a system Keystone if necessary and promote the ticket to a system +// ticket. +- (IBAction)promoteUpdater:(id)sender; + +@end // @interface AboutWindowController + +@interface AboutWindowController(JustForTesting) + +- (NSTextView*)legalText; +- (NSButton*)updateButton; +- (NSTextField*)updateText; + +// Returns an NSAttributedString that contains locale-specific legal text. ++ (NSAttributedString*)legalTextBlock; + +@end // @interface AboutWindowController(JustForTesting) + +#endif // CHROME_BROWSER_UI_COCOA_ABOUT_WINDOW_CONTROLLER_H_ |