diff options
author | mihaip@chromium.org <mihaip@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-01 17:33:04 +0000 |
---|---|---|
committer | mihaip@chromium.org <mihaip@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-01 17:33:04 +0000 |
commit | 5fdbd6f113b07f3bf866ec6c00c1734c8f378309 (patch) | |
tree | 6604d12053a481baac7a20ddc2c6d2402b3c6b75 /chrome/browser/ui/views/extensions | |
parent | 2ac2cf7366841cf88be24dbdffe8f87784d9a9f1 (diff) | |
download | chromium_src-5fdbd6f113b07f3bf866ec6c00c1734c8f378309.zip chromium_src-5fdbd6f113b07f3bf866ec6c00c1734c8f378309.tar.gz chromium_src-5fdbd6f113b07f3bf866ec6c00c1734c8f378309.tar.bz2 |
Parse and show CWS data (reviews, number of users) in the inline install dialog.
Data is put into a ExtensionInstallUI::Prompt struct that is passed to
ShowExtensionInstallDialog implementations (currently only the GTK one actually
displays it). Ratings are shown as stars (resources were r99027). The dialog
also includes a CWS link for the item (this necessitated switching the GTK
implementation to a class so that the click handler callback could get at the
delegate and extension).
R=asargent@chromium.org
Review URL: http://codereview.chromium.org/7819006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99205 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/ui/views/extensions')
-rw-r--r-- | chrome/browser/ui/views/extensions/extension_install_dialog_view.cc | 36 |
1 files changed, 16 insertions, 20 deletions
diff --git a/chrome/browser/ui/views/extensions/extension_install_dialog_view.cc b/chrome/browser/ui/views/extensions/extension_install_dialog_view.cc index 36323de..268c589 100644 --- a/chrome/browser/ui/views/extensions/extension_install_dialog_view.cc +++ b/chrome/browser/ui/views/extensions/extension_install_dialog_view.cc @@ -66,8 +66,7 @@ class ExtensionInstallDialogView : public views::DialogDelegateView { ExtensionInstallDialogView(ExtensionInstallUI::Delegate* delegate, const Extension* extension, SkBitmap* icon, - const std::vector<string16>& permissions, - ExtensionInstallUI::PromptType type); + const ExtensionInstallUI::Prompt& prompt); virtual ~ExtensionInstallDialogView(); private: @@ -112,9 +111,7 @@ class ExtensionInstallDialogView : public views::DialogDelegateView { // whether the extension requires any permissions. int right_column_width_; - // The type of install dialog, which must be INSTALL_PROMPT or - // RE_ENABLE_PROMPT. - ExtensionInstallUI::PromptType type_; + ExtensionInstallUI::Prompt prompt_; DISALLOW_COPY_AND_ASSIGN(ExtensionInstallDialogView); }; @@ -123,15 +120,14 @@ ExtensionInstallDialogView::ExtensionInstallDialogView( ExtensionInstallUI::Delegate* delegate, const Extension* extension, SkBitmap* icon, - const std::vector<string16>& permissions, - ExtensionInstallUI::PromptType type) + const ExtensionInstallUI::Prompt& prompt) : delegate_(delegate), icon_(NULL), heading_(NULL), will_have_access_to_(NULL), permission_box_(NULL), right_column_width_(0), - type_(type) { + prompt_(prompt) { // Scale down to icon size, but allow smaller icons (don't scale up). gfx::Size size(icon->width(), icon->height()); if (size.width() > kIconSize || size.height() > kIconSize) @@ -144,7 +140,7 @@ ExtensionInstallDialogView::ExtensionInstallDialogView( AddChildView(icon_); heading_ = new views::Label(UTF16ToWide( - l10n_util::GetStringFUTF16(ExtensionInstallUI::kHeadingIds[type_], + l10n_util::GetStringFUTF16(ExtensionInstallUI::kHeadingIds[prompt.type], UTF8ToUTF16(extension->name())))); heading_->SetFont(heading_->font().DeriveFont(kHeadingFontSizeDelta, gfx::Font::BOLD)); @@ -152,12 +148,13 @@ ExtensionInstallDialogView::ExtensionInstallDialogView( heading_->SetHorizontalAlignment(views::Label::ALIGN_LEFT); AddChildView(heading_); - if (permissions.empty()) { + if (prompt.permissions.empty()) { right_column_width_ = kNoPermissionsRightColumnWidth; } else { right_column_width_ = kPermissionBoxWidth; will_have_access_to_ = new views::Label(UTF16ToWide( - l10n_util::GetStringUTF16(ExtensionInstallUI::kWarningIds[type_]))); + l10n_util::GetStringUTF16( + ExtensionInstallUI::kWarningIds[prompt.type]))); will_have_access_to_->SetMultiLine(true); will_have_access_to_->SetHorizontalAlignment(views::Label::ALIGN_LEFT); AddChildView(will_have_access_to_); @@ -171,8 +168,8 @@ ExtensionInstallDialogView::ExtensionInstallDialogView( AddChildView(permission_box_); } - for (size_t i = 0; i < permissions.size(); ++i) { - views::Label* label = new views::Label(UTF16ToWide(permissions[i])); + for (size_t i = 0; i < prompt.permissions.size(); ++i) { + views::Label* label = new views::Label(UTF16ToWide(prompt.permissions[i])); label->SetMultiLine(true); label->SetHorizontalAlignment(views::Label::ALIGN_LEFT); permission_box_->AddChildView(label); @@ -273,10 +270,10 @@ std::wstring ExtensionInstallDialogView::GetDialogButtonLabel( MessageBoxFlags::DialogButton button) const { switch (button) { case MessageBoxFlags::DIALOGBUTTON_OK: - return UTF16ToWide( - l10n_util::GetStringUTF16(ExtensionInstallUI::kButtonIds[type_])); + return UTF16ToWide(l10n_util::GetStringUTF16( + ExtensionInstallUI::kButtonIds[prompt_.type])); case MessageBoxFlags::DIALOGBUTTON_CANCEL: { - int id = ExtensionInstallUI::kAbortButtonIds[type_]; + int id = ExtensionInstallUI::kAbortButtonIds[prompt_.type]; return UTF16ToWide(l10n_util::GetStringUTF16(id > 0 ? id : IDS_CANCEL)); } default: @@ -305,7 +302,7 @@ bool ExtensionInstallDialogView::IsModal() const { std::wstring ExtensionInstallDialogView::GetWindowTitle() const { return UTF16ToWide( - l10n_util::GetStringUTF16(ExtensionInstallUI::kTitleIds[type_])); + l10n_util::GetStringUTF16(ExtensionInstallUI::kTitleIds[prompt_.type])); } views::View* ExtensionInstallDialogView::GetContentsView() { @@ -317,8 +314,7 @@ void ShowExtensionInstallDialog( ExtensionInstallUI::Delegate* delegate, const Extension* extension, SkBitmap* icon, - const std::vector<string16>& permissions, - ExtensionInstallUI::PromptType type) { + const ExtensionInstallUI::Prompt& prompt) { #if defined(OS_CHROMEOS) // Use a tabbed browser window as parent on ChromeOS. Browser* browser = BrowserList::FindTabbedBrowser(profile, true); @@ -337,7 +333,7 @@ void ShowExtensionInstallDialog( } ExtensionInstallDialogView* dialog = new ExtensionInstallDialogView( - delegate, extension, icon, permissions, type); + delegate, extension, icon, prompt); views::Widget* window = browser::CreateViewsWindow( browser_window->GetNativeHandle(), dialog); |