Beispiel #1
0
        public static void LoadLibrary()
        {
            // make sure the file tree exists
            string libraryPath = UserConfig.GetValue(CONFIG_FILE, "libary_path", defaultPath);

            Directory.CreateDirectory(Path.GetDirectoryName(libraryPath));

            using (StreamReader reader = new StreamReader(File.Open(libraryPath, FileMode.OpenOrCreate)))
            {
                string content = reader.ReadToEnd();
                collection = JsonConvert.DeserializeObject <Dictionary <string, GameEntry> >(content);

                if (collection == null)
                {
                    collection = new Dictionary <string, GameEntry>();
                }
            }

            // load recent
            recent = new FixedList <string>(MAX_RECENT);
            if (UserConfig.HasProperty(CONFIG_FILE, "recent"))
            {
                foreach (var entry in UserConfig.GetValue <JArray>(CONFIG_FILE, "recent"))
                {
                    recent.Add(entry.ToString());
                }
            }
            else
            {
                UserConfig.SetValue(CONFIG_FILE, "recent", recent.ToArray());
            }
        }
Beispiel #2
0
        public static void SaveChanges()
        {
            if (collection == null)
            {
                return;
            }

            OnSaveChanges?.Invoke();

            string libraryPath = UserConfig.GetValue(CONFIG_FILE, "libary_path", defaultPath);

            JsonSerializerSettings settings = new JsonSerializerSettings();

            settings.NullValueHandling = NullValueHandling.Ignore;
            settings.ContractResolver  = new CamelCasePropertyNamesContractResolver();
            string json = JsonConvert.SerializeObject(collection, Formatting.Indented, settings);

            File.WriteAllText(libraryPath, json);

            UserConfig.SetValue(CONFIG_FILE, "recent", recent.ToArray());
        }
Beispiel #3
0
 private void GameContextMenu_HideHiddenGames(object sender, RoutedEventArgs e)
 {
     showHidden = false;
     UserConfig.SetValue(CONFIG_FILE, "show-hidden", showHidden);
     RefreshGamesList();
 }
Beispiel #4
0
 public static void AddToRecent(string title)
 {
     title = title.Trim().ToLower().ToSlug();
     recent.Enqueue(title);
     UserConfig.SetValue(CONFIG_FILE, "recent", recent.ToArray());
 }