public MainForm(string rootPath) { InitializeComponent(); // Add the directory icons //tvDirectories.StateImageList = new ImageList(); //tvDirectories.StateImageList.Images.Add(SystemIcons.Question); //tvDirectories.StateImageList.Images.Add(SystemIcons.Exclamation); // Show the extension count chart1.DefaultElement.Transparency = 20; chart1.PieLabelMode = dotnetCHARTING.WinForms.PieLabelMode.Outside; chart1.DefaultElement.ShowValue = true; _fbd.ShowNewFolderButton = false; // Add the predefined categories to the drop down list tscbCategories.Items.Add(new FileCategories("--None--")); // The RSM standard categories FileCategories fc = new FileCategories("RSM"); fc.Categories.Add(new Language("ASM", new List<string> { "asm", "cpy", "inc", "mac", "sbt" }, Color.FromArgb(255, 255, 255))); fc.Categories.Add(new Language("ASP", new List<string> { "asp" }, Color.FromArgb(255, 255, 255))); fc.Categories.Add(new Language("C#", new List<string> { "cs" }, Color.FromArgb(255, 255, 255))); fc.Categories.Add(new Language("C", new List<string> { "i", "c", "h", "ec" }, Color.FromArgb(156, 154, 255))); fc.Categories.Add(new Language("CPP", new List<string> { "cpp", "cxx", "ecpp", "hpp", "hh", "hxx", "ipp", "dla" }, Color.FromArgb(156, 48, 99))); fc.Categories.Add(new Language("Delphi", new List<string> { "pas" }, Color.FromArgb(156, 48, 99))); fc.Categories.Add(new Language("HTML", new List<string> { "htm", "html", "xhtml", "hta", "css" }, Color.FromArgb(255, 255, 255))); fc.Categories.Add(new Language("Java", new List<string> { "java" }, Color.FromArgb(255, 255, 206))); fc.Categories.Add(new Language("JavaScript", new List<string> { "js" }, Color.FromArgb(255, 255, 255))); fc.Categories.Add(new Language("JSP", new List<string> { "jsp", "jsi", "jspf", "jsf" }, Color.FromArgb(255, 255, 255))); fc.Categories.Add(new Language("Perl", new List<string> { "pl", "pm" }, Color.FromArgb(255, 255, 255))); fc.Categories.Add(new Language("PHP", new List<string> { "php" }, Color.FromArgb(99, 0, 99))); fc.Categories.Add(new Language("Python", new List<string> { "py" }, Color.FromArgb(255, 255, 255))); fc.Categories.Add(new Language("Script", new List<string> { "sh" }, Color.FromArgb(255, 255, 255))); fc.Categories.Add(new Language("SQL", new List<string> { "gxq", "sql", "tsql", "plsql" }, Color.FromArgb(255, 255, 255))); fc.Categories.Add(new Language("VB", new List<string> { "cls" }, Color.FromArgb(255, 255, 255))); fc.Categories.Add(new Language("XML", new List<string> { "xml", "xslt", "dtd", "xsd", "xsl" }, Color.FromArgb(255, 255, 255))); tscbCategories.Items.Add(fc); // The UCC standard categories fc = new FileCategories("UCC"); fc.Categories.Add(new Language("Ada", new List<string> { "ada", "a", "adb", "ads" }, Color.FromArgb(255, 255, 255))); fc.Categories.Add(new Language("ASP", new List<string> { "asp", "aspx" }, Color.FromArgb(255, 255, 255))); fc.Categories.Add(new Language("Bash", new List<string> { "sh" }, Color.FromArgb(255, 255, 255))); fc.Categories.Add(new Language("C#", new List<string> { "cs" }, Color.FromArgb(255, 255, 255))); fc.Categories.Add(new Language("ColdFusion", new List<string> { "cfm", "cfml", "cfc" }, Color.FromArgb(156, 154, 255))); fc.Categories.Add(new Language("CSS", new List<string> { "css" }, Color.FromArgb(156, 154, 255))); fc.Categories.Add(new Language("C_CPP", new List<string> { "i", "c", "h", "ec", "cpp", "cxx", "ecpp", "hpp", "hh", "hxx", "ipp" }, Color.FromArgb(156, 154, 255))); fc.Categories.Add(new Language("Fortran", new List<string> { "f", "for", "f77", "f90", "f95", "f03", "hpf" }, Color.FromArgb(156, 48, 99))); fc.Categories.Add(new Language("HTML", new List<string> { "htm", "html", "shtml", "stm", "sht", "oth", "xhtml" }, Color.FromArgb(255, 255, 255))); fc.Categories.Add(new Language("Java", new List<string> { "java" }, Color.FromArgb(255, 255, 206))); fc.Categories.Add(new Language("JavaScript", new List<string> { "js" }, Color.FromArgb(255, 255, 255))); fc.Categories.Add(new Language("JSP", new List<string> { "jsp" }, Color.FromArgb(255, 255, 255))); fc.Categories.Add(new Language("Perl", new List<string> { "pl", "pm" }, Color.FromArgb(255, 255, 255))); fc.Categories.Add(new Language("PHP", new List<string> { "php" }, Color.FromArgb(99, 0, 99))); fc.Categories.Add(new Language("Python", new List<string> { "py" }, Color.FromArgb(255, 255, 255))); fc.Categories.Add(new Language("SQL", new List<string> { "gxq", "sql", "tsql", "plsql" }, Color.FromArgb(255, 255, 255))); fc.Categories.Add(new Language("Visual_Basic", new List<string> { "vb", "frm", "mod", "cls", "bas" }, Color.FromArgb(255, 255, 255))); fc.Categories.Add(new Language("XML", new List<string> { "xml" }, Color.FromArgb(255, 255, 255))); tscbCategories.Items.Add(fc); // Make a list of languages for TPF with details fc = new FileCategories("TPF Detail"); fc.Categories.Add(new Language("ASM", new List<string> { "asm", "cpy" }, Color.FromArgb(255, 255, 255))); fc.Categories.Add(new Language("C", new List<string> { "c" }, Color.FromArgb(255, 255, 255))); fc.Categories.Add(new Language("CPP", new List<string> { "cpp", "dla" }, Color.FromArgb(255, 255, 255))); fc.Categories.Add(new Language("H", new List<string> { "h" }, Color.FromArgb(255, 255, 255))); fc.Categories.Add(new Language("MAC", new List<string> { "mac" }, Color.FromArgb(255, 255, 255))); tscbCategories.Items.Add(fc); // Make a liist of languages for TPF as reported fc = new FileCategories("TPF"); fc.Categories.Add(new Language("ASM", new List<string> { "asm", "cpy", "mac" }, Color.FromArgb(255, 255, 255))); fc.Categories.Add(new Language("CPP", new List<string> { "c", "h", "cpp", "dla" }, Color.FromArgb(255, 255, 255))); tscbCategories.Items.Add(fc); // By default no category is selected tscbCategories.SelectedItem = tscbCategories.Items[0]; // If a root path was provided in the command line we open it if (!String.IsNullOrEmpty(rootPath)) { ReadDirectoryData(rootPath); } }
public Dictionary<string, long> TotalSize(FileCategories fc) { Dictionary<string, long> count = TotalSize(); if (fc != null && fc.Categories.Count > 0) { Dictionary<string, long> countCategories = new Dictionary<string, long>(); foreach (KeyValuePair<string, long> extension in count) { string category = fc.GetLanguage(extension.Key); if (countCategories.ContainsKey(category)) { countCategories[category] += extension.Value; } else { countCategories[category] = extension.Value; } } return countCategories; } else { return count; } }