public static void Save(Settings settings)
        {
            var paths = new XElement("filepaths");

            foreach (var path in settings.Filepaths)
                paths.Add(new XElement("filepath", path));

            var doc = new XDocument(new XDeclaration("1.0", "UTF-8", "yes"),
                new XElement("settings", paths));
            doc.Save(Filepath);
        }
Example #2
0
        public Form1()
        {
            Settings = SettingsManager.Load();
            InitializeComponent();

            lbFiles.DataSource = Settings.Filepaths;
            var version = Files.GetVersionNumber(Settings.Filepaths.FirstOrDefault());
            txtMajor.Text = version.Major.ToString();
            txtMinor.Text = version.Minor.ToString();
            txtBuild.Text = version.Build.ToString();
            txtRevision.Text = version.Revision.ToString();
        }
        public static Settings Load()
        {
            if (!Directory.Exists(Folderpath))
                Directory.CreateDirectory(Folderpath);

            if (!File.Exists(Filepath))
                CreateDefault();

            var doc = new XmlDocument();
            doc.Load(Filepath);

            var settings = new Settings(new List<string>());

            var settingsNode = doc.SelectSingleNode("settings");

            if (settingsNode == null)
            {
                CreateDefault();
                return Load();
            }

            var filepathsNode = settingsNode.SelectSingleNode("filepaths");

            if (filepathsNode == null)
            {
                CreateDefault();
                return Load();
            }

            var filepathNodes = filepathsNode.SelectNodes("filepath");

            if (filepathNodes == null)
            {
                CreateDefault();
                return Load();
            }

            foreach (XmlNode filepathNode in filepathNodes)
            {
                if (filepathNode == null)
                    continue;

                settings.Filepaths.Add(filepathNode.InnerText);
            }

            return settings;
        }
        private static void CreateDefault()
        {
            var settings = new Settings(new List<string>());

            Save(settings);
        }