[Settings] MWB and Peek improvements (#26142)

* Improvements to MWB

* Adding link to Peek

* Address feedback

* Fix localization
This commit is contained in:
Niels Laute
2023-05-25 11:10:52 +02:00
committed by GitHub
parent 675aac95d2
commit 667aad247a
3 changed files with 367 additions and 397 deletions

View File

@@ -229,7 +229,7 @@
<value>It is not possible to use drag and drop while running PowerToys elevated. As a workaround, please restart PowerToys without elevation to edit the device layout.</value> <value>It is not possible to use drag and drop while running PowerToys elevated. As a workaround, please restart PowerToys without elevation to edit the device layout.</value>
</data> </data>
<data name="MouseWithoutBorders_KeySettings.Header" xml:space="preserve"> <data name="MouseWithoutBorders_KeySettings.Header" xml:space="preserve">
<value>Encryption Key</value> <value>Encryption key</value>
</data> </data>
<data name="MouseWithoutBorders_SecurityKey.Header" xml:space="preserve"> <data name="MouseWithoutBorders_SecurityKey.Header" xml:space="preserve">
<value>Security key</value> <value>Security key</value>
@@ -241,7 +241,7 @@
<value>New key</value> <value>New key</value>
</data> </data>
<data name="MouseWithoutBorders_CopyMachineName.Text" xml:space="preserve"> <data name="MouseWithoutBorders_CopyMachineName.Text" xml:space="preserve">
<value>Copy this PC name to the clipboard</value> <value>Copy to clipboard</value>
</data> </data>
<data name="MouseWithoutBorders_ReconnectButton.Text" xml:space="preserve"> <data name="MouseWithoutBorders_ReconnectButton.Text" xml:space="preserve">
<value>Refresh connections</value> <value>Refresh connections</value>
@@ -250,7 +250,7 @@
<value>Reestablishes connections with other devices if you are experiencing issues.</value> <value>Reestablishes connections with other devices if you are experiencing issues.</value>
</data> </data>
<data name="MouseWithoutBorders_ThisMachineNameLabel.Header" xml:space="preserve"> <data name="MouseWithoutBorders_ThisMachineNameLabel.Header" xml:space="preserve">
<value>The local machine's host name is:</value> <value>Host name of this device</value>
</data> </data>
<data name="MouseWithoutBorders_Connect.Content" xml:space="preserve"> <data name="MouseWithoutBorders_Connect.Content" xml:space="preserve">
<value>Connect</value> <value>Connect</value>
@@ -301,9 +301,8 @@
<data name="MouseWithoutBorders_UseService.Header" xml:space="preserve"> <data name="MouseWithoutBorders_UseService.Header" xml:space="preserve">
<value>Use Service</value> <value>Use Service</value>
</data> </data>
<data name="MouseWithoutBorders_UseService.Description" <data name="MouseWithoutBorders_UseService.Description" xml:space="preserve">
xml:space="preserve"> <value>Runs in service mode, that allows MWB to control remote machines when they're locked. Also allows control of system and administrator applications.</value>
<value>Runs in service mode, that allows MWB to control remote machines when they're locked. Also allows control of system and administrator applications.</value>
</data> </data>
<data name="MouseWithoutBorders_MatrixOneRow.Header" xml:space="preserve"> <data name="MouseWithoutBorders_MatrixOneRow.Header" xml:space="preserve">
<value>Devices in a single row</value> <value>Devices in a single row</value>
@@ -314,9 +313,8 @@
<data name="MouseWithoutBorders_WrapMouse.Header" xml:space="preserve"> <data name="MouseWithoutBorders_WrapMouse.Header" xml:space="preserve">
<value>Wrap mouse</value> <value>Wrap mouse</value>
</data> </data>
<data name="MouseWithoutBorders_WrapMouse.Description" <data name="MouseWithoutBorders_WrapMouse.Description" xml:space="preserve">
xml:space="preserve"> <value>Move control back to the first machine when mouse moves past the last one.</value>
<value>Move control back to the first machine when mouse moves past the last one.</value>
</data> </data>
<data name="MouseWithoutBorders_ShareClipboard.Header" xml:space="preserve"> <data name="MouseWithoutBorders_ShareClipboard.Header" xml:space="preserve">
<value>Share clipboard</value> <value>Share clipboard</value>
@@ -354,52 +352,42 @@
<data name="MouseWithoutBorders_ShowOriginalUI.Description" xml:space="preserve"> <data name="MouseWithoutBorders_ShowOriginalUI.Description" xml:space="preserve">
<value>This is accessible from the system tray and requires a restart.</value> <value>This is accessible from the system tray and requires a restart.</value>
</data> </data>
<data name="MouseWithoutBorders_ShareClipboard.Description" <data name="MouseWithoutBorders_ShareClipboard.Description" xml:space="preserve">
xml:space="preserve"> <value>If share clipboard stops working, Ctrl+Alt+Del then Esc may solve the problem.</value>
<value>If share clipboard stops working, Ctrl+Alt+Del then Esc may solve the problem.</value>
</data> </data>
<data name="MouseWithoutBorders_TransferFile.Description" <data name="MouseWithoutBorders_TransferFile.Description" xml:space="preserve">
xml:space="preserve"> <value>If a file (&lt;100MB) is copied, it will be transferred to the remote machine clipboard.</value>
<value>If a file (&lt;100MB) is copied, it will be transferred to the remote machine clipboard.</value>
</data> </data>
<data name="MouseWithoutBorders_HideMouseAtScreenEdge.Description" <data name="MouseWithoutBorders_HideMouseAtScreenEdge.Description" xml:space="preserve">
xml:space="preserve"> <value>Hide the mouse cursor at the top edge of the screen when switching to other machine. This option also steals the focus from any full-screen app to ensure the keyboard input is redirected.</value>
<value>Hide the mouse cursor at the top edge of the screen when switching to other machine. This option also steals the focus from any full-screen app to ensure the keyboard input is redirected.</value>
</data> </data>
<data name="MouseWithoutBorders_DrawMouseCursor.Description" <data name="MouseWithoutBorders_DrawMouseCursor.Description" xml:space="preserve">
xml:space="preserve"> <value>Mouse cursor may not be visible in Windows 10 and later versions of Windows when there is no physical mouse attached.</value>
<value>Mouse cursor may not be visible in Windows 10 and later versions of Windows when there is no physical mouse attached.</value>
</data> </data>
<data name="MouseWithoutBorders_ValidateRemoteMachineIP.Description" <data name="MouseWithoutBorders_ValidateRemoteMachineIP.Description" xml:space="preserve">
xml:space="preserve"> <value>Reverse DNS lookup to validate machine IP Address.</value>
<value>Reverse DNS lookup to validate machine IP Address.</value>
</data> </data>
<data name="MouseWithoutBorders_SameSubnetOnly.Description" <data name="MouseWithoutBorders_SameSubnetOnly.Description" xml:space="preserve">
xml:space="preserve"> <value>Only connect to machines in the same intranet NNN.NNN.*.* (only works when both machines have IPv4 enabled)</value>
<value>Only connect to machines in the same intranet NNN.NNN.*.* (only works when both machines have IPv4 enabled)</value>
</data> </data>
<data name="MouseWithoutBorders_BlockScreenSaverOnOtherMachines.Description" <data name="MouseWithoutBorders_BlockScreenSaverOnOtherMachines.Description" xml:space="preserve">
xml:space="preserve"> <value>Prevent screen saver from starting on other machines when user is actively working on this machine.</value>
<value>Prevent screen saver from starting on other machines when user is actively working on this machine.</value>
</data> </data>
<data name="MouseWithoutBorders_MoveMouseRelatively.Description" <data name="MouseWithoutBorders_MoveMouseRelatively.Description" xml:space="preserve">
xml:space="preserve"> <value>Use this option when remote machine's monitor settings are different, or remote machine has multiple monitors.</value>
<value>Use this option when remote machine's monitor settings are different, or remote machine has multiple monitors.</value>
</data> </data>
<data name="MouseWithoutBorders_BlockMouseAtScreenCorners.Description" <data name="MouseWithoutBorders_BlockMouseAtScreenCorners.Description" xml:space="preserve">
xml:space="preserve"> <value>To avoid accident machine-switch at screen corners.</value>
<value>To avoid accident machine-switch at screen corners.</value>
</data> </data>
<data name="MouseWithoutBorders_ShowClipboardAndNetworkStatusMessages.Description" <data name="MouseWithoutBorders_ShowClipboardAndNetworkStatusMessages.Description" xml:space="preserve">
xml:space="preserve"> <value>Show clipboard activities and network status in system tray notifications</value>
<value>Show clipboard activities and network status in system tray notifications</value>
</data> </data>
<data name="MouseWithoutBorders_KeyboardShortcuts_Group.Header" xml:space="preserve"> <data name="MouseWithoutBorders_KeyboardShortcuts_Group.Header" xml:space="preserve">
<value>Keyboard Shortcuts</value> <value>Keyboard shortcuts</value>
<comment>keyboard is the hardware peripheral</comment> <comment>keyboard is the hardware peripheral</comment>
</data> </data>
<data name="MouseWithoutBorders_EasyMouseOption.Header" xml:space="preserve"> <data name="MouseWithoutBorders_EasyMouseOption.Header" xml:space="preserve">
<value>Easy Mouse: Move between machines by moving the mouse pointer to the screen edges.</value> <value>Easy Mouse: move between machines by moving the mouse pointer to the screen edges.</value>
</data> </data>
<data name="MouseWithoutBorders_EasyMouseOption.Description" xml:space="preserve"> <data name="MouseWithoutBorders_EasyMouseOption.Description" xml:space="preserve">
<value>Can also be set to move only when pressing Shift or Ctrl.</value> <value>Can also be set to move only when pressing Shift or Ctrl.</value>
@@ -2338,6 +2326,10 @@ From there, simply click on one of the supported files in the File Explorer and
<value>Learn more about Paste as Plain Text</value> <value>Learn more about Paste as Plain Text</value>
<comment> Paste as Plain Text is the name of the module. </comment> <comment> Paste as Plain Text is the name of the module. </comment>
</data> </data>
<data name="LearnMore_MouseWithoutBorders.Text" xml:space="preserve">
<value>Learn more about Mouse Without Borders</value>
<comment>Mouse Without Borders is the name of the module. </comment>
</data>
<data name="LearnMore_PowerPreview.Text" xml:space="preserve"> <data name="LearnMore_PowerPreview.Text" xml:space="preserve">
<value>Learn more about File Explorer add-ons</value> <value>Learn more about File Explorer add-ons</value>
<comment>File Explorer is a product name, localize as Windows does</comment> <comment>File Explorer is a product name, localize as Windows does</comment>
@@ -3512,4 +3504,10 @@ Activate by holding the key for the character you want to add an accent to, then
<data name="Oobe_Peek_HowToUse.Text" xml:space="preserve"> <data name="Oobe_Peek_HowToUse.Text" xml:space="preserve">
<value>to preview the file that's currently selected in File Explorer.</value> <value>to preview the file that's currently selected in File Explorer.</value>
</data> </data>
<data name="MWB_PCNameLabel.PlaceholderText" xml:space="preserve">
<value>Device name</value>
</data>
<data name="MWB_SecurityKeyLabel.PlaceholderText" xml:space="preserve">
<value>Security key</value>
</data>
</root> </root>

View File

@@ -1,443 +1,413 @@
<Page x:Class="Microsoft.PowerToys.Settings.UI.Views.MouseWithoutBordersPage" <Page
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" x:Class="Microsoft.PowerToys.Settings.UI.Views.MouseWithoutBordersPage"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:controls="using:Microsoft.PowerToys.Settings.UI.Controls"
xmlns:labs="using:CommunityToolkit.Labs.WinUI" mc:Ignorable="d" xmlns:converters="using:Microsoft.PowerToys.Settings.UI.Converters"
xmlns:controls="using:Microsoft.PowerToys.Settings.UI.Controls" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:converters="using:Microsoft.PowerToys.Settings.UI.Converters" xmlns:labs="using:CommunityToolkit.Labs.WinUI"
xmlns:toolkitConverters="using:CommunityToolkit.WinUI.UI.Converters" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:ui="using:CommunityToolkit.WinUI.UI" xmlns:toolkitConverters="using:CommunityToolkit.WinUI.UI.Converters"
AutomationProperties.LandmarkType="Main"> xmlns:ui="using:CommunityToolkit.WinUI.UI"
AutomationProperties.LandmarkType="Main"
mc:Ignorable="d">
<Page.Resources> <Page.Resources>
<converters:NegativeBoolToVisibilityConverter <converters:NegativeBoolToVisibilityConverter x:Key="negativeBoolToVisibilityConverter" />
x:Key="negativeBoolToVisibilityConverter" />
<toolkitConverters:BoolToObjectConverter <toolkitConverters:BoolToObjectConverter
x:Key="OneRowMatrixBoolToNumberOfRowsConverter" TrueValue="4" x:Key="OneRowMatrixBoolToNumberOfRowsConverter"
FalseValue="2" /> FalseValue="2"
TrueValue="4" />
</Page.Resources> </Page.Resources>
<controls:SettingsPageControl x:Uid="MouseWithoutBorders" <controls:SettingsPageControl x:Uid="MouseWithoutBorders" ModuleImageSource="ms-appx:///Assets/Modules/MouseWithoutBorders.png">
ModuleImageSource="ms-appx:///Assets/Modules/MouseWithoutBorders.png">
<controls:SettingsPageControl.ModuleContent> <controls:SettingsPageControl.ModuleContent>
<StackPanel Orientation="Vertical"> <StackPanel Orientation="Vertical">
<controls:SettingsGroup <controls:SettingsGroup x:Uid="MouseWithoutBorders_ActivationSettings">
x:Uid="MouseWithoutBorders_ActivationSettings"> <labs:SettingsCard
<labs:SettingsCard x:Uid="MouseWithoutBorders_Toggle_Enable" x:Uid="MouseWithoutBorders_Toggle_Enable"
HeaderIcon="{ui:BitmapIcon Source=/Assets/FluentIcons/FluentIconsMouseWithoutBorders.png}" HeaderIcon="{ui:BitmapIcon Source=/Assets/FluentIcons/FluentIconsMouseWithoutBorders.png}"
IsEnabled="{x:Bind Mode=OneWay, Path=ViewModel.IsEnabledGpoConfigured, Converter={StaticResource BoolNegationConverter}}"> IsEnabled="{x:Bind Mode=OneWay, Path=ViewModel.IsEnabledGpoConfigured, Converter={StaticResource BoolNegationConverter}}">
<ToggleSwitch x:Uid="ToggleSwitch" <ToggleSwitch
IsEnabled="{x:Bind Mode=OneWay, Path=ViewModel.CanBeEnabled}" x:Uid="ToggleSwitch"
IsOn="{x:Bind Mode=TwoWay, Path=ViewModel.IsEnabled}" /> IsEnabled="{x:Bind Mode=OneWay, Path=ViewModel.CanBeEnabled}"
IsOn="{x:Bind Mode=TwoWay, Path=ViewModel.IsEnabled}" />
</labs:SettingsCard> </labs:SettingsCard>
<InfoBar x:Uid="GPO_IsSettingForced" IsClosable="False" <InfoBar
IsOpen="{x:Bind Mode=OneWay, Path=ViewModel.IsEnabledGpoConfigured}" x:Uid="GPO_IsSettingForced"
IsTabStop="{x:Bind Mode=OneWay, Path=ViewModel.IsEnabledGpoConfigured}" IsClosable="False"
Severity="Informational" /> IsOpen="{x:Bind Mode=OneWay, Path=ViewModel.IsEnabledGpoConfigured}"
IsTabStop="{x:Bind Mode=OneWay, Path=ViewModel.IsEnabledGpoConfigured}"
Severity="Informational" />
</controls:SettingsGroup> </controls:SettingsGroup>
<controls:SettingsGroup x:Uid="MouseWithoutBorders_KeySettings" <controls:SettingsGroup x:Uid="MouseWithoutBorders_KeySettings" IsEnabled="{x:Bind Mode=OneWay, Path=ViewModel.IsEnabled}">
IsEnabled="{x:Bind Mode=OneWay, Path=ViewModel.IsEnabled}">
<labs:SettingsExpander <labs:SettingsExpander
x:Uid="MouseWithoutBorders_SecurityKey" x:Name="MouseWithoutBorders_ConnectSettings"
x:Name="MouseWithoutBorders_ConnectSettings" x:Uid="MouseWithoutBorders_SecurityKey"
IsExpanded="{x:Bind Mode=TwoWay, Path=ViewModel.ConnectFieldsVisible}"> HeaderIcon="{ui:FontIcon FontFamily={StaticResource SymbolThemeFontFamily},
Glyph=&#xE8D7;}"
IsExpanded="{x:Bind Mode=TwoWay, Path=ViewModel.ConnectFieldsVisible}">
<labs:SettingsExpander.Items> <labs:SettingsExpander.Items>
<labs:SettingsCard ContentAlignment="Right"> <labs:SettingsCard ContentAlignment="Right">
<StackPanel Orientation="Horizontal" Spacing="4"> <StackPanel Orientation="Horizontal" Spacing="8">
<TextBox x:Name="ConnectSecurityKeyTextBox" <TextBox
Width="250" x:Name="ConnectSecurityKeyTextBox"
PlaceholderText="Security Key" /> Width="248"
<TextBox x:Name="ConnectPCNameTextBox" x:Uid="MWB_SecurityKeyLabel" />
Width="250" <TextBox
PlaceholderText="PC Name" /> x:Name="ConnectPCNameTextBox"
<Button x:Uid="MouseWithoutBorders_Connect" x:Uid="MWB_PCNameLabel"
Command="{x:Bind Mode=OneTime, Path=ConnectCommand}" Width="248" />
Style="{StaticResource AccentButtonStyle}" /> <Button
x:Uid="MouseWithoutBorders_Connect"
Command="{x:Bind Mode=OneTime, Path=ConnectCommand}"
Style="{StaticResource AccentButtonStyle}" />
</StackPanel> </StackPanel>
</labs:SettingsCard> </labs:SettingsCard>
</labs:SettingsExpander.Items> </labs:SettingsExpander.Items>
<StackPanel Orientation="Horizontal" Spacing="4"> <StackPanel Orientation="Horizontal" Spacing="8">
<TextBox IsReadOnly="True" <TextBox IsReadOnly="True" Text="{x:Bind Mode=TwoWay, Path=ViewModel.SecurityKey}" />
Text="{x:Bind Mode=TwoWay, Path=ViewModel.SecurityKey}" /> <Button
<Button x:Uid="MouseWithoutBorders_NewKey" x:Uid="MouseWithoutBorders_NewKey"
Command="{x:Bind Mode=OneTime, Path=GenerateNewKeyCommand}" Command="{x:Bind Mode=OneTime, Path=GenerateNewKeyCommand}"
Style="{StaticResource AccentButtonStyle}" /> Style="{StaticResource AccentButtonStyle}" />
<Button x:Uid="MouseWithoutBorders_Connect" <Button
Command="{x:Bind Mode=OneTime, Path=ShowConnectFieldsCommand}" x:Uid="MouseWithoutBorders_Connect"
Visibility="{x:Bind Path=ViewModel.ConnectFieldsVisible, Mode=OneWay, Converter={StaticResource negativeBoolToVisibilityConverter}}" Command="{x:Bind Mode=OneTime, Path=ShowConnectFieldsCommand}"
Style="{StaticResource AccentButtonStyle}" /> Style="{StaticResource AccentButtonStyle}"
Visibility="{x:Bind Path=ViewModel.ConnectFieldsVisible, Mode=OneWay, Converter={StaticResource negativeBoolToVisibilityConverter}}" />
</StackPanel> </StackPanel>
</labs:SettingsExpander> </labs:SettingsExpander>
</controls:SettingsGroup>
<controls:SettingsGroup <labs:SettingsCard x:Uid="MouseWithoutBorders_ThisMachineNameLabel">
x:Uid="MouseWithoutBorders_ThisMachineNameLabel" <StackPanel Orientation="Horizontal" Spacing="8">
IsEnabled="{x:Bind Mode=OneWay, Path=ViewModel.IsEnabled}">
<Button
Command="{x:Bind Mode=OneTime, Path=CopyPCNameCommand}"
Style="{StaticResource AccentButtonStyle}">
<ToolTipService.ToolTip>
<TextBlock <TextBlock
x:Uid="MouseWithoutBorders_CopyMachineName" /> VerticalAlignment="Center"
</ToolTipService.ToolTip> Foreground="{ThemeResource TextFillColorSecondaryBrush}"
<TextBlock IsTextSelectionEnabled="True"
Text="{x:Bind Mode=OneTime, Path=ViewModel.MachineHostName}" /> Text="{x:Bind Mode=OneTime, Path=ViewModel.MachineHostName}" />
</Button> <Button
Width="32"
Height="32"
Padding="4"
Command="{x:Bind Mode=OneTime, Path=CopyPCNameCommand}"
Content="&#xE8C8;"
FontFamily="{StaticResource SymbolThemeFontFamily}">
<ToolTipService.ToolTip>
<TextBlock x:Uid="MouseWithoutBorders_CopyMachineName" />
</ToolTipService.ToolTip>
</Button>
</StackPanel>
</labs:SettingsCard>
</controls:SettingsGroup> </controls:SettingsGroup>
<controls:SettingsGroup <controls:SettingsGroup x:Uid="MouseWithoutBorders_DeviceLayoutSettings" IsEnabled="{x:Bind Mode=OneWay, Path=ViewModel.IsEnabled}">
x:Uid="MouseWithoutBorders_DeviceLayoutSettings" <labs:SettingsCard
IsEnabled="{x:Bind Mode=OneWay, Path=ViewModel.IsEnabled}"> HorizontalContentAlignment="Stretch"
<InfoBar x:Uid="MouseWithoutBorders_CannotDragDropAsAdmin" Background="{ThemeResource CardBackgroundFillColorSecondaryBrush}"
IsClosable="True" ContentAlignment="Vertical">
IsOpen="{x:Bind Mode=OneWay, Path=ViewModel.IsElevated}" <StackPanel Orientation="Vertical" Spacing="8">
IsTabStop="True" Severity="Informational" /> <ItemsControl
<StackPanel Orientation="Vertical" x:Name="DevicesItemsControl"
HorizontalAlignment="Center"> HorizontalAlignment="Center"
<StackPanel HorizontalAlignment="Center" ItemsSource="{Binding MachineMatrixString, Mode=TwoWay}">
Orientation="Horizontal">
<ItemsControl x:Name="DevicesItemsControl"
ItemsSource="{Binding MachineMatrixString, Mode=TwoWay}">
<ItemsControl.ItemsPanel> <ItemsControl.ItemsPanel>
<ItemsPanelTemplate> <ItemsPanelTemplate>
<WrapGrid Orientation="Horizontal" <WrapGrid MaximumRowsOrColumns="{Binding MatrixOneRow, Mode=OneWay, Converter={StaticResource OneRowMatrixBoolToNumberOfRowsConverter}}" Orientation="Horizontal" />
MaximumRowsOrColumns="{Binding MatrixOneRow, Mode=OneWay, Converter={StaticResource OneRowMatrixBoolToNumberOfRowsConverter}}" />
</ItemsPanelTemplate> </ItemsPanelTemplate>
</ItemsControl.ItemsPanel> </ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate> <ItemsControl.ItemTemplate>
<DataTemplate> <DataTemplate>
<!--TODO: colors?--> <!-- TODO: colors? -->
<!--BorderBrush="#DFDFDF" <!--
Background="#d4d4d4"--> BorderBrush="#DFDFDF"
<!-- Dragging while elevated crashes on WinUI3: https://github.com/microsoft/microsoft-ui-xaml/issues/7690 --> Background="#d4d4d4"
-->
<!-- Dragging while elevated crashes on WinUI3: https://github.com/microsoft/microsoft-ui-xaml/issues/7690 -->
<Border <Border
BorderBrush="{Binding Item.StatusBrush}" Width="136"
Background="{ThemeResource SubtleButtonBackgroundDisabled}" Height="90"
Width="90" Height="90" Margin="4"
BorderThickness="2" Margin="3" AllowDrop="{Binding Mode=OneWay, Path=Item.CanDragDrop}"
CanDrag="{Binding Mode=OneWay, Path=Item.CanDragDrop}" Background="{ThemeResource SolidBackgroundFillColorBaseAltBrush}"
AllowDrop="{Binding Mode=OneWay, Path=Item.CanDragDrop}" BorderBrush="{Binding Item.StatusBrush}"
CornerRadius="4" CanDrag="{Binding Mode=OneWay, Path=Item.CanDragDrop}"
DragStarting="Device_DragStarting" CornerRadius="4"
DragOver="Device_DragOver" DataContext="{Binding}"
DataContext="{Binding}" DragOver="Device_DragOver"
ToolTipService.ToolTip="{Binding Item.Name, Mode=OneWay}" DragStarting="Device_DragStarting"
Drop="Device_Drop"> Drop="Device_Drop"
<StackPanel ToolTipService.ToolTip="{Binding Item.Name, Mode=OneWay}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<FontIcon
Margin="0,12,0,0"
VerticalAlignment="Center" VerticalAlignment="Center"
Orientation="Vertical" FontSize="32"
Opacity="0.5"> Glyph="&#xE7F8;" />
<FontIcon FontSize="39" <TextBlock
Width="50" Height="50" Grid.Row="1"
FontFamily="Segoe MDL2 Assets" Margin="12"
Glyph="&#xE7F4;" /> HorizontalAlignment="Center"
<TextBlock Tag="DeviceName" Style="{StaticResource CaptionTextBlockStyle}"
HorizontalAlignment="Center" Tag="DeviceName"
Text="{Binding Item.Name}" /> Text="{Binding Item.Name}" />
</StackPanel> </Grid>
</Border> </Border>
</DataTemplate> </DataTemplate>
</ItemsControl.ItemTemplate> </ItemsControl.ItemTemplate>
</ItemsControl> </ItemsControl>
<Button HorizontalAlignment="Right" Command="{x:Bind Mode=OneTime, Path=ReconnectCommand}">
<ToolTipService.ToolTip>
<TextBlock x:Uid="MouseWithoutBorders_ReconnectTooltip" />
</ToolTipService.ToolTip>
<TextBlock x:Uid="MouseWithoutBorders_ReconnectButton" />
</Button>
</StackPanel> </StackPanel>
<Button </labs:SettingsCard>
HorizontalAlignment="Center"
Command="{x:Bind Mode=OneTime, Path=ReconnectCommand}" <InfoBar
Style="{StaticResource AccentButtonStyle}"> x:Uid="MouseWithoutBorders_CannotDragDropAsAdmin"
<ToolTipService.ToolTip> IsClosable="True"
<TextBlock IsOpen="{x:Bind Mode=OneWay, Path=ViewModel.IsElevated}"
x:Uid="MouseWithoutBorders_ReconnectTooltip" /> IsTabStop="True"
</ToolTipService.ToolTip> Severity="Informational" />
<TextBlock
x:Uid="MouseWithoutBorders_ReconnectButton" />
</Button>
</StackPanel>
<labs:SettingsCard x:Uid="MouseWithoutBorders_MatrixOneRow"> <labs:SettingsCard x:Uid="MouseWithoutBorders_MatrixOneRow">
<ToggleSwitch <ToggleSwitch x:Uid="MouseWithoutBorders_MatrixOneRow_ToggleSwitch" IsOn="{x:Bind ViewModel.MatrixOneRow, Mode=TwoWay}" />
x:Uid="MouseWithoutBorders_MatrixOneRow_ToggleSwitch"
IsOn="{x:Bind ViewModel.MatrixOneRow, Mode=TwoWay}" />
</labs:SettingsCard> </labs:SettingsCard>
</controls:SettingsGroup> </controls:SettingsGroup>
<controls:SettingsGroup <controls:SettingsGroup x:Uid="MouseWithoutBorders_ServiceSettings" IsEnabled="{x:Bind Mode=OneWay, Path=ViewModel.CanToggleUseService}">
x:Uid="MouseWithoutBorders_ServiceSettings"
IsEnabled="{x:Bind Mode=OneWay, Path=ViewModel.CanToggleUseService}">
<labs:SettingsCard x:Uid="MouseWithoutBorders_UseService"> <labs:SettingsCard x:Uid="MouseWithoutBorders_UseService">
<ToggleSwitch <ToggleSwitch
x:Uid="MouseWithoutBorders_UseService_ToggleSwitch" x:Uid="MouseWithoutBorders_UseService_ToggleSwitch"
IsEnabled="{x:Bind Mode=OneWay, Path=ViewModel.IsEnabled}" IsEnabled="{x:Bind Mode=OneWay, Path=ViewModel.IsEnabled}"
IsOn="{x:Bind ViewModel.UseService, Mode=TwoWay}" /> IsOn="{x:Bind ViewModel.UseService, Mode=TwoWay}" />
</labs:SettingsCard> </labs:SettingsCard>
<InfoBar x:Uid="MouseWithoutBorders_RunAsAdminText"
IsClosable="False"
IsOpen="{x:Bind Mode=OneWay, Path=ViewModel.CanToggleUseService, Converter={StaticResource BoolNegationConverter}}"
IsTabStop="True" Severity="Informational" />
<InfoBar <InfoBar
x:Uid="MouseWithoutBorders_ServiceUserUninstallWarning" x:Uid="MouseWithoutBorders_RunAsAdminText"
IsOpen="True" IsClosable="True" IsTabStop="True" IsClosable="False"
Severity="Warning" /> IsOpen="{x:Bind Mode=OneWay, Path=ViewModel.CanToggleUseService, Converter={StaticResource BoolNegationConverter}}"
IsTabStop="True"
Severity="Informational" />
<InfoBar
x:Uid="MouseWithoutBorders_ServiceUserUninstallWarning"
IsClosable="True"
IsOpen="True"
IsTabStop="True"
Severity="Warning" />
<labs:SettingsCard <labs:SettingsCard
x:Uid="MouseWithoutBorders_UninstallService" ActionIcon="{ui:FontIcon FontFamily={StaticResource SymbolThemeFontFamily}, x:Uid="MouseWithoutBorders_UninstallService"
FontSize=14, ActionIcon="{ui:FontIcon FontFamily={StaticResource SymbolThemeFontFamily},
Glyph=&#xE8A7;}" Glyph=&#xE8A7;}"
Command="{x:Bind ViewModel.UninstallServiceEventHandler}" Command="{x:Bind ViewModel.UninstallServiceEventHandler}"
IsClickEnabled="{x:Bind Mode=OneWay, Path=ViewModel.CanUninstallService}" /> IsClickEnabled="{x:Bind Mode=OneWay, Path=ViewModel.CanUninstallService}" />
</controls:SettingsGroup> </controls:SettingsGroup>
<controls:SettingsGroup x:Uid="MouseWithoutBorders_Settings" <controls:SettingsGroup x:Uid="MouseWithoutBorders_Settings" IsEnabled="{x:Bind Mode=OneWay, Path=ViewModel.IsEnabled}">
IsEnabled="{x:Bind Mode=OneWay, Path=ViewModel.IsEnabled}">
<labs:SettingsCard x:Uid="MouseWithoutBorders_WrapMouse"> <labs:SettingsCard x:Uid="MouseWithoutBorders_WrapMouse">
<ToggleSwitch <ToggleSwitch x:Uid="MouseWithoutBorders_WrapMouse_ToggleSwitch" IsOn="{x:Bind ViewModel.WrapMouse, Mode=TwoWay}" />
x:Uid="MouseWithoutBorders_WrapMouse_ToggleSwitch"
IsOn="{x:Bind ViewModel.WrapMouse, Mode=TwoWay}" />
</labs:SettingsCard> </labs:SettingsCard>
<labs:SettingsCard <labs:SettingsCard x:Uid="MouseWithoutBorders_ShareClipboard">
x:Uid="MouseWithoutBorders_ShareClipboard"> <ToggleSwitch x:Uid="MouseWithoutBorders_ShareClipboard_ToggleSwitch" IsOn="{x:Bind ViewModel.ShareClipboard, Mode=TwoWay}" />
<ToggleSwitch
x:Uid="MouseWithoutBorders_ShareClipboard_ToggleSwitch"
IsOn="{x:Bind ViewModel.ShareClipboard, Mode=TwoWay}" />
</labs:SettingsCard> </labs:SettingsCard>
<labs:SettingsCard x:Uid="MouseWithoutBorders_TransferFile"> <labs:SettingsCard x:Uid="MouseWithoutBorders_TransferFile">
<ToggleSwitch <ToggleSwitch x:Uid="MouseWithoutBorders_TransferFile_ToggleSwitch" IsOn="{x:Bind ViewModel.TransferFile, Mode=TwoWay}" />
x:Uid="MouseWithoutBorders_TransferFile_ToggleSwitch"
IsOn="{x:Bind ViewModel.TransferFile, Mode=TwoWay}" />
</labs:SettingsCard> </labs:SettingsCard>
<labs:SettingsCard <labs:SettingsCard x:Uid="MouseWithoutBorders_HideMouseAtScreenEdge">
x:Uid="MouseWithoutBorders_HideMouseAtScreenEdge"> <ToggleSwitch x:Uid="MouseWithoutBorders_HideMouseAtScreenEdge_ToggleSwitch" IsOn="{x:Bind ViewModel.HideMouseAtScreenEdge, Mode=TwoWay}" />
<ToggleSwitch
x:Uid="MouseWithoutBorders_HideMouseAtScreenEdge_ToggleSwitch"
IsOn="{x:Bind ViewModel.HideMouseAtScreenEdge, Mode=TwoWay}" />
</labs:SettingsCard> </labs:SettingsCard>
<labs:SettingsCard <labs:SettingsCard x:Uid="MouseWithoutBorders_DrawMouseCursor">
x:Uid="MouseWithoutBorders_DrawMouseCursor"> <ToggleSwitch x:Uid="MouseWithoutBorders_DrawMouseCursor_ToggleSwitch" IsOn="{x:Bind ViewModel.DrawMouseCursor, Mode=TwoWay}" />
<ToggleSwitch
x:Uid="MouseWithoutBorders_DrawMouseCursor_ToggleSwitch"
IsOn="{x:Bind ViewModel.DrawMouseCursor, Mode=TwoWay}" />
</labs:SettingsCard> </labs:SettingsCard>
<labs:SettingsCard <labs:SettingsCard x:Uid="MouseWithoutBorders_ValidateRemoteMachineIP">
x:Uid="MouseWithoutBorders_ValidateRemoteMachineIP"> <ToggleSwitch x:Uid="MouseWithoutBorders_ValidateRemoteMachineIP_ToggleSwitch" IsOn="{x:Bind ViewModel.ValidateRemoteMachineIP, Mode=TwoWay}" />
<ToggleSwitch
x:Uid="MouseWithoutBorders_ValidateRemoteMachineIP_ToggleSwitch"
IsOn="{x:Bind ViewModel.ValidateRemoteMachineIP, Mode=TwoWay}" />
</labs:SettingsCard> </labs:SettingsCard>
<labs:SettingsCard <labs:SettingsCard x:Uid="MouseWithoutBorders_SameSubnetOnly">
x:Uid="MouseWithoutBorders_SameSubnetOnly"> <ToggleSwitch x:Uid="MouseWithoutBorders_SameSubnetOnly_ToggleSwitch" IsOn="{x:Bind ViewModel.SameSubnetOnly, Mode=TwoWay}" />
<ToggleSwitch
x:Uid="MouseWithoutBorders_SameSubnetOnly_ToggleSwitch"
IsOn="{x:Bind ViewModel.SameSubnetOnly, Mode=TwoWay}" />
</labs:SettingsCard> </labs:SettingsCard>
<labs:SettingsCard <labs:SettingsCard x:Uid="MouseWithoutBorders_BlockScreenSaverOnOtherMachines">
x:Uid="MouseWithoutBorders_BlockScreenSaverOnOtherMachines"> <ToggleSwitch x:Uid="MouseWithoutBorders_BlockScreenSaverOnOtherMachines_ToggleSwitch" IsOn="{x:Bind ViewModel.BlockScreenSaverOnOtherMachines, Mode=TwoWay}" />
<ToggleSwitch
x:Uid="MouseWithoutBorders_BlockScreenSaverOnOtherMachines_ToggleSwitch"
IsOn="{x:Bind ViewModel.BlockScreenSaverOnOtherMachines, Mode=TwoWay}" />
</labs:SettingsCard> </labs:SettingsCard>
<labs:SettingsCard <labs:SettingsCard x:Uid="MouseWithoutBorders_MoveMouseRelatively">
x:Uid="MouseWithoutBorders_MoveMouseRelatively"> <ToggleSwitch x:Uid="MouseWithoutBorders_MoveMouseRelatively_ToggleSwitch" IsOn="{x:Bind ViewModel.MoveMouseRelatively, Mode=TwoWay}" />
<ToggleSwitch
x:Uid="MouseWithoutBorders_MoveMouseRelatively_ToggleSwitch"
IsOn="{x:Bind ViewModel.MoveMouseRelatively, Mode=TwoWay}" />
</labs:SettingsCard> </labs:SettingsCard>
<labs:SettingsCard <labs:SettingsCard x:Uid="MouseWithoutBorders_BlockMouseAtScreenCorners">
x:Uid="MouseWithoutBorders_BlockMouseAtScreenCorners"> <ToggleSwitch x:Uid="MouseWithoutBorders_BlockMouseAtScreenCorners_ToggleSwitch" IsOn="{x:Bind ViewModel.BlockMouseAtScreenCorners, Mode=TwoWay}" />
<ToggleSwitch
x:Uid="MouseWithoutBorders_BlockMouseAtScreenCorners_ToggleSwitch"
IsOn="{x:Bind ViewModel.BlockMouseAtScreenCorners, Mode=TwoWay}" />
</labs:SettingsCard> </labs:SettingsCard>
<labs:SettingsCard <labs:SettingsCard x:Uid="MouseWithoutBorders_ShowClipboardAndNetworkStatusMessages">
x:Uid="MouseWithoutBorders_ShowClipboardAndNetworkStatusMessages"> <ToggleSwitch x:Uid="MouseWithoutBorders_ShowClipboardAndNetworkStatusMessages_ToggleSwitch" IsOn="{x:Bind ViewModel.ShowClipboardAndNetworkStatusMessages, Mode=TwoWay}" />
<ToggleSwitch
x:Uid="MouseWithoutBorders_ShowClipboardAndNetworkStatusMessages_ToggleSwitch"
IsOn="{x:Bind ViewModel.ShowClipboardAndNetworkStatusMessages, Mode=TwoWay}" />
</labs:SettingsCard> </labs:SettingsCard>
</controls:SettingsGroup> </controls:SettingsGroup>
<controls:SettingsGroup x:Uid="MouseWithoutBorders_KeyboardShortcuts_Group" <controls:SettingsGroup x:Uid="MouseWithoutBorders_KeyboardShortcuts_Group" IsEnabled="{x:Bind Mode=OneWay, Path=ViewModel.IsEnabled}">
IsEnabled="{x:Bind Mode=OneWay, Path=ViewModel.IsEnabled}">
<labs:SettingsCard x:Uid="MouseWithoutBorders_EasyMouseOption"> <labs:SettingsCard x:Uid="MouseWithoutBorders_EasyMouseOption">
<ComboBox <ComboBox MinWidth="{StaticResource SettingActionControlMinWidth}" SelectedIndex="{x:Bind Path=ViewModel.EasyMouseOptionIndex, Mode=TwoWay}">
MinWidth="{StaticResource SettingActionControlMinWidth}" <ComboBoxItem x:Uid="MouseWithoutBorders_EasyMouseOption_Disabled" />
SelectedIndex="{x:Bind Path=ViewModel.EasyMouseOptionIndex, Mode=TwoWay}"> <ComboBoxItem x:Uid="MouseWithoutBorders_EasyMouseOption_Enabled" />
<ComboBoxItem x:Uid="MouseWithoutBorders_EasyMouseOption_Disabled" /> <ComboBoxItem x:Uid="MouseWithoutBorders_EasyMouseOption_Ctrl" />
<ComboBoxItem x:Uid="MouseWithoutBorders_EasyMouseOption_Enabled" /> <ComboBoxItem x:Uid="MouseWithoutBorders_EasyMouseOption_Shift" />
<ComboBoxItem x:Uid="MouseWithoutBorders_EasyMouseOption_Ctrl" />
<ComboBoxItem x:Uid="MouseWithoutBorders_EasyMouseOption_Shift" />
</ComboBox> </ComboBox>
</labs:SettingsCard> </labs:SettingsCard>
<labs:SettingsCard x:Uid="MouseWithoutBorders_ToggleEasyMouseShortcut"> <labs:SettingsCard x:Uid="MouseWithoutBorders_ToggleEasyMouseShortcut">
<ComboBox <ComboBox MinWidth="{StaticResource SettingActionControlMinWidth}" SelectedIndex="{x:Bind Path=ViewModel.ToggleEasyMouseShortcutIndex, Mode=TwoWay}">
MinWidth="{StaticResource SettingActionControlMinWidth}" <ComboBoxItem x:Uid="MouseWithoutBorders_ToggleEasyMouseShortcut_Disabled" />
SelectedIndex="{x:Bind Path=ViewModel.ToggleEasyMouseShortcutIndex, Mode=TwoWay}" <ComboBoxItem>A</ComboBoxItem>
> <ComboBoxItem>B</ComboBoxItem>
<ComboBoxItem x:Uid="MouseWithoutBorders_ToggleEasyMouseShortcut_Disabled" /> <ComboBoxItem>C</ComboBoxItem>
<ComboBoxItem>A</ComboBoxItem> <ComboBoxItem>D</ComboBoxItem>
<ComboBoxItem>B</ComboBoxItem> <ComboBoxItem>E</ComboBoxItem>
<ComboBoxItem>C</ComboBoxItem> <ComboBoxItem>F</ComboBoxItem>
<ComboBoxItem>D</ComboBoxItem> <ComboBoxItem>G</ComboBoxItem>
<ComboBoxItem>E</ComboBoxItem> <ComboBoxItem>H</ComboBoxItem>
<ComboBoxItem>F</ComboBoxItem> <ComboBoxItem>I</ComboBoxItem>
<ComboBoxItem>G</ComboBoxItem> <ComboBoxItem>J</ComboBoxItem>
<ComboBoxItem>H</ComboBoxItem> <ComboBoxItem>K</ComboBoxItem>
<ComboBoxItem>I</ComboBoxItem> <ComboBoxItem>L</ComboBoxItem>
<ComboBoxItem>J</ComboBoxItem> <ComboBoxItem>M</ComboBoxItem>
<ComboBoxItem>K</ComboBoxItem> <ComboBoxItem>N</ComboBoxItem>
<ComboBoxItem>L</ComboBoxItem> <ComboBoxItem>O</ComboBoxItem>
<ComboBoxItem>M</ComboBoxItem> <ComboBoxItem>P</ComboBoxItem>
<ComboBoxItem>N</ComboBoxItem> <ComboBoxItem>Q</ComboBoxItem>
<ComboBoxItem>O</ComboBoxItem> <ComboBoxItem>R</ComboBoxItem>
<ComboBoxItem>P</ComboBoxItem> <ComboBoxItem>S</ComboBoxItem>
<ComboBoxItem>Q</ComboBoxItem> <ComboBoxItem>T</ComboBoxItem>
<ComboBoxItem>R</ComboBoxItem> <ComboBoxItem>U</ComboBoxItem>
<ComboBoxItem>S</ComboBoxItem> <ComboBoxItem>V</ComboBoxItem>
<ComboBoxItem>T</ComboBoxItem> <ComboBoxItem>W</ComboBoxItem>
<ComboBoxItem>U</ComboBoxItem> <ComboBoxItem>X</ComboBoxItem>
<ComboBoxItem>V</ComboBoxItem> <ComboBoxItem>Y</ComboBoxItem>
<ComboBoxItem>W</ComboBoxItem> <ComboBoxItem>Z</ComboBoxItem>
<ComboBoxItem>X</ComboBoxItem>
<ComboBoxItem>Y</ComboBoxItem>
<ComboBoxItem>Z</ComboBoxItem>
</ComboBox> </ComboBox>
</labs:SettingsCard> </labs:SettingsCard>
<labs:SettingsCard x:Uid="MouseWithoutBorders_LockMachinesShortcut"> <labs:SettingsCard x:Uid="MouseWithoutBorders_LockMachinesShortcut">
<ComboBox <ComboBox MinWidth="{StaticResource SettingActionControlMinWidth}" SelectedIndex="{x:Bind Path=ViewModel.LockMachinesShortcutIndex, Mode=TwoWay}">
MinWidth="{StaticResource SettingActionControlMinWidth}" <ComboBoxItem x:Uid="MouseWithoutBorders_LockMachinesShortcut_Disabled" />
SelectedIndex="{x:Bind Path=ViewModel.LockMachinesShortcutIndex, Mode=TwoWay}" <ComboBoxItem>A</ComboBoxItem>
> <ComboBoxItem>B</ComboBoxItem>
<ComboBoxItem x:Uid="MouseWithoutBorders_LockMachinesShortcut_Disabled" /> <ComboBoxItem>C</ComboBoxItem>
<ComboBoxItem>A</ComboBoxItem> <ComboBoxItem>D</ComboBoxItem>
<ComboBoxItem>B</ComboBoxItem> <ComboBoxItem>E</ComboBoxItem>
<ComboBoxItem>C</ComboBoxItem> <ComboBoxItem>F</ComboBoxItem>
<ComboBoxItem>D</ComboBoxItem> <ComboBoxItem>G</ComboBoxItem>
<ComboBoxItem>E</ComboBoxItem> <ComboBoxItem>H</ComboBoxItem>
<ComboBoxItem>F</ComboBoxItem> <ComboBoxItem>I</ComboBoxItem>
<ComboBoxItem>G</ComboBoxItem> <ComboBoxItem>J</ComboBoxItem>
<ComboBoxItem>H</ComboBoxItem> <ComboBoxItem>K</ComboBoxItem>
<ComboBoxItem>I</ComboBoxItem> <ComboBoxItem>L</ComboBoxItem>
<ComboBoxItem>J</ComboBoxItem> <ComboBoxItem>M</ComboBoxItem>
<ComboBoxItem>K</ComboBoxItem> <ComboBoxItem>N</ComboBoxItem>
<ComboBoxItem>L</ComboBoxItem> <ComboBoxItem>O</ComboBoxItem>
<ComboBoxItem>M</ComboBoxItem> <ComboBoxItem>P</ComboBoxItem>
<ComboBoxItem>N</ComboBoxItem> <ComboBoxItem>Q</ComboBoxItem>
<ComboBoxItem>O</ComboBoxItem> <ComboBoxItem>R</ComboBoxItem>
<ComboBoxItem>P</ComboBoxItem> <ComboBoxItem>S</ComboBoxItem>
<ComboBoxItem>Q</ComboBoxItem> <ComboBoxItem>T</ComboBoxItem>
<ComboBoxItem>R</ComboBoxItem> <ComboBoxItem>U</ComboBoxItem>
<ComboBoxItem>S</ComboBoxItem> <ComboBoxItem>V</ComboBoxItem>
<ComboBoxItem>T</ComboBoxItem> <ComboBoxItem>W</ComboBoxItem>
<ComboBoxItem>U</ComboBoxItem> <ComboBoxItem>X</ComboBoxItem>
<ComboBoxItem>V</ComboBoxItem> <ComboBoxItem>Y</ComboBoxItem>
<ComboBoxItem>W</ComboBoxItem> <ComboBoxItem>Z</ComboBoxItem>
<ComboBoxItem>X</ComboBoxItem>
<ComboBoxItem>Y</ComboBoxItem>
<ComboBoxItem>Z</ComboBoxItem>
</ComboBox> </ComboBox>
</labs:SettingsCard> </labs:SettingsCard>
<labs:SettingsCard x:Uid="MouseWithoutBorders_ReconnectShortcut"> <labs:SettingsCard x:Uid="MouseWithoutBorders_ReconnectShortcut">
<ComboBox <ComboBox MinWidth="{StaticResource SettingActionControlMinWidth}" SelectedIndex="{x:Bind Path=ViewModel.ReconnectShortcutIndex, Mode=TwoWay}">
MinWidth="{StaticResource SettingActionControlMinWidth}" <ComboBoxItem x:Uid="MouseWithoutBorders_ReconnectShortcut_Disabled" />
SelectedIndex="{x:Bind Path=ViewModel.ReconnectShortcutIndex, Mode=TwoWay}" <ComboBoxItem>A</ComboBoxItem>
> <ComboBoxItem>B</ComboBoxItem>
<ComboBoxItem x:Uid="MouseWithoutBorders_ReconnectShortcut_Disabled" /> <ComboBoxItem>C</ComboBoxItem>
<ComboBoxItem>A</ComboBoxItem> <ComboBoxItem>D</ComboBoxItem>
<ComboBoxItem>B</ComboBoxItem> <ComboBoxItem>E</ComboBoxItem>
<ComboBoxItem>C</ComboBoxItem> <ComboBoxItem>F</ComboBoxItem>
<ComboBoxItem>D</ComboBoxItem> <ComboBoxItem>G</ComboBoxItem>
<ComboBoxItem>E</ComboBoxItem> <ComboBoxItem>H</ComboBoxItem>
<ComboBoxItem>F</ComboBoxItem> <ComboBoxItem>I</ComboBoxItem>
<ComboBoxItem>G</ComboBoxItem> <ComboBoxItem>J</ComboBoxItem>
<ComboBoxItem>H</ComboBoxItem> <ComboBoxItem>K</ComboBoxItem>
<ComboBoxItem>I</ComboBoxItem> <ComboBoxItem>L</ComboBoxItem>
<ComboBoxItem>J</ComboBoxItem> <ComboBoxItem>M</ComboBoxItem>
<ComboBoxItem>K</ComboBoxItem> <ComboBoxItem>N</ComboBoxItem>
<ComboBoxItem>L</ComboBoxItem> <ComboBoxItem>O</ComboBoxItem>
<ComboBoxItem>M</ComboBoxItem> <ComboBoxItem>P</ComboBoxItem>
<ComboBoxItem>N</ComboBoxItem> <ComboBoxItem>Q</ComboBoxItem>
<ComboBoxItem>O</ComboBoxItem> <ComboBoxItem>R</ComboBoxItem>
<ComboBoxItem>P</ComboBoxItem> <ComboBoxItem>S</ComboBoxItem>
<ComboBoxItem>Q</ComboBoxItem> <ComboBoxItem>T</ComboBoxItem>
<ComboBoxItem>R</ComboBoxItem> <ComboBoxItem>U</ComboBoxItem>
<ComboBoxItem>S</ComboBoxItem> <ComboBoxItem>V</ComboBoxItem>
<ComboBoxItem>T</ComboBoxItem> <ComboBoxItem>W</ComboBoxItem>
<ComboBoxItem>U</ComboBoxItem> <ComboBoxItem>X</ComboBoxItem>
<ComboBoxItem>V</ComboBoxItem> <ComboBoxItem>Y</ComboBoxItem>
<ComboBoxItem>W</ComboBoxItem> <ComboBoxItem>Z</ComboBoxItem>
<ComboBoxItem>X</ComboBoxItem>
<ComboBoxItem>Y</ComboBoxItem>
<ComboBoxItem>Z</ComboBoxItem>
</ComboBox> </ComboBox>
</labs:SettingsCard> </labs:SettingsCard>
<labs:SettingsCard x:Uid="MouseWithoutBorders_Switch2AllPcShortcut"> <labs:SettingsCard x:Uid="MouseWithoutBorders_Switch2AllPcShortcut">
<ComboBox <ComboBox MinWidth="{StaticResource SettingActionControlMinWidth}" SelectedIndex="{x:Bind Path=ViewModel.Switch2AllPcShortcutIndex, Mode=TwoWay}">
MinWidth="{StaticResource SettingActionControlMinWidth}" <ComboBoxItem x:Uid="MouseWithoutBorders_Switch2AllPcShortcut_Disabled" />
SelectedIndex="{x:Bind Path=ViewModel.Switch2AllPcShortcutIndex, Mode=TwoWay}" <ComboBoxItem x:Uid="MouseWithoutBorders_Switch2AllPcShortcut_Ctrl3" />
> <ComboBoxItem>A</ComboBoxItem>
<ComboBoxItem x:Uid="MouseWithoutBorders_Switch2AllPcShortcut_Disabled" /> <ComboBoxItem>B</ComboBoxItem>
<ComboBoxItem x:Uid="MouseWithoutBorders_Switch2AllPcShortcut_Ctrl3" /> <ComboBoxItem>C</ComboBoxItem>
<ComboBoxItem>A</ComboBoxItem> <ComboBoxItem>D</ComboBoxItem>
<ComboBoxItem>B</ComboBoxItem> <ComboBoxItem>E</ComboBoxItem>
<ComboBoxItem>C</ComboBoxItem> <ComboBoxItem>F</ComboBoxItem>
<ComboBoxItem>D</ComboBoxItem> <ComboBoxItem>G</ComboBoxItem>
<ComboBoxItem>E</ComboBoxItem> <ComboBoxItem>H</ComboBoxItem>
<ComboBoxItem>F</ComboBoxItem> <ComboBoxItem>I</ComboBoxItem>
<ComboBoxItem>G</ComboBoxItem> <ComboBoxItem>J</ComboBoxItem>
<ComboBoxItem>H</ComboBoxItem> <ComboBoxItem>K</ComboBoxItem>
<ComboBoxItem>I</ComboBoxItem> <ComboBoxItem>L</ComboBoxItem>
<ComboBoxItem>J</ComboBoxItem> <ComboBoxItem>M</ComboBoxItem>
<ComboBoxItem>K</ComboBoxItem> <ComboBoxItem>N</ComboBoxItem>
<ComboBoxItem>L</ComboBoxItem> <ComboBoxItem>O</ComboBoxItem>
<ComboBoxItem>M</ComboBoxItem> <ComboBoxItem>P</ComboBoxItem>
<ComboBoxItem>N</ComboBoxItem> <ComboBoxItem>Q</ComboBoxItem>
<ComboBoxItem>O</ComboBoxItem> <ComboBoxItem>R</ComboBoxItem>
<ComboBoxItem>P</ComboBoxItem> <ComboBoxItem>S</ComboBoxItem>
<ComboBoxItem>Q</ComboBoxItem> <ComboBoxItem>T</ComboBoxItem>
<ComboBoxItem>R</ComboBoxItem> <ComboBoxItem>U</ComboBoxItem>
<ComboBoxItem>S</ComboBoxItem> <ComboBoxItem>V</ComboBoxItem>
<ComboBoxItem>T</ComboBoxItem> <ComboBoxItem>W</ComboBoxItem>
<ComboBoxItem>U</ComboBoxItem> <ComboBoxItem>X</ComboBoxItem>
<ComboBoxItem>V</ComboBoxItem> <ComboBoxItem>Y</ComboBoxItem>
<ComboBoxItem>W</ComboBoxItem> <ComboBoxItem>Z</ComboBoxItem>
<ComboBoxItem>X</ComboBoxItem>
<ComboBoxItem>Y</ComboBoxItem>
<ComboBoxItem>Z</ComboBoxItem>
</ComboBox> </ComboBox>
</labs:SettingsCard> </labs:SettingsCard>
<labs:SettingsCard <labs:SettingsCard x:Uid="MouseWithoutBorders_SwitchBetweenMachineShortcut" HeaderIcon="{ui:FontIcon FontFamily={StaticResource SymbolThemeFontFamily}, Glyph=&#xE92E;}">
x:Uid="MouseWithoutBorders_SwitchBetweenMachineShortcut" <ComboBox MinWidth="{StaticResource SettingActionControlMinWidth}" SelectedIndex="{x:Bind Path=ViewModel.SelectedSwitchBetweenMachineShortcutOptionsIndex, Mode=TwoWay}">
HeaderIcon="{ui:FontIcon FontFamily={StaticResource SymbolThemeFontFamily},
Glyph=&#xE92E;}">
<ComboBox
MinWidth="{StaticResource SettingActionControlMinWidth}"
SelectedIndex="{x:Bind Path=ViewModel.SelectedSwitchBetweenMachineShortcutOptionsIndex, Mode=TwoWay}">
<!-- These should be in the same order as the array items in MouseWithoutBordersViewModel.cs --> <!-- These should be in the same order as the array items in MouseWithoutBordersViewModel.cs -->
<ComboBoxItem x:Uid="MouseWithoutBorders_SwitchBetweenMachineShortcut_F1" /> <ComboBoxItem x:Uid="MouseWithoutBorders_SwitchBetweenMachineShortcut_F1" />
<ComboBoxItem x:Uid="MouseWithoutBorders_SwitchBetweenMachineShortcut_1"/> <ComboBoxItem x:Uid="MouseWithoutBorders_SwitchBetweenMachineShortcut_1" />
<ComboBoxItem x:Uid="MouseWithoutBorders_SwitchBetweenMachineShortcut_Disabled" /> <ComboBoxItem x:Uid="MouseWithoutBorders_SwitchBetweenMachineShortcut_Disabled" />
</ComboBox> </ComboBox>
</labs:SettingsCard> </labs:SettingsCard>
</controls:SettingsGroup> </controls:SettingsGroup>
<controls:SettingsGroup <controls:SettingsGroup x:Uid="MouseWithoutBorders_TroubleShooting" IsEnabled="{x:Bind Mode=OneWay, Path=ViewModel.IsEnabled}">
x:Uid="MouseWithoutBorders_TroubleShooting"
IsEnabled="{x:Bind Mode=OneWay, Path=ViewModel.IsEnabled}">
<labs:SettingsCard <labs:SettingsCard
x:Uid="MouseWithoutBorders_AddFirewallRuleButtonControl" ActionIcon="{ui:FontIcon FontFamily={StaticResource SymbolThemeFontFamily}, x:Uid="MouseWithoutBorders_AddFirewallRuleButtonControl"
FontSize=14, ActionIcon="{ui:FontIcon FontFamily={StaticResource SymbolThemeFontFamily},
Glyph=&#xE8A7;}" Glyph=&#xE8A7;}"
Command="{x:Bind ViewModel.AddFirewallRuleEventHandler}" Command="{x:Bind ViewModel.AddFirewallRuleEventHandler}"
IsClickEnabled="True" /> IsClickEnabled="True" />
<labs:SettingsCard <labs:SettingsCard x:Uid="MouseWithoutBorders_ShowOriginalUI">
x:Uid="MouseWithoutBorders_ShowOriginalUI">
<ToggleSwitch <ToggleSwitch
x:Uid="MouseWithoutBorders_ShowOriginalUI_ToggleSwitch" x:Uid="MouseWithoutBorders_ShowOriginalUI_ToggleSwitch"
IsEnabled="{x:Bind Mode=OneWay, Path=ViewModel.IsEnabled}" IsEnabled="{x:Bind Mode=OneWay, Path=ViewModel.IsEnabled}"
IsOn="{x:Bind ViewModel.ShowOriginalUI, Mode=TwoWay}" /> IsOn="{x:Bind ViewModel.ShowOriginalUI, Mode=TwoWay}" />
</labs:SettingsCard> </labs:SettingsCard>
</controls:SettingsGroup> </controls:SettingsGroup>
</StackPanel> </StackPanel>
</controls:SettingsPageControl.ModuleContent> </controls:SettingsPageControl.ModuleContent>
<controls:SettingsPageControl.PrimaryLinks> <controls:SettingsPageControl.PrimaryLinks>
<controls:PageLink x:Uid="LearnMore_MouseWithoutBorders" <controls:PageLink x:Uid="LearnMore_MouseWithoutBorders" Link="https://aka.ms/PowerToysOverview_MouseWithoutBorders" />
Link="https://aka.ms/PowerToysOverview_MouseWithoutBorders" />
</controls:SettingsPageControl.PrimaryLinks> </controls:SettingsPageControl.PrimaryLinks>
<controls:SettingsPageControl.SecondaryLinks> <controls:SettingsPageControl.SecondaryLinks>
<controls:PageLink Text="Mouse without Borders" <controls:PageLink Link="http://aka.ms/mm" Text="Mouse without Borders" />
Link="http://aka.ms/mm" /> <controls:PageLink Link="https://github.com/microsoft/PowerToys/blob/main/COMMUNITY.md#mouse-without-borders-original-contributors" Text="Truong Do (Đỗ Đức Trường) and other original contributors" />
<controls:PageLink
Link="https://github.com/microsoft/PowerToys/blob/main/COMMUNITY.md#mouse-without-borders-original-contributors"
Text="Truong Do (Đỗ Đức Trường) and other original contributors" />
</controls:SettingsPageControl.SecondaryLinks> </controls:SettingsPageControl.SecondaryLinks>
</controls:SettingsPageControl> </controls:SettingsPageControl>
</Page> </Page>

View File

@@ -10,7 +10,6 @@
AutomationProperties.LandmarkType="Main" AutomationProperties.LandmarkType="Main"
mc:Ignorable="d"> mc:Ignorable="d">
<controls:SettingsPageControl x:Uid="Peek" ModuleImageSource="ms-appx:///Assets/Modules/Peek.png"> <controls:SettingsPageControl x:Uid="Peek" ModuleImageSource="ms-appx:///Assets/Modules/Peek.png">
<controls:SettingsPageControl.ModuleContent> <controls:SettingsPageControl.ModuleContent>
<StackPanel Orientation="Vertical"> <StackPanel Orientation="Vertical">
@@ -34,5 +33,8 @@
</controls:SettingsGroup> </controls:SettingsGroup>
</StackPanel> </StackPanel>
</controls:SettingsPageControl.ModuleContent> </controls:SettingsPageControl.ModuleContent>
<controls:SettingsPageControl.PrimaryLinks>
<controls:PageLink x:Uid="LearnMore_Peek" Link="https://aka.ms/PowerToysOverview_Peek" />
</controls:SettingsPageControl.PrimaryLinks>
</controls:SettingsPageControl> </controls:SettingsPageControl>
</Page> </Page>