Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: improve and add new shortcuts #556

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Screenbox.Core/ViewModels/MainPageViewModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ public void ProcessGamepadKeyDown(KeyRoutedEventArgs args)
case VirtualKey.GamepadX:
Messenger.Send(new TogglePlayPauseMessage(true));
break;
case VirtualKey.GamepadY when !PlayerVisible:
case VirtualKey.GamepadView when !PlayerVisible:
Messenger.Send(new TogglePlayerVisibilityMessage());
break;
default:
Expand Down
8 changes: 7 additions & 1 deletion Screenbox/Controls/PlayerControls.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,11 @@
Icon="{ui:FontIcon FontFamily={StaticResource ScreenboxSymbolThemeFontFamily},
Glyph={StaticResource ImageExportGlyph}}"
Text="{x:Bind strings:Resources.SaveCurrentFrame}"
Visibility="{x:Bind helpers:SystemInformation.IsDesktop}" />
Visibility="{x:Bind helpers:SystemInformation.IsDesktop}">
<MenuFlyoutItem.KeyboardAccelerators>
<KeyboardAccelerator Key="S" Modifiers="Shift" />
</MenuFlyoutItem.KeyboardAccelerators>
</MenuFlyoutItem>
<MenuFlyoutItem
AccessKey="{strings:KeyboardResources Key=MenuItemCastKey}"
Click="CastMenuFlyoutItem_OnClick"
Expand Down Expand Up @@ -401,6 +405,7 @@
<FontIcon Glyph="&#xE892;" />
<Button.KeyboardAccelerators>
<KeyboardAccelerator Key="PageUp" />
<KeyboardAccelerator Key="P" Modifiers="Shift" />
</Button.KeyboardAccelerators>
</Button>
<Button
Expand All @@ -414,6 +419,7 @@
<FontIcon Glyph="&#xE893;" />
<Button.KeyboardAccelerators>
<KeyboardAccelerator Key="PageDown" />
<KeyboardAccelerator Key="N" Modifiers="Shift" />
</Button.KeyboardAccelerators>
</Button>
</StackPanel>
Expand Down
4 changes: 3 additions & 1 deletion Screenbox/Controls/PlaylistView.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,6 @@
Margin="{x:Bind Padding, Mode=OneWay}"
ctAnimations:Implicit.HideAnimations="{StaticResource SelectionRowExitImplicitAnimation}"
ctAnimations:Implicit.ShowAnimations="{StaticResource SelectionRowEntranceImplicitAnimation}"
Opacity="0"
Visibility="Collapsed">
<Border
Background="{ThemeResource CardBackgroundFillColorDefaultBrush}"
Expand Down Expand Up @@ -314,6 +313,9 @@
KeyboardAcceleratorPlacementMode="Hidden"
SelectionChanged="PlaylistListView_OnSelectionChanged"
SelectionMode="Extended">
<ListView.Resources>
<x:Boolean x:Key="ListViewItemSelectionIndicatorVisualEnabled">False</x:Boolean>
</ListView.Resources>
<ListView.ItemTemplate>
<DataTemplate>
<controls:MediaListViewItem IsIconVisible="True" PlayCommand="{Binding DataContext.PlaySingleCommand, ElementName=PlaylistListView}" />
Expand Down
2 changes: 1 addition & 1 deletion Screenbox/Pages/MainPage.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -289,7 +289,7 @@
x:Name="NavViewSearchBox"
controls:AcceleratorService.ToolTip="{x:Bind NavViewSearchBox.(AutomationProperties.Name)}"
AccessKey="{strings:KeyboardResources Key=NavigationPaneAutoSuggestButtonKey}"
AccessKeyInvoked="NavViewSearchBoxAccessKeyFocus_OnInvoked"
AccessKeyInvoked="NavViewSearchBox_OnAccessKeyInvoked"
AutomationProperties.Name="{strings:Resources Key=SearchBoxToolTip}"
ItemTemplate="{StaticResource SearchAutoSuggestBoxItemTemplate}"
KeyTipPlacementMode="Right"
Expand Down
18 changes: 12 additions & 6 deletions Screenbox/Pages/MainPage.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,12 @@ protected override void OnKeyDown(KeyRoutedEventArgs e)
{
base.OnKeyDown(e);
ViewModel.ProcessGamepadKeyDown(e);

if (e.Key == VirtualKey.GamepadY)
{
NavViewSearchBox.Focus(FocusState.Programmatic);
e.Handled = true;
}
}

public void GoBack()
Expand Down Expand Up @@ -370,17 +376,17 @@ private Thickness GetBackgroundMargin(muxc.NavigationViewDisplayMode mode, bool
/// </summary>
private void NavViewSearchBoxKeyboardAcceleratorFocus_OnInvoked(KeyboardAccelerator sender, KeyboardAcceleratorInvokedEventArgs args)
{
if (NavViewSearchBox.FocusState == FocusState.Unfocused)
NavViewSearchBox.Focus(FocusState.Keyboard);
NavViewSearchBox.Focus(FocusState.Keyboard);
args.Handled = true;
}

/// <summary>
/// Give the <see cref="NavViewSearchBox"/> text entry box focus ("Focused" visual state) through the access key combination.
/// </summary>
private void NavViewSearchBoxAccessKeyFocus_OnInvoked(UIElement sender, AccessKeyInvokedEventArgs args)
/// </summary
private void NavViewSearchBox_OnAccessKeyInvoked(UIElement sender, AccessKeyInvokedEventArgs args)
{
if (NavViewSearchBox.FocusState == FocusState.Unfocused)
NavViewSearchBox.Focus(FocusState.Keyboard);
NavViewSearchBox.Focus(FocusState.Keyboard);
args.Handled = true;
}
}
}
24 changes: 24 additions & 0 deletions Screenbox/Screenbox.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -461,52 +461,76 @@
<LastGenOutput>Resources.generated.cs</LastGenOutput>
<SubType>Designer</SubType>
</PRIResource>
<PRIResource Include="Strings\ar-SA\KeyboardResources.resw" />
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh we were missing the keyboard resources huh

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🙄 My bad, I thought that it was automatic with the Crowdin action

<PRIResource Include="Strings\ar-SA\ManifestResources.resw" />
<PRIResource Include="Strings\ar-SA\Resources.resw" />
<PRIResource Include="Strings\be-BY\KeyboardResources.resw" />
<PRIResource Include="Strings\be-BY\ManifestResources.resw" />
<PRIResource Include="Strings\be-BY\Resources.resw" />
<PRIResource Include="Strings\de-DE\KeyboardResources.resw" />
<PRIResource Include="Strings\de-DE\ManifestResources.resw" />
<PRIResource Include="Strings\de-DE\Resources.resw" />
<PRIResource Include="Strings\el-GR\KeyboardResources.resw" />
<PRIResource Include="Strings\el-GR\ManifestResources.resw" />
<PRIResource Include="Strings\el-GR\Resources.resw" />
<PRIResource Include="Strings\es-ES\KeyboardResources.resw" />
<PRIResource Include="Strings\es-ES\ManifestResources.resw" />
<PRIResource Include="Strings\es-ES\Resources.resw" />
<PRIResource Include="Strings\fr-FR\KeyboardResources.resw" />
<PRIResource Include="Strings\fr-FR\ManifestResources.resw" />
<PRIResource Include="Strings\fr-FR\Resources.resw" />
<PRIResource Include="Strings\he-IL\KeyboardResources.resw" />
<PRIResource Include="Strings\he-IL\ManifestResources.resw" />
<PRIResource Include="Strings\he-IL\Resources.resw" />
<PRIResource Include="Strings\hu-HU\KeyboardResources.resw" />
<PRIResource Include="Strings\hu-HU\ManifestResources.resw" />
<PRIResource Include="Strings\hu-HU\Resources.resw" />
<PRIResource Include="Strings\id-ID\KeyboardResources.resw" />
<PRIResource Include="Strings\id-ID\ManifestResources.resw" />
<PRIResource Include="Strings\id-ID\Resources.resw" />
<PRIResource Include="Strings\it-IT\KeyboardResources.resw" />
<PRIResource Include="Strings\it-IT\ManifestResources.resw" />
<PRIResource Include="Strings\it-IT\Resources.resw" />
<PRIResource Include="Strings\ja-JP\KeyboardResources.resw" />
<PRIResource Include="Strings\ja-JP\ManifestResources.resw" />
<PRIResource Include="Strings\ja-JP\Resources.resw" />
<PRIResource Include="Strings\ms-MY\KeyboardResources.resw" />
<PRIResource Include="Strings\ms-MY\ManifestResources.resw" />
<PRIResource Include="Strings\ms-MY\Resources.resw" />
<PRIResource Include="Strings\nl-NL\KeyboardResources.resw" />
<PRIResource Include="Strings\nl-NL\ManifestResources.resw" />
<PRIResource Include="Strings\nl-NL\Resources.resw" />
<PRIResource Include="Strings\pl-PL\KeyboardResources.resw" />
<PRIResource Include="Strings\pl-PL\ManifestResources.resw" />
<PRIResource Include="Strings\pl-PL\Resources.resw" />
<PRIResource Include="Strings\pt-BR\KeyboardResources.resw" />
<PRIResource Include="Strings\pt-BR\ManifestResources.resw" />
<PRIResource Include="Strings\pt-BR\Resources.resw" />
<PRIResource Include="Strings\pt-PT\KeyboardResources.resw" />
<PRIResource Include="Strings\pt-PT\ManifestResources.resw" />
<PRIResource Include="Strings\pt-PT\Resources.resw" />
<PRIResource Include="Strings\ro-RO\KeyboardResources.resw" />
<PRIResource Include="Strings\ro-RO\ManifestResources.resw" />
<PRIResource Include="Strings\ro-RO\Resources.resw" />
<PRIResource Include="Strings\ru-RU\KeyboardResources.resw" />
<PRIResource Include="Strings\ru-RU\ManifestResources.resw" />
<PRIResource Include="Strings\ru-RU\Resources.resw" />
<PRIResource Include="Strings\si-LK\KeyboardResources.resw" />
<PRIResource Include="Strings\si-LK\ManifestResources.resw" />
<PRIResource Include="Strings\si-LK\Resources.resw" />
<PRIResource Include="Strings\tr-TR\KeyboardResources.resw" />
<PRIResource Include="Strings\tr-TR\ManifestResources.resw" />
<PRIResource Include="Strings\tr-TR\Resources.resw" />
<PRIResource Include="Strings\uk-UA\KeyboardResources.resw" />
<PRIResource Include="Strings\uk-UA\ManifestResources.resw" />
<PRIResource Include="Strings\uk-UA\Resources.resw" />
<PRIResource Include="Strings\vi\KeyboardResources.resw" />
<PRIResource Include="Strings\vi\ManifestResources.resw" />
<PRIResource Include="Strings\vi\Resources.resw" />
<PRIResource Include="Strings\zh-Hans\KeyboardResources.resw" />
<PRIResource Include="Strings\zh-Hans\ManifestResources.resw" />
<PRIResource Include="Strings\zh-Hans\Resources.resw" />
<PRIResource Include="Strings\zh-Hans\KeyboardResources.resw" />
<PRIResource Include="Strings\zh-Hant\ManifestResources.resw" />
<PRIResource Include="Strings\zh-Hant\Resources.resw" />
</ItemGroup>
Expand Down