| Index: chrome/browser/ui/views/apps/app_info_dialog/app_info_header_panel.cc
|
| diff --git a/chrome/browser/ui/views/apps/app_info_dialog/app_info_header_panel.cc b/chrome/browser/ui/views/apps/app_info_dialog/app_info_header_panel.cc
|
| index cf7b9f4da89c85665fa5114fb856e72bd20ef435..d586acc0fc518ce39f20bea9b4e8b85932b324ff 100644
|
| --- a/chrome/browser/ui/views/apps/app_info_dialog/app_info_header_panel.cc
|
| +++ b/chrome/browser/ui/views/apps/app_info_dialog/app_info_header_panel.cc
|
| @@ -23,6 +23,7 @@
|
| #include "grit/generated_resources.h"
|
| #include "net/base/url_util.h"
|
| #include "third_party/skia/include/core/SkBitmap.h"
|
| +#include "ui/app_list/app_list_constants.h"
|
| #include "ui/base/l10n/l10n_util.h"
|
| #include "ui/base/resource/resource_bundle.h"
|
| #include "ui/gfx/geometry/size.h"
|
| @@ -40,9 +41,17 @@
|
| #include "ui/views/view.h"
|
| #include "url/gurl.h"
|
|
|
| +namespace {
|
| +
|
| // Size of extension icon in top left of dialog.
|
| const int kIconSize = 64;
|
|
|
| +// The number of pixels spacing between the app's title and version in the
|
| +// dialog, when both are available.
|
| +const int kSpacingBetweenAppTitleAndVersion = 4;
|
| +
|
| +} // namespace
|
| +
|
| AppInfoHeaderPanel::AppInfoHeaderPanel(Profile* profile,
|
| const extensions::Extension* app)
|
| : AppInfoPanel(profile, app),
|
| @@ -70,14 +79,17 @@ void AppInfoHeaderPanel::CreateControls() {
|
| app_name_label_ =
|
| new views::Label(base::UTF8ToUTF16(app_->name()),
|
| ui::ResourceBundle::GetSharedInstance().GetFontList(
|
| - ui::ResourceBundle::BoldFont));
|
| + ui::ResourceBundle::MediumFont));
|
| app_name_label_->SetHorizontalAlignment(gfx::ALIGN_LEFT);
|
|
|
| // The version number doesn't make sense for bookmarked apps.
|
| if (!app_->from_bookmark()) {
|
| app_version_label_ =
|
| - new views::Label(base::UTF8ToUTF16(app_->VersionString()));
|
| + new views::Label(base::UTF8ToUTF16(app_->VersionString()),
|
| + ui::ResourceBundle::GetSharedInstance().GetFontList(
|
| + ui::ResourceBundle::MediumFont));
|
| app_version_label_->SetHorizontalAlignment(gfx::ALIGN_LEFT);
|
| + app_version_label_->SetEnabledColor(app_list::kDialogSubtitleColor);
|
| }
|
|
|
| app_icon_ = new views::ImageView();
|
| @@ -114,14 +126,14 @@ void AppInfoHeaderPanel::LayoutAppNameAndVersionInto(views::View* parent_view) {
|
| static const int kColumnId = 1;
|
| views::ColumnSet* column_set = layout->AddColumnSet(kColumnId);
|
| column_set->AddColumn(views::GridLayout::LEADING,
|
| - views::GridLayout::LEADING,
|
| + views::GridLayout::TRAILING,
|
| 1, // Stretch the title to as wide as needed
|
| views::GridLayout::USE_PREF,
|
| 0,
|
| 0);
|
| - column_set->AddPaddingColumn(0, views::kRelatedControlSmallHorizontalSpacing);
|
| + column_set->AddPaddingColumn(0, kSpacingBetweenAppTitleAndVersion);
|
| column_set->AddColumn(views::GridLayout::LEADING,
|
| - views::GridLayout::LEADING,
|
| + views::GridLayout::TRAILING,
|
| 0, // Do not stretch the version
|
| views::GridLayout::USE_PREF,
|
| 0,
|
| @@ -137,9 +149,10 @@ void AppInfoHeaderPanel::LayoutAppNameAndVersionInto(views::View* parent_view) {
|
|
|
| void AppInfoHeaderPanel::LayoutControls() {
|
| AddChildView(app_icon_);
|
| - if (!app_version_label_ && !view_in_store_link_) {
|
| - // If there's no link to the webstore _and_ no version, allow the app's name
|
| - // to take up multiple lines.
|
| + if (!app_version_label_ && !view_in_store_link_ && !licenses_link_) {
|
| + // If there's no version _and_ no links, allow the app's name to take up
|
| + // multiple lines.
|
| + // TODO(sashab): Limit the number of lines to 2.
|
| app_name_label_->SetMultiLine(true);
|
| AddChildView(app_name_label_);
|
| } else {
|
| @@ -150,22 +163,23 @@ void AppInfoHeaderPanel::LayoutControls() {
|
| vertical_container_layout->set_main_axis_alignment(
|
| views::BoxLayout::MAIN_AXIS_ALIGNMENT_CENTER);
|
| vertical_info_container->SetLayoutManager(vertical_container_layout);
|
| - // Create a horizontal container to store the app's links.
|
| - views::View* horizontal_links_container = new views::View();
|
| - horizontal_links_container->SetLayoutManager(
|
| - new views::BoxLayout(views::BoxLayout::kHorizontal, 0, 0, 3));
|
| - if (view_in_store_link_)
|
| - horizontal_links_container->AddChildView(view_in_store_link_);
|
| - if (licenses_link_)
|
| - horizontal_links_container->AddChildView(licenses_link_);
|
| - // First line: title and (possibly) version. Second line: links (if any).
|
| - if (app_version_label_) {
|
| - LayoutAppNameAndVersionInto(vertical_info_container);
|
| - } else {
|
| +
|
| + if (!view_in_store_link_ && !licenses_link_) {
|
| + // If there are no links, display the version on the second line.
|
| vertical_info_container->AddChildView(app_name_label_);
|
| - }
|
| - if (vertical_info_container->child_count() > 0)
|
| + vertical_info_container->AddChildView(app_version_label_);
|
| + } else {
|
| + LayoutAppNameAndVersionInto(vertical_info_container);
|
| + // Create a horizontal container to store the app's links.
|
| + views::View* horizontal_links_container = new views::View();
|
| + horizontal_links_container->SetLayoutManager(
|
| + new views::BoxLayout(views::BoxLayout::kHorizontal, 0, 0, 3));
|
| + if (view_in_store_link_)
|
| + horizontal_links_container->AddChildView(view_in_store_link_);
|
| + if (licenses_link_)
|
| + horizontal_links_container->AddChildView(licenses_link_);
|
| vertical_info_container->AddChildView(horizontal_links_container);
|
| + }
|
| AddChildView(vertical_info_container);
|
| }
|
| }
|
|
|