private void OpenSettings(object sender, RoutedEventArgs e)
        {
            var modalWindow = new Settings {
                Owner = this
            };

            modalWindow.ShowDialog();
            var mainViewModel = (MainViewModel)DataContext;

            mainViewModel.AlwaysOverride = IOManager.ReadSetting("AlwaysOverride") == "True";
            foreach (InputBinding metaShortcut in _metaShortcuts)
            {
                InputBindings.Remove(metaShortcut);
            }

            _metaShortcuts.Clear();

            var viewModel = (MainViewModel)DataContext;

            var newMetaShortcut = SetGetMetaShortcut("Undo", "Ctrl+Z");

            GetKeyModifier(newMetaShortcut.Split('+'), out var metaKey, out var metaModifier);
            _metaShortcuts.Add(AddBinding(viewModel.UndoCommand, metaKey, metaModifier));

            newMetaShortcut = SetGetMetaShortcut("Delete", "Delete");
            GetKeyModifier(newMetaShortcut.Split('+'), out metaKey, out metaModifier);
            _metaShortcuts.Add(AddBinding(viewModel.DeleteFileCommand, metaKey, metaModifier));

            newMetaShortcut = SetGetMetaShortcut("Left", "Left");
            GetKeyModifier(newMetaShortcut.Split('+'), out metaKey, out metaModifier);
            _metaShortcuts.Add(AddBinding(viewModel.PrevCommand, metaKey, metaModifier));

            newMetaShortcut = SetGetMetaShortcut("Right", "Right");
            GetKeyModifier(newMetaShortcut.Split('+'), out metaKey, out metaModifier);
            _metaShortcuts.Add(AddBinding(viewModel.NextCommand, metaKey, metaModifier));
        }
 private void NameBox_OnLostFocus(object sender, RoutedEventArgs e)
 {
     InputBindings.AddRange(_bindings);
     _bindings.Clear();
 }