private void ShowItemInfo(int itemIdx) { string item = directoryItems[itemIdx]; if (item == "...") { CCommon.ShowLineInPosition(left + 1, top + height - 3, new string(' ', width - 2), ConsoleColor.DarkBlue, ConsoleColor.White); return; } string itemInfoLine = ""; if (CCommon.IsDir(item)) { long dirSize = CCommon.GetFolderSizeInBytes(item); long numberOfFiles = CCommon.GetNumberOfFilesInFolder(item); itemInfoLine = $"size: {dirSize} num of files: {numberOfFiles}"; } if (CCommon.IsFile(item)) { FileInfo fileInfo = new FileInfo(item); long fileSize = fileInfo.Length; itemInfoLine = $"size: {fileSize}"; } itemInfoLine = itemInfoLine.PadRight(width - 2, ' '); CCommon.ShowLineInPosition(left + 1, top + height - 3, itemInfoLine, ConsoleColor.DarkBlue, ConsoleColor.White); }
private void ShowAnItem(int i) { int idx = start + i; string itemLine = prepareItemLine(idx); bool isSelect = (idx) == current; bool isDir = CCommon.IsDir(directoryItems[idx]); bool isFile = CCommon.IsFile(directoryItems[idx]); ConsoleColor tmp = Console.ForegroundColor; if (isDir) { Console.ForegroundColor = ConsoleColor.White; } if (isFile) { Console.ForegroundColor = ConsoleColor.Green; } ShowLineInPosition(left + 1, top + 4 + i, itemLine, isSelect); if (isSelect) { ShowItemInfo(idx); } Console.ForegroundColor = tmp; }
public void ProcessCurrentItem() { string selectedItem = directoryItems[current]; if (CCommon.IsDir(selectedItem)) { changeDir(); } else { Process.Start(selectedItem); } }
private CFileInfo Get_File_Info(string filePath) { bool isDir = CCommon.IsDir(filePath); CFileInfo file_info = new CFileInfo(); file_info.name = System.IO.Path.GetFileName(filePath); file_info.extOrDir = System.IO.Path.GetExtension(filePath); if (isDir) { file_info.extOrDir = "Dir"; } if (!isDir) { file_info.size = new FileInfo(filePath).Length; } return(file_info); }
public void ShowSizeOfCurrentItem() { string currentLine = prepareItemLine(current, true); int lineNumberInPanel = current - start; bool isDir = CCommon.IsDir(directoryItems[lineNumberInPanel]); bool isFile = CCommon.IsFile(directoryItems[lineNumberInPanel]); ConsoleColor tmp = Console.ForegroundColor; if (isDir) { Console.ForegroundColor = ConsoleColor.White; } if (isFile) { Console.ForegroundColor = ConsoleColor.Green; } ShowLineInPosition(left + 1, top + 4 + lineNumberInPanel, currentLine, true); Console.ForegroundColor = tmp; }
string prepareItemLine(int idx, bool needSizeForFolder = false) { string currentItemFullName = directoryItems[idx]; CFileInfo fInfo = Get_File_Info(currentItemFullName); string name = System.IO.Path.GetFileNameWithoutExtension(fInfo.name); if (name.Length > 22) { name = name.Substring(0, 19) + "..."; } while (name.Length < 22) { name += " "; } string ext = fInfo.extOrDir; if (ext.StartsWith(".")) { ext = ext.Remove(0, 1); } while (ext.Length < 3) { ext += " "; } string size = fInfo.size.ToString(); if (needSizeForFolder & CCommon.IsDir(currentItemFullName)) { size = CCommon.GetFolderSizeInBytes(currentItemFullName).ToString(); } return(name + " " + ext + " " + String.Format("{0,10}", size)); }