MTMCL.Settings.renameItem_Click C# (CSharp) Method

renameItem_Click() private method

private renameItem_Click ( object sender, RoutedEventArgs e ) : void
sender object
e System.Windows.RoutedEventArgs
return void
        private async void renameItem_Click(object sender, RoutedEventArgs e)
        {
            if (sender is System.Windows.Controls.MenuItem)
            {
                if (((System.Windows.Controls.MenuItem)sender).Parent is System.Windows.Controls.ContextMenu)
                {
                    if (((System.Windows.Controls.ContextMenu)((System.Windows.Controls.MenuItem)sender).Parent).PlacementTarget is ListBoxItem)
                    {
                        if (((ListBoxItem)(((System.Windows.Controls.ContextMenu)((System.Windows.Controls.MenuItem)sender).Parent).PlacementTarget)).DataContext is Themes.Theme)
                        {
                            var a = (Themes.Theme)((ListBoxItem)(((System.Windows.Controls.ContextMenu)((System.Windows.Controls.MenuItem)sender).Parent).PlacementTarget)).DataContext;
                            string name = await MeCore.MainWindow.ShowInputAsync("Rename", "Type the new name");
                            a.EraseMTMCLTheme();
                            a.EraseMTMCLThemePack();
                            a = a.MakeChanges("Name",name).MakeChanges("isTmp",false);
                            updateTheme(panelTheme.SelectedIndex, a);
                            panelTheme_SelectionChanged(sender, null);
                            a.SaveMTMCLTheme();
                        }
                    }
                }
            }


        }