From 91ac3f79310411b63ca31753c956e2e6d379e03f Mon Sep 17 00:00:00 2001 From: Arjun Balgovind <32061677+arjunbalgovind@users.noreply.github.com> Date: Thu, 14 May 2020 09:24:50 -0700 Subject: [PATCH] Add auto scroll when adding a remap (#2969) --- src/modules/keyboardmanager/ui/EditKeyboardWindow.cpp | 5 ++++- src/modules/keyboardmanager/ui/EditShortcutsWindow.cpp | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/modules/keyboardmanager/ui/EditKeyboardWindow.cpp b/src/modules/keyboardmanager/ui/EditKeyboardWindow.cpp index 94fe594953..fc17541775 100644 --- a/src/modules/keyboardmanager/ui/EditKeyboardWindow.cpp +++ b/src/modules/keyboardmanager/ui/EditKeyboardWindow.cpp @@ -392,6 +392,8 @@ void createEditKeyboardWindow(HINSTANCE hInst, KeyboardManagerState& keyboardMan header.Children().Append(applyButton); header.Children().Append(cancelButton); + ScrollViewer scrollViewer; + // Add remap key button Windows::UI::Xaml::Controls::Button addRemapKey; FontIcon plusSymbol; @@ -401,6 +403,8 @@ void createEditKeyboardWindow(HINSTANCE hInst, KeyboardManagerState& keyboardMan addRemapKey.Margin({ 10, 0, 0, 25 }); addRemapKey.Click([&](winrt::Windows::Foundation::IInspectable const& sender, RoutedEventArgs const&) { SingleKeyRemapControl::AddNewControlKeyRemapRow(keyRemapTable, keyboardRemapControlObjects); + // Whenever a remap is added move to the bottom of the screen + scrollViewer.ChangeView(nullptr, scrollViewer.ScrollableHeight(), nullptr); }); StackPanel mappingsPanel; @@ -409,7 +413,6 @@ void createEditKeyboardWindow(HINSTANCE hInst, KeyboardManagerState& keyboardMan mappingsPanel.Children().Append(keyRemapTable); mappingsPanel.Children().Append(addRemapKey); - ScrollViewer scrollViewer; scrollViewer.Content(mappingsPanel); // Creating the Xaml content. xamlContainer is the parent UI element diff --git a/src/modules/keyboardmanager/ui/EditShortcutsWindow.cpp b/src/modules/keyboardmanager/ui/EditShortcutsWindow.cpp index 697b3daeb9..ab7fb61a53 100644 --- a/src/modules/keyboardmanager/ui/EditShortcutsWindow.cpp +++ b/src/modules/keyboardmanager/ui/EditShortcutsWindow.cpp @@ -275,6 +275,8 @@ void createEditShortcutsWindow(HINSTANCE hInst, KeyboardManagerState& keyboardMa header.Children().Append(applyButton); header.Children().Append(cancelButton); + ScrollViewer scrollViewer; + // Add shortcut button Windows::UI::Xaml::Controls::Button addShortcut; FontIcon plusSymbol; @@ -284,6 +286,8 @@ void createEditShortcutsWindow(HINSTANCE hInst, KeyboardManagerState& keyboardMa addShortcut.Margin({ 10, 0, 0, 25 }); addShortcut.Click([&](winrt::Windows::Foundation::IInspectable const& sender, RoutedEventArgs const&) { ShortcutControl::AddNewShortcutControlRow(shortcutTable, keyboardRemapControlObjects); + // Whenever a remap is added move to the bottom of the screen + scrollViewer.ChangeView(nullptr, scrollViewer.ScrollableHeight(), nullptr); }); StackPanel mappingsPanel; @@ -292,7 +296,6 @@ void createEditShortcutsWindow(HINSTANCE hInst, KeyboardManagerState& keyboardMa mappingsPanel.Children().Append(shortcutTable); mappingsPanel.Children().Append(addShortcut); - ScrollViewer scrollViewer; scrollViewer.Content(mappingsPanel); RelativePanel xamlContainer;