public static LayoutConfiguration CreateCustom(string name)
        {
            LayoutConfiguration l = new LayoutConfiguration();

            l.name     = name;
            l.fileName = Path.GetRandomFileName() + ".xml";
            File.Copy(Path.Combine(DataLayoutPath, "Default.xml"),
                      Path.Combine(ConfigLayoutPath, l.fileName));
            l.custom = true;
            Layouts.Add(l);
            return(l);
        }
 void ResetToDefaults()
 {
     if (MessageService.AskQuestion("${res:ICSharpCode.SharpDevelop.Commands.ChooseLayoutCommand.ResetToDefaultsQuestion}"))
     {
         foreach (LayoutConfiguration config in LayoutConfiguration.Layouts)
         {
             string configPath = LayoutConfiguration.ConfigLayoutPath;
             string dataPath   = LayoutConfiguration.DataLayoutPath;
             if (File.Exists(Path.Combine(dataPath, config.FileName)) && File.Exists(Path.Combine(configPath, config.FileName)))
             {
                 try {
                     File.Delete(Path.Combine(configPath, config.FileName));
                 } catch (Exception) {}
             }
         }
         LayoutConfiguration.ReloadDefaultLayout();
     }
 }
        protected override void OnSelectionChanged(System.Windows.Controls.SelectionChangedEventArgs e)
        {
            base.OnSelectionChanged(e);

            if (editingLayout)
            {
                return;
            }
            LoggingService.Debug("ChooseLayoutCommand.Run()");

            var    comboBox   = this;
            string dataPath   = LayoutConfiguration.DataLayoutPath;
            string configPath = LayoutConfiguration.ConfigLayoutPath;

            if (!Directory.Exists(configPath))
            {
                Directory.CreateDirectory(configPath);
            }

            if (oldItem != editIndex && oldItem != resetIndex)
            {
                ((WpfWorkbench)SD.Workbench).WorkbenchLayout.StoreConfiguration();
            }

            if (comboBox.SelectedIndex == editIndex)
            {
                editingLayout = true;
                ShowLayoutEditor();
                RecreateItems();
                editingLayout = false;
            }
            else if (comboBox.SelectedIndex == resetIndex)
            {
                ResetToDefaults();
            }
            else
            {
                LayoutConfiguration config = (LayoutConfiguration)LayoutConfiguration.Layouts[comboBox.SelectedIndex];
                LayoutConfiguration.CurrentLayoutName = config.Name;
            }

            oldItem = comboBox.SelectedIndex;
        }
 public static LayoutConfiguration CreateCustom(string name)
 {
     LayoutConfiguration l = new LayoutConfiguration();
     l.name = name;
     l.fileName = Path.GetRandomFileName() + ".xml";
     File.Copy(Path.Combine(DataLayoutPath, "Default.xml"),
               Path.Combine(ConfigLayoutPath, l.fileName));
     l.custom = true;
     Layouts.Add(l);
     return l;
 }