diff --git a/ShareX.IndexerLib/Indexer.cs b/ShareX.IndexerLib/Indexer.cs index 0d7ea248f..0bc0d635e 100644 --- a/ShareX.IndexerLib/Indexer.cs +++ b/ShareX.IndexerLib/Indexer.cs @@ -117,19 +117,26 @@ protected FolderInfo GetFolderInfo(string folderPath, int level = 0) protected virtual string GetFolderNameRow(FolderInfo dir, int level = 0) { - string text = string.Format("{0}{1}", config.IndentationText.Repeat(level), dir.FolderName); + string folderNameRow = string.Format("{0}{1}", config.IndentationText.Repeat(level), dir.FolderName); - if (dir.Size > 0) + if (config.ShowSizeInfo && dir.Size > 0) { - text += string.Format(" [{0}]", dir.Size.ToSizeString(config.BinaryUnits)); + folderNameRow += string.Format(" [{0}]", dir.Size.ToSizeString(config.BinaryUnits)); } - return text; + return folderNameRow; } protected virtual string GetFileNameRow(FileInfo fi, int level = 0) { - return string.Format("{0}{1} [{2}]", config.IndentationText.Repeat(level), fi.Name, fi.Length.ToSizeString(config.BinaryUnits)); + string fileNameRow = config.IndentationText.Repeat(level) + fi.Name; + + if (config.ShowSizeInfo) + { + fileNameRow += string.Format(" [{0}]", fi.Length.ToSizeString(config.BinaryUnits)); + } + + return fileNameRow; } protected virtual string GetFooter() diff --git a/ShareX.IndexerLib/IndexerHtml.cs b/ShareX.IndexerLib/IndexerHtml.cs index a04ad1d86..1eb07fee0 100644 --- a/ShareX.IndexerLib/IndexerHtml.cs +++ b/ShareX.IndexerLib/IndexerHtml.cs @@ -85,41 +85,53 @@ protected override void IndexFolder(FolderInfo dir, int level) protected override string GetFolderNameRow(FolderInfo dir, int level) { - int heading = (level + 1).Between(1, 6); - - string folderInfoText = string.Empty; + string folderNameRow = ""; if (!dir.IsEmpty) { - folderInfoText = dir.Size.ToSizeString(config.BinaryUnits) + " ("; + if (config.ShowSizeInfo) + { + folderNameRow += dir.Size.ToSizeString(config.BinaryUnits) + " "; + } + + folderNameRow += "("; if (dir.TotalFileCount > 0) { - folderInfoText += dir.TotalFileCount + " file" + (dir.TotalFileCount > 1 ? "s" : ""); + folderNameRow += dir.TotalFileCount + " file" + (dir.TotalFileCount > 1 ? "s" : ""); } if (dir.TotalFolderCount > 0) { if (dir.TotalFileCount > 0) { - folderInfoText += ", "; + folderNameRow += ", "; } - folderInfoText += dir.TotalFolderCount + " folder" + (dir.TotalFolderCount > 1 ? "s" : ""); + folderNameRow += dir.TotalFolderCount + " folder" + (dir.TotalFolderCount > 1 ? "s" : ""); } - folderInfoText += ")"; - folderInfoText = " " + HtmlHelper.Tag("span", folderInfoText, "", "class=\"FolderInfo\""); + folderNameRow += ")"; + folderNameRow = " " + HtmlHelper.Tag("span", folderNameRow, "", "class=\"FolderInfo\""); } - return HtmlHelper.StartTag("h" + heading) + URLHelpers.HtmlEncode(dir.FolderName) + folderInfoText + HtmlHelper.EndTag("h" + heading); + int heading = (level + 1).Between(1, 6); + + return HtmlHelper.StartTag("h" + heading) + URLHelpers.HtmlEncode(dir.FolderName) + folderNameRow + HtmlHelper.EndTag("h" + heading); } protected override string GetFileNameRow(FileInfo fi, int level) { - string size = " " + HtmlHelper.Tag("span", fi.Length.ToSizeString(config.BinaryUnits), "", "class=\"FileSize\""); + string fileNameRow = HtmlHelper.StartTag("li") + URLHelpers.HtmlEncode(fi.Name); - return HtmlHelper.StartTag("li") + URLHelpers.HtmlEncode(fi.Name) + size + HtmlHelper.EndTag("li"); + if (config.ShowSizeInfo) + { + fileNameRow += " " + HtmlHelper.Tag("span", fi.Length.ToSizeString(config.BinaryUnits), "", "class=\"FileSize\""); + } + + fileNameRow += HtmlHelper.EndTag("li"); + + return fileNameRow; } protected override string GetFooter() diff --git a/ShareX.IndexerLib/IndexerSettings.cs b/ShareX.IndexerLib/IndexerSettings.cs index 72c002314..4bd3b096b 100644 --- a/ShareX.IndexerLib/IndexerSettings.cs +++ b/ShareX.IndexerLib/IndexerSettings.cs @@ -44,6 +44,9 @@ public class IndexerSettings [Category("Indexer"), DefaultValue(0), Description("Maximum folder depth level for indexing. 0 means unlimited.")] public int MaxDepthLevel { get; set; } + [Category("Indexer"), DefaultValue(true), Description("Write folder and file size.")] + public bool ShowSizeInfo { get; set; } + [Category("Indexer"), DefaultValue(true), Description("Add footer information to show application and generated time.")] public bool AddFooter { get; set; } diff --git a/ShareX.IndexerLib/IndexerXml.cs b/ShareX.IndexerLib/IndexerXml.cs index 4851582d4..d38e8d385 100644 --- a/ShareX.IndexerLib/IndexerXml.cs +++ b/ShareX.IndexerLib/IndexerXml.cs @@ -70,12 +70,20 @@ protected override void IndexFolder(FolderInfo dir, int level = 0) if (config.UseAttribute) { xmlWriter.WriteAttributeString("Name", dir.FolderName); - if (!dir.IsEmpty) xmlWriter.WriteAttributeString("Size", dir.Size.ToSizeString(config.BinaryUnits)); + + if (config.ShowSizeInfo && !dir.IsEmpty) + { + xmlWriter.WriteAttributeString("Size", dir.Size.ToSizeString(config.BinaryUnits)); + } } else { xmlWriter.WriteElementString("Name", dir.FolderName); - if (!dir.IsEmpty) xmlWriter.WriteElementString("Size", dir.Size.ToSizeString(config.BinaryUnits)); + + if (config.ShowSizeInfo && !dir.IsEmpty) + { + xmlWriter.WriteElementString("Size", dir.Size.ToSizeString(config.BinaryUnits)); + } } if (dir.Files.Count > 0) @@ -89,12 +97,20 @@ protected override void IndexFolder(FolderInfo dir, int level = 0) if (config.UseAttribute) { xmlWriter.WriteAttributeString("Name", fi.Name); - xmlWriter.WriteAttributeString("Size", fi.Length.ToSizeString(config.BinaryUnits)); + + if (config.ShowSizeInfo) + { + xmlWriter.WriteAttributeString("Size", fi.Length.ToSizeString(config.BinaryUnits)); + } } else { xmlWriter.WriteElementString("Name", fi.Name); - xmlWriter.WriteElementString("Size", fi.Length.ToSizeString(config.BinaryUnits)); + + if (config.ShowSizeInfo) + { + xmlWriter.WriteElementString("Size", fi.Length.ToSizeString(config.BinaryUnits)); + } } xmlWriter.WriteEndElement();