示例#1
0
        public static void SaveConfiguration()
        {
            SteticMain.Configuration.WidgetLibraries.Clear();
            SteticMain.Configuration.WidgetLibraries.AddRange(SteticApp.GetWidgetLibraries());

            MainWindow.GetPosition(out Configuration.WindowX, out Configuration.WindowY);
            MainWindow.GetSize(out Configuration.WindowWidth, out Configuration.WindowHeight);
            Configuration.WindowState = MainWindow.GdkWindow.State;

            Configuration.ShowNonContainerWarning = SteticApp.ShowNonContainerWarning;

            string file = Path.Combine(SteticMain.ConfigDir, "configuration.xml");

            try {
                if (!Directory.Exists(SteticMain.ConfigDir))
                {
                    Directory.CreateDirectory(SteticMain.ConfigDir);
                }

                using (StreamWriter sw = new StreamWriter(file)) {
                    XmlSerializer ser = new XmlSerializer(typeof(Configuration));
                    ser.Serialize(sw, Configuration);
                }
            } catch (Exception ex) {
                // Ignore exceptions while writing the recents file
                Console.WriteLine(ex);
            }
        }