public static void RenameLayout(LayoutData layout, string newName) { if (layout != null) { LayoutData existing = FindLayout(newName); if (existing == null) { Log.InfoFormat("Renaming layout: {0} -> {1}", layout.Name, newName); // rename layout and file string fileOld = layout.FilePath; string fileNew = Path.Combine(Path.GetDirectoryName(layout.FilePath), newName) + ".xml"; File.Move(fileOld, fileNew); layout.Name = newName; layout.FilePath = fileNew; // Notify layouts.ResetItem(layouts.IndexOf(layout)); } else { throw new ArgumentException("Layout with the same name exists: " + newName); } } }
public static void LoadLayouts() { if (!String.IsNullOrEmpty(Settings.SettingsFolder)) { LayoutData autoRestore = new LayoutData(AutoRestoreLayoutPath) { Name = LayoutData.AutoRestore, IsReadOnly = true }; if (Directory.Exists(LayoutsDir)) { List<LayoutData> newLayouts = new List<LayoutData>(); foreach (String file in Directory.GetFiles(LayoutsDir)) { newLayouts.Add(new LayoutData(file)); } layouts.Clear(); layouts.Add(autoRestore); foreach (LayoutData layout in newLayouts) { layouts.Add(layout); } Log.InfoFormat("Loaded {0} layouts", newLayouts.Count); } else { Log.InfoFormat("Creating layouts dir: " + SuperPuTTY.LayoutsDir); Directory.CreateDirectory(SuperPuTTY.LayoutsDir); layouts.Add(autoRestore); } } }
public static void LoadLayoutInNewInstance(LayoutData layout) { ReportStatus("Starting new instance with layout, {0}", layout.Name); Process.Start(Assembly.GetExecutingAssembly().Location, "-layout \"" + layout.Name + "\""); }
public static void LoadLayout(LayoutData layout, bool isNewLayoutAlreadyActive) { Log.InfoFormat("LoadLayout: layout={0}, isNewLayoutAlreadyActive={1}", layout == null ? "NULL" : layout.Name, isNewLayoutAlreadyActive); LayoutChangedEventArgs args = new LayoutChangedEventArgs { New = layout, Old = CurrentLayout, IsNewLayoutAlreadyActive = isNewLayoutAlreadyActive }; try { IsLayoutChanging = true; if (LayoutChanging != null) { LayoutChanging(typeof(SuperPuTTY), args); } } finally { IsLayoutChanging = false; } if (LayoutChanged != null) { CurrentLayout = layout; LayoutChanged(typeof(SuperPuTTY), args); } }
public static void LoadLayout(LayoutData layout) { LoadLayout(layout, false); }
public static void AddLayout(String file) { LayoutData layout = new LayoutData(file); if (FindLayout(layout.Name) == null) { layouts.Add(layout); LoadLayout(layout, true); } }