Ejemplo n.º 1
0
 void SetUserOp(string whom, bool isOp)
 {
     Game.RunAfterTick(() =>
     {
         ChatUser user;
         if (Users.TryGetValue(whom, out user))
         {
             user.IsOp = isOp;
         }
     });
 }
Ejemplo n.º 2
0
        /// <summary>
        /// Get all child entries for a given path entry
        /// </summary>
        /// <param name="childFolders"></param>
        /// <param name="path"></param>
        /// <returns></returns>
        private static IFolderViewModel Expand(ObservableSortedDictionary <string, IFolderViewModel> childFolders, string path)
        {
            if (string.IsNullOrEmpty(path) || childFolders.Count == 0)
            {
                return(null);
            }

            string folderName = path;

            if (path.Contains('/') || path.Contains('\\'))
            {
                int idx = path.IndexOfAny(new char[] { '/', '\\' });
                folderName = path.Substring(0, idx);
                path       = path.Substring(idx + 1);
            }
            else
            {
                path = null;
            }

            // bugfix: Folder names on windows are case insensitiv
            //var results = childFolders.Where<IFolderViewModel>(folder => string.Compare(folder.FolderName, folderName, true) == 0);
            IFolderViewModel results;

            childFolders.TryGetValue(folderName.ToLower(), out results);
            if (results != null)
            {
                IFolderViewModel fvm = results;

                var folder = fvm as FolderViewModel;  // Cast this to access internal setter
                folder.IsExpanded = true;

                var retVal = BrowserViewModel.Expand(fvm.Folders, path);
                if (retVal != null)
                {
                    return(retVal);
                }
                else
                {
                    return(fvm);
                }
            }

            return(null);
        }