diff options
Diffstat (limited to 'chrome/browser/views/about_chrome_view.h')
-rw-r--r-- | chrome/browser/views/about_chrome_view.h | 168 |
1 files changed, 4 insertions, 164 deletions
diff --git a/chrome/browser/views/about_chrome_view.h b/chrome/browser/views/about_chrome_view.h index 828c4e6..cb2a7dd6 100644 --- a/chrome/browser/views/about_chrome_view.h +++ b/chrome/browser/views/about_chrome_view.h @@ -1,4 +1,4 @@ -// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. +// Copyright (c) 2010 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. @@ -6,168 +6,8 @@ #define CHROME_BROWSER_VIEWS_ABOUT_CHROME_VIEW_H_ #pragma once -#include "views/controls/image_view.h" -#include "views/controls/label.h" -#include "views/controls/link.h" -#include "views/view.h" -#include "views/window/dialog_delegate.h" - -#if defined(OS_WIN) || defined(OS_CHROMEOS) -#include "chrome/browser/google/google_update.h" -#endif -#if defined(OS_CHROMEOS) -#include "chrome/browser/chromeos/version_loader.h" -#endif - -namespace views { -class Textfield; -class Throbber; -class Window; -} - -class AccessibleViewHelper; -class Profile; - -//////////////////////////////////////////////////////////////////////////////// -// -// The AboutChromeView class is responsible for drawing the UI controls of the -// About Chrome dialog that allows the user to see what version is installed -// and check for updates. -// -//////////////////////////////////////////////////////////////////////////////// -class AboutChromeView : public views::View, - public views::DialogDelegate, - public views::LinkController -#if defined(OS_WIN) || defined(OS_CHROMEOS) - , public GoogleUpdateStatusListener -#endif - { - public: - explicit AboutChromeView(Profile* profile); - virtual ~AboutChromeView(); - - // Initialize the controls on the dialog. - void Init(); - - // Overridden from views::View: - virtual gfx::Size GetPreferredSize(); - virtual void Layout(); - virtual void Paint(gfx::Canvas* canvas); - virtual void ViewHierarchyChanged(bool is_add, - views::View* parent, - views::View* child); - - // Overridden from views::DialogDelegate: - virtual std::wstring GetDialogButtonLabel( - MessageBoxFlags::DialogButton button) const; - virtual bool IsDialogButtonEnabled( - MessageBoxFlags::DialogButton button) const; - virtual bool IsDialogButtonVisible( - MessageBoxFlags::DialogButton button) const; - virtual int GetDefaultDialogButton() const; - virtual bool CanResize() const; - virtual bool CanMaximize() const; - virtual bool IsAlwaysOnTop() const; - virtual bool HasAlwaysOnTopMenu() const; - virtual bool IsModal() const; - virtual std::wstring GetWindowTitle() const; - virtual bool Accept(); - virtual views::View* GetContentsView(); - - // Overridden from views::LinkController: - virtual void LinkActivated(views::Link* source, int event_flags); -#if defined(OS_WIN) || defined(OS_CHROMEOS) - // Overridden from GoogleUpdateStatusListener: - virtual void OnReportResults(GoogleUpdateUpgradeResult result, - GoogleUpdateErrorCode error_code, - const std::wstring& version); -#endif - - private: -#if defined(OS_WIN) || defined(OS_CHROMEOS) - // Update the UI to show the status of the upgrade. - void UpdateStatus(GoogleUpdateUpgradeResult result, - GoogleUpdateErrorCode error_code); -#endif - -#if defined(OS_CHROMEOS) - // Callback from chromeos::VersionLoader giving the version. - void OnOSVersion(chromeos::VersionLoader::Handle handle, - std::string version); -#endif - - - Profile* profile_; - - // UI elements on the dialog. - views::ImageView* about_dlg_background_logo_; - views::Label* about_title_label_; - views::Textfield* version_label_; -#if defined(OS_CHROMEOS) - views::Textfield* os_version_label_; -#endif - views::Label* copyright_label_; - views::Label* main_text_label_; - int main_text_label_height_; - views::Link* chromium_url_; - gfx::Rect chromium_url_rect_; - views::Link* open_source_url_; - gfx::Rect open_source_url_rect_; - views::Link* terms_of_service_url_; - gfx::Rect terms_of_service_url_rect_; - // UI elements we add to the parent view. - scoped_ptr<views::Throbber> throbber_; - views::ImageView success_indicator_; - views::ImageView update_available_indicator_; - views::ImageView timeout_indicator_; - views::Label update_label_; - - // The dialog dimensions. - gfx::Size dialog_dimensions_; - - // Keeps track of the visible state of the Restart Now button. - bool restart_button_visible_; - - // The text to display as the main label of the About box. We draw this text - // word for word with the help of the WordIterator, and make room for URLs - // which are drawn using views::Link. See also |url_offsets_|. - std::wstring main_label_chunk1_; - std::wstring main_label_chunk2_; - std::wstring main_label_chunk3_; - std::wstring main_label_chunk4_; - std::wstring main_label_chunk5_; - // Determines the order of the two links we draw in the main label. - bool chromium_url_appears_first_; - -#if defined(OS_WIN) || defined(OS_CHROMEOS) - // The class that communicates with Google Update to find out if an update is - // available and asks it to start an upgrade. - scoped_refptr<GoogleUpdate> google_updater_; -#endif - - // Our current version. - std::wstring current_version_; - - // Additional information about the version (channel and build number). - std::wstring version_details_; - - // The version Google Update reports is available to us. - std::wstring new_version_available_; - - // Whether text direction is left-to-right or right-to-left. - bool text_direction_is_rtl_; - -#if defined(OS_CHROMEOS) - // Handles asynchronously loading the version. - chromeos::VersionLoader loader_; - - // Used to request the version. - CancelableRequestConsumer consumer_; -#endif - - scoped_ptr<AccessibleViewHelper> accessible_view_helper_; - - DISALLOW_COPY_AND_ASSIGN(AboutChromeView); -}; +#include "chrome/browser/ui/views/about_chrome_view.h" +// TODO(beng): remove this file once all includes have been updated. #endif // CHROME_BROWSER_VIEWS_ABOUT_CHROME_VIEW_H_ + |