Example #1
0
 public LayoutSlot(ManageWindowLayoutsDialogViewModel parent, string name, Keys shortcut)
 {
     Name          = name;
     OldName       = name;
     Shortcut      = shortcut;
     RenameCommand = parent.RenameCommand;
     DeleteCommand = parent.DeleteCommand;
 }
        /// <summary>
        /// Shows the manage layouts dialog</summary>
        /// <remarks>Programmatic method for showing the 'manage layouts' dialog</remarks>
        public override void ShowManageLayoutsDialog()
        {
            var layouts = new List<Pair<string, Keys>>();
            foreach (var layoutName in WindowLayoutService.Layouts)
            {
                Keys shortcut = Keys.None;
                {
                    IEnumerable<Keys> keys;
                    if (m_dictCommandKeys.TryGetValue(layoutName, out keys))
                        shortcut = keys.FirstOrDefault();
                }

                layouts.Add(new Pair<string, Keys>(layoutName, shortcut));
            }
            
            var vm = new ManageWindowLayoutsDialogViewModel(layouts);
            vm.ScreenshotDirectory = LayoutScreenshotDirectory;
            var dialog = new WindowLayoutManageDialog(vm);

            if (dialog.ShowParentedDialog() != true)
                return;

            // Re-associate shortcuts for proper persisting
            foreach (var kv in vm.RenamedLayouts)
            {
                IEnumerable<Keys> shortcuts;
                if (!m_dictCommandKeys.TryGetValue(kv.Key, out shortcuts))
                    continue;

                m_dictCommandKeys.Remove(kv.Key);
                m_dictCommandKeys[kv.Value] = shortcuts;
            }

            foreach (var kv in vm.RenamedLayouts)
                WindowLayoutService.RenameLayout(kv.Key, kv.Value);

            foreach (var layoutName in vm.DeletedLayouts)
                WindowLayoutService.RemoveLayout(layoutName);
        }
Example #3
0
 public LayoutSlot(ManageWindowLayoutsDialogViewModel parent, string name, Keys shortcut)
 {
     Name = name;
     OldName = name;
     Shortcut = shortcut;
     RenameCommand = parent.RenameCommand;
     DeleteCommand = parent.DeleteCommand;
 }