mirror of
https://github.com/microsoft/PowerToys.git
synced 2025-12-29 00:24:42 +01:00
Confirm dialog when deleting variable
Fix add variable button when creating profile
This commit is contained in:
@@ -440,6 +440,7 @@
|
||||
Margin="-12,12,0,12"
|
||||
HorizontalAlignment="Stretch"
|
||||
ItemsSource="{x:Bind ViewModel.DefaultVariables.Variables, Mode=OneWay}"
|
||||
SelectionChanged="ExistingVariablesListView_SelectionChanged"
|
||||
SelectionMode="Multiple">
|
||||
|
||||
<ListView.ItemTemplate>
|
||||
|
||||
@@ -10,6 +10,7 @@ using CommunityToolkit.WinUI.Controls;
|
||||
using EnvironmentVariables.Models;
|
||||
using EnvironmentVariables.ViewModels;
|
||||
using Microsoft.UI.Xaml.Controls;
|
||||
using static System.Runtime.InteropServices.JavaScript.JSType;
|
||||
|
||||
namespace EnvironmentVariables.Views
|
||||
{
|
||||
@@ -134,7 +135,7 @@ namespace EnvironmentVariables.Views
|
||||
AddVariableFlyout.Hide();
|
||||
}
|
||||
|
||||
private void Delete_Variable_Click(object sender, Microsoft.UI.Xaml.RoutedEventArgs e)
|
||||
private async void Delete_Variable_Click(object sender, Microsoft.UI.Xaml.RoutedEventArgs e)
|
||||
{
|
||||
MenuFlyoutItem menuItem = sender as MenuFlyoutItem;
|
||||
var variableSet = menuItem.DataContext as ProfileVariablesSet;
|
||||
@@ -142,7 +143,19 @@ namespace EnvironmentVariables.Views
|
||||
|
||||
if (variable != null)
|
||||
{
|
||||
ViewModel.DeleteVariable(variable, variableSet);
|
||||
var resourceLoader = Helpers.ResourceLoaderInstance.ResourceLoader;
|
||||
ContentDialog dialog = new ContentDialog();
|
||||
dialog.XamlRoot = RootPage.XamlRoot;
|
||||
dialog.Title = variable.Name;
|
||||
dialog.PrimaryButtonText = resourceLoader.GetString("Yes");
|
||||
dialog.CloseButtonText = resourceLoader.GetString("No");
|
||||
dialog.DefaultButton = ContentDialogButton.Primary;
|
||||
dialog.Content = new TextBlock() { Text = resourceLoader.GetString("Delete_Dialog_Description") };
|
||||
dialog.PrimaryButtonClick += (s, args) =>
|
||||
{
|
||||
ViewModel.DeleteVariable(variable, variableSet);
|
||||
};
|
||||
var result = await dialog.ShowAsync();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -167,5 +180,17 @@ namespace EnvironmentVariables.Views
|
||||
ViewModel.LoadEnvironmentVariables();
|
||||
ViewModel.IsStateModified = EnvironmentState.Unchanged;
|
||||
}
|
||||
|
||||
private void ExistingVariablesListView_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
||||
{
|
||||
if (ExistingVariablesListView.SelectedItems.Count == 0)
|
||||
{
|
||||
ConfirmAddVariableBtn.IsEnabled = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
ConfirmAddVariableBtn.IsEnabled = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -230,4 +230,7 @@
|
||||
<data name="StateNotUpToDateEnvironmentMessageReceivedMsg" xml:space="preserve">
|
||||
<value>Variables have been modified. Reload to get the latest changes.</value>
|
||||
</data>
|
||||
<data name="Delete_Variable_Description" xml:space="preserve">
|
||||
<value>Are you sure you want to delete this variable?</value>
|
||||
</data>
|
||||
</root>
|
||||
Reference in New Issue
Block a user