mirror of
https://github.com/ShareX/ShareX.git
synced 2024-10-01 09:47:22 +13:00
Added ShowSizeInfo option for directory indexer
This commit is contained in:
parent
be553e5ed5
commit
add42b69a3
4 changed files with 59 additions and 21 deletions
|
@ -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()
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -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; }
|
||||
|
||||
|
|
|
@ -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,13 +97,21 @@ protected override void IndexFolder(FolderInfo dir, int level = 0)
|
|||
if (config.UseAttribute)
|
||||
{
|
||||
xmlWriter.WriteAttributeString("Name", fi.Name);
|
||||
|
||||
if (config.ShowSizeInfo)
|
||||
{
|
||||
xmlWriter.WriteAttributeString("Size", fi.Length.ToSizeString(config.BinaryUnits));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
xmlWriter.WriteElementString("Name", fi.Name);
|
||||
|
||||
if (config.ShowSizeInfo)
|
||||
{
|
||||
xmlWriter.WriteElementString("Size", fi.Length.ToSizeString(config.BinaryUnits));
|
||||
}
|
||||
}
|
||||
|
||||
xmlWriter.WriteEndElement();
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue