0

Add Screen Size Row to Menu

Creates a row for the screen size button whose functionality will be
implemented in a future CL.

Bug: b:275424971
Test: Ran GameDashboard* ash_unittests
Change-Id: I01470e1866d3fb0eef788aa831ba8d5394884131
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4571140
Reviewed-by: Ahmed Fakhry <afakhry@chromium.org>
Commit-Queue: Gina Domergue <gdomergue@google.com>
Cr-Commit-Position: refs/heads/main@{#1158351}
This commit is contained in:
Gina Domergue
2023-06-15 19:17:51 +00:00
committed by Chromium LUCI CQ
parent 02014818fa
commit a93f5740b2
5 changed files with 32 additions and 0 deletions

@ -6762,6 +6762,9 @@ To shut down the device, press and hold the power button on the device again.
<message name="IDS_ASH_GAME_DASHBOARD_SCREENSHOT_TILE_BUTTON_TITLE" translateable="false" desc="The display name for the Game Dashboard screenshot tile.">
Take screenshot
</message>
<message name="IDS_ASH_GAME_DASHBOARD_SCREEN_SIZE_SETTINGS_TITLE" translateable="false" desc="The display name for the Game Dashboard screen size settings.">
Screen size
</message>
<message name="IDS_ASH_GAME_DASHBOARD_TOOLBAR_TILE_BUTTON_TITLE" translateable="false" desc="The display name for the Game Dashboard toolbar tile.">
Toolbar
</message>

@ -0,0 +1 @@
5750d9356f254e13f8a4878973d4f3654a35f224

@ -70,6 +70,10 @@ GameDashboardMainMenuView::GameDashboardMainMenuView(
AddShortcutTilesRow();
// TODO(b/273641402): Add in Game Controls row.
MaybeAddScreenSizeSettingsRow();
SizeToPreferredSize();
}
@ -88,6 +92,10 @@ void GameDashboardMainMenuView::OnScreenshotTilePressed() {
GetWidget()->Close();
}
void GameDashboardMainMenuView::OnScreenSizeSettingsButtonPressed() {
// TODO(b/283988495): Add support when screen size setting is pressed.
}
void GameDashboardMainMenuView::AddShortcutTilesRow() {
views::BoxLayoutView* container =
AddChildView(std::make_unique<views::BoxLayoutView>());
@ -118,6 +126,19 @@ void GameDashboardMainMenuView::AddShortcutTilesRow() {
IDS_ASH_GAME_DASHBOARD_SCREENSHOT_TILE_BUTTON_TITLE)));
}
void GameDashboardMainMenuView::MaybeAddScreenSizeSettingsRow() {
if (IsArcWindow(game_window_)) {
AddChildView(CreateTile(
base::BindRepeating(
&GameDashboardMainMenuView::OnScreenSizeSettingsButtonPressed,
base::Unretained(this)),
/*is_togglable=*/false, ash::FeatureTile::TileType::kPrimary,
VIEW_ID_GD_SCREEN_SIZE_TILE, vector_icons::kSelectWindowIcon,
l10n_util::GetStringUTF16(
IDS_ASH_GAME_DASHBOARD_SCREEN_SIZE_SETTINGS_TITLE)));
}
}
BEGIN_METADATA(GameDashboardMainMenuView, views::BubbleDialogDelegateView)
END_METADATA

@ -31,11 +31,17 @@ class GameDashboardMainMenuView : public views::BubbleDialogDelegateView {
void OnRecordGameTilePressed();
// Handles taking a screenshot of the game window when pressed.
void OnScreenshotTilePressed();
// Handles when the Screen Size Settings is pressed.
void OnScreenSizeSettingsButtonPressed();
// Adds a row of shortcut tiles to the main menu view for users to quickly
// access common functionality.
void AddShortcutTilesRow();
// Adds a row to access a settings page controlling the screen size if the
// given game window is an ARC app.
void MaybeAddScreenSizeSettingsRow();
const raw_ptr<aura::Window, ExperimentalAsh> game_window_;
};

@ -38,6 +38,7 @@ enum ViewID {
// Game Dashboard elements
VIEW_ID_GD_CONTROLS_TILE,
VIEW_ID_GD_RECORD_TILE,
VIEW_ID_GD_SCREEN_SIZE_TILE,
VIEW_ID_GD_SCREENSHOT_TILE,
VIEW_ID_GD_TOOLBAR_TILE,