private void MyOnClosing(object o, System.ComponentModel.CancelEventArgs e) { m_driveWatcher.Stop(); LeftFilePane.ShutdownFileWatcher(); RightFilePane.ShutdownFileWatcher(); m_config.Clear(); if (this.WindowState != FormWindowState.Minimized) { m_config.SetValue("maximised", (this.WindowState == FormWindowState.Minimized).ToString()); m_config.SetValue("xpos", this.Location.X.ToString()); m_config.SetValue("ypos", this.Location.Y.ToString()); m_config.SetValue("width", this.Size.Width.ToString()); m_config.SetValue("height", this.Size.Height.ToString()); } m_config.SetValue("treeviewsplitterdistance", FilePaneSplitContainer.SplitterDistance.ToString()); m_config.SetValue("leftpath", LeftFilePane.CurrentPath); m_config.SetValue("rightpath", RightFilePane.CurrentPath); m_config.SetValue("showhiddenfiles", m_viewMask.HasFlag(ViewFilter.ViewMask.ShowHidden).ToString()); m_config.SetValue("showsystemfiles", m_viewMask.HasFlag(ViewFilter.ViewMask.ShowSystem).ToString()); m_config.SetValue("showdotfiles", m_viewMask.HasFlag(ViewFilter.ViewMask.ShowDot).ToString()); if (DefaultEditorPath != null) { m_config.SetValue("defaulteditorpath", DefaultEditorPath); } int i = 0; foreach (ToolStripItem item in NavigationToolStrip.Items) { if (item.Tag is BookmarkDirectoryTag) { var tag = item.Tag as BookmarkDirectoryTag; m_config.SetValue($"bookmark{i}", $"Toolbar|Directory|{tag.DisplayName}|{tag.Path}"); i++; } else if (item.Tag is BookmarkFileTag) { var tag = item.Tag as BookmarkFileTag; m_config.SetValue($"bookmark{i}", $"Toolbar|File|{tag.DisplayName}|{tag.Path}"); i++; } } foreach (TreeNode item in DrivesTreeView.Nodes[0].Nodes) { if (item.Tag is BookmarkDirectoryTag) { var tag = item.Tag as BookmarkDirectoryTag; m_config.SetValue($"bookmark{i}", $"Tree|Directory|{tag.DisplayName}|{tag.Path}"); i++; } else if (item.Tag is BookmarkFileTag) { var tag = item.Tag as BookmarkFileTag; m_config.SetValue($"bookmark{i}", $"Tree|File|{tag.DisplayName}|{tag.Path}"); i++; } } LeftFilePane.SaveToConfig(m_config, "left_"); RightFilePane.SaveToConfig(m_config, "right_"); m_config.Save(); m_windowManager.ClosingRangerWindow(this); }