/// <summary> /// Removes a user to the tray cache (By argument) /// </summary> /// <param name="platform">Platform to switch account on</param> /// <param name="arg">Argument this account uses to switch</param> public static void RemoveTrayUserByArg(string platform, string arg) { var trayUsers = TrayUser.ReadTrayUsers(); TrayUser.RemoveUserByArg(ref trayUsers, platform, arg); TrayUser.SaveUsers(trayUsers); }
/// <summary> /// Removes a user to the tray cache /// </summary> /// <param name="platform">Platform to switch account on</param> /// <param name="name">Name to be displayed in the Tray</param> public static void RemoveTrayUser(string platform, string name) { var trayUsers = TrayUser.ReadTrayUsers(); TrayUser.RemoveUser(ref trayUsers, platform, name); TrayUser.SaveUsers(trayUsers); }
/// <summary> /// Adds a user to the tray cache /// </summary> /// <param name="platform">Platform to switch account on</param> /// <param name="arg">Argument to launch and switch</param> /// <param name="name">Name to be displayed in the Tray</param> /// <param name="maxAccounts">(Optional) Number of accounts to keep and show in tray</param> public static void AddTrayUser(string platform, string arg, string name, int maxAccounts) { var trayUsers = TrayUser.ReadTrayUsers(); TrayUser.AddUser(ref trayUsers, platform, new TrayUser { Arg = arg, Name = name }, maxAccounts); TrayUser.SaveUsers(trayUsers); }
/// <summary> /// Adds a user to the beginning of the [Key]s list of TrayUsers. Moves to position 0 if exists. /// </summary> /// <param name="trayUsers">Reference to Dictionary of keys & list of TrayUsers</param> /// <param name="key">Key to add user to</param> /// <param name="newUser">user to add to aforementioned key in dictionary</param> /// <param name="maxAccounts">(Optional) Number of accounts to keep and show in tray</param> public static void AddUser(ref Dictionary <string, List <TrayUser> > trayUsers, string key, TrayUser newUser, int maxAccounts) { // Create key and add item if doesn't exist already if (!trayUsers.ContainsKey(key)) { trayUsers.Add(key, new List <TrayUser>(new[] { newUser })); return; } // If key contains -> Remove it trayUsers[key] = trayUsers[key].Where(x => x.Arg != newUser.Arg).ToList(); // Add item into first slot trayUsers[key].Insert(0, newUser); // Shorten list to be a max of 3 (default) while (trayUsers[key].Count > maxAccounts) { trayUsers[key].RemoveAt(trayUsers[key].Count - 1); } }