Ejemplo n.º 1
0
        public override ExtractIconResult ExtractCustomIcon(ref string remoteName, ExtractIconFlags extractFlags,
                                                            out Icon icon)
        {
            icon = null;
            ExtractIconResult result   = ExtractIconResult.UseDefault;
            string            iconFile = null;

            remoteName = remoteName.Substring(1);
            if (remoteName.EndsWith(@"..\"))
            {
                return(ExtractIconResult.UseDefault);
            }
            if (Directory.Exists(remoteName))
            {
                iconFile = "DATABASE.ico";
                result   = ExtractIconResult.LoadFromFile;
            }
            else if (File.Exists(remoteName))
            {
                string extension = Path.GetExtension(remoteName);
                if (extension != null)
                {
                    if (extension.ToUpper().Equals(".TXT"))
                    {
                        icon     = Icon.ExtractAssociatedIcon(@"C:\WINDOWS\system32\notepad.exe");
                        result   = ExtractIconResult.Extracted;
                        iconFile = "Notepad";
                    }
                    else if (extension.ToUpper().Equals(".EXE"))
                    {
                        iconFile = "Table.ico";
                        result   = ExtractIconResult.LoadFromFile;
                    }
                }
            }
            if (!result.Equals(ExtractIconResult.UseDefault))
            {
                remoteName = Path.Combine(Settings["iconFolder"], iconFile);
            }
            return(result);
        }
Ejemplo n.º 2
0
        public override ExtractIconResult ExtractCustomIcon(RemotePath remoteName, ExtractIconFlags extractFlags)
        {
            WsPath wsPath = remoteName;

            switch (wsPath.Level)
            {
            case WsPathLevel.Account when wsPath.AccountName == ADD_NEW_ACCOUNT_TITLE:
                return(ExtractIconResult.Extracted(new System.Drawing.Icon(typeof(Resources.TextResource), "Add.ico")));

            case WsPathLevel.Account when remoteName.Path.EndsWith(@"\..\") == false:
                return(ExtractIconResult.Extracted(new System.Drawing.Icon(typeof(Resources.TextResource), "Account.ico")));

            case WsPathLevel.AccessLevel when wsPath.IsPrivate == true && remoteName.Path.EndsWith(@"\..\") == false:
                return(ExtractIconResult.Extracted(new System.Drawing.Icon(typeof(Resources.TextResource), "FolderPrivate.ico")));

            case WsPathLevel.AccessLevel when wsPath.IsPrivate == false:
                return(ExtractIconResult.Extracted(new System.Drawing.Icon(typeof(Resources.TextResource), "FolderPublic.ico")));

            default:
                return(ExtractIconResult.UseDefault);
            }
        }