Exemplo n.º 1
0
        /// <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);
        }
Exemplo n.º 2
0
        /// <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);
        }
Exemplo n.º 3
0
        /// <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);
        }
Exemplo n.º 4
0
        /// <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);
            }
        }