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); }
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); } }