CtrlImgList.cs 1.8 KB

123456789101112131415161718192021222324252627282930313233343536
  1. using Quadarax.Foundation.Core.Value.Extensions;
  2. using System.Text;
  3. namespace qdr.app.tools.qfu.gui.Subforms
  4. {
  5. public partial class CtrlImgList : UserControl, ICommanControl
  6. {
  7. public CtrlImgList()
  8. {
  9. InitializeComponent();
  10. }
  11. public string Description => "Image List Command\r\nList all image files from a directory with their dimensions, resolution, and size information.\r\n\r\nSyntax:\r\n`qfu img_list <source> [options]`\r\n\r\nArguments:\r\n- `source`: Path to directory to scan for image files\r\nOptions:\r\n`-s`: Include subdirectories in the scan\r\n`-exclude <patterns>`: Exclude files matching patterns (pipe-separated, e.g., `*.tmp|backup*`)\r\nOutput Format:\r\nDimensions Resolution Size File Path\r\n------------ --------------- --------- --------------------------------------------------\r\n1920x1080 72x72 DPI 2.5 MB photos/vacation.jpg\r\n800x600 96x96 DPI 145.2 KB thumbnails/small.png\r\n";
  12. public string ViewName => "Image List";
  13. public void Execute()
  14. {
  15. var arguments = new StringBuilder();
  16. arguments.Append("img_list");
  17. arguments.Append(" ");
  18. arguments.Append("\"").Append(ctrlDirSelection.SelectedPath).Append("\"");
  19. if (chbIncludeSubdirs.Checked)
  20. {
  21. arguments.Append(" ");
  22. arguments.Append(" -s");
  23. }
  24. if(ctrlFilter.FilterEnabled)
  25. {
  26. arguments.Append(" ");
  27. arguments.Append(" -exclude:\"").Append(ctrlFilter.FilterText).Append("\"");
  28. }
  29. ConsoleRunner.Run(arguments.ToString().SplitQuoted(" ", "\"", removeEmptyItems:true, trimValues:false, keepBracket:true));
  30. }
  31. }
  32. }