Commit b450bf30 authored by Richard Knoll's avatar Richard Knoll Committed by Commit Bot

Add empty list image to Click to Call dialog.

We want to show an illustration if there are no devices and no default
apps available to choose from in the Click to Call dialog.

Bug: 972059
Change-Id: I7b94662f1721f32c53278b3db2d0678824efc9ad
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1715196Reviewed-by: default avatarMichael van Ouwerkerk <mvanouwerkerk@chromium.org>
Reviewed-by: default avatarMitsuru Oshima (slow) <oshima@chromium.org>
Commit-Queue: Richard Knoll <knollr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#680554}
parent 8e7fdb8d
...@@ -255,6 +255,7 @@ ...@@ -255,6 +255,7 @@
</if> </if>
<if expr="not is_android"> <if expr="not is_android">
<structure type="chrome_scaled_image" name="IDR_SETTINGS_FAVICON" file="common/favicon_settings.png" /> <structure type="chrome_scaled_image" name="IDR_SETTINGS_FAVICON" file="common/favicon_settings.png" />
<structure type="chrome_scaled_image" name="IDR_SHARING_EMPTY_LIST" file="common/sharing_empty_list.png" />
<structure type="chrome_scaled_image" name="IDR_SHOW_PASSWORD_HOVER" file="common/show_password_hover.png" /> <structure type="chrome_scaled_image" name="IDR_SHOW_PASSWORD_HOVER" file="common/show_password_hover.png" />
</if> </if>
<if expr="chromeos"> <if expr="chromeos">
......
...@@ -8,15 +8,19 @@ ...@@ -8,15 +8,19 @@
#include "chrome/app/vector_icons/vector_icons.h" #include "chrome/app/vector_icons/vector_icons.h"
#include "chrome/browser/sharing/sharing_metrics.h" #include "chrome/browser/sharing/sharing_metrics.h"
#include "chrome/browser/ui/browser_finder.h" #include "chrome/browser/ui/browser_finder.h"
#include "chrome/browser/ui/views/accessibility/non_accessible_image_view.h"
#include "chrome/browser/ui/views/chrome_layout_provider.h" #include "chrome/browser/ui/views/chrome_layout_provider.h"
#include "chrome/browser/ui/views/chrome_typography.h" #include "chrome/browser/ui/views/chrome_typography.h"
#include "chrome/browser/ui/views/frame/browser_view.h" #include "chrome/browser/ui/views/frame/browser_view.h"
#include "chrome/browser/ui/views/frame/toolbar_button_provider.h" #include "chrome/browser/ui/views/frame/toolbar_button_provider.h"
#include "chrome/browser/ui/views/hover_button.h" #include "chrome/browser/ui/views/hover_button.h"
#include "chrome/browser/ui/views/page_action/omnibox_page_action_icon_container_view.h" #include "chrome/browser/ui/views/page_action/omnibox_page_action_icon_container_view.h"
#include "chrome/grit/theme_resources.h"
#include "ui/base/l10n/l10n_util.h" #include "ui/base/l10n/l10n_util.h"
#include "ui/base/resource/resource_bundle.h"
#include "ui/gfx/paint_vector_icon.h" #include "ui/gfx/paint_vector_icon.h"
#include "ui/strings/grit/ui_strings.h" #include "ui/strings/grit/ui_strings.h"
#include "ui/views/border.h"
#include "ui/views/controls/link.h" #include "ui/views/controls/link.h"
#include "ui/views/controls/styled_label.h" #include "ui/views/controls/styled_label.h"
#include "ui/views/layout/box_layout.h" #include "ui/views/layout/box_layout.h"
...@@ -27,6 +31,8 @@ namespace { ...@@ -27,6 +31,8 @@ namespace {
// Icon sizes in DIP. // Icon sizes in DIP.
constexpr int kPrimaryIconSize = 20; constexpr int kPrimaryIconSize = 20;
constexpr int kPrimaryIconBorderWidth = 8; constexpr int kPrimaryIconBorderWidth = 8;
constexpr int kEmptyImageHeight = 88;
constexpr int kEmptyImageTopPadding = 16;
SkColor GetColorfromTheme() { SkColor GetColorfromTheme() {
const ui::NativeTheme* native_theme = const ui::NativeTheme* native_theme =
...@@ -201,6 +207,21 @@ void ClickToCallDialogView::InitEmptyView() { ...@@ -201,6 +207,21 @@ void ClickToCallDialogView::InitEmptyView() {
link->set_listener(this); link->set_listener(this);
link->SetHorizontalAlignment(gfx::ALIGN_LEFT); link->SetHorizontalAlignment(gfx::ALIGN_LEFT);
AddChildView(std::move(link)); AddChildView(std::move(link));
ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance();
auto image_view = std::make_unique<NonAccessibleImageView>();
const gfx::ImageSkia* image =
rb.GetNativeImageNamed(IDR_SHARING_EMPTY_LIST).ToImageSkia();
gfx::Size image_size(image->width(), image->height());
const int image_width = image->width() * kEmptyImageHeight / image->height();
image_size.SetToMin(gfx::Size(image_width, kEmptyImageHeight));
image_view->SetImageSize(image_size);
image_view->SetImage(*image);
image_view->SetBorder(
views::CreateEmptyBorder(kEmptyImageTopPadding, 0, 0, 0));
AddChildView(std::move(image_view));
} }
void ClickToCallDialogView::InitErrorView() { void ClickToCallDialogView::InitErrorView() {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment