#include "CompDir.h" #pragma hdrstop #define LAYOUTFILE #include #define IMAGEFILE #define IMAGECLASS CompDirImg #include String NormalizePathCase(String fn) { #ifdef PLATFORM_WIN32 // !PATH_CASE return ToLower(fn); #else return fn; #endif } static String ExpandTabs(String line, int tabsize = 4) { String out; int pos = 0; for(const char *p = line; *p; p++) if(*p == '\t') { int left = tabsize - pos % tabsize; out.Cat(' ', left); pos += left; } else { out.Cat(*p); pos++; } return out; } class DlgCompareDir : public WithCompareDirLayout { public: typedef DlgCompareDir CLASSNAME; DlgCompareDir(); void Run(); void Serialize(Stream& stream); private: void CmdRefresh(); void DoTreeCursor(); int Refresh(String rel_path, int parent); void DoBrowse(Ctrl *field); void ToolTree(Bar& bar); String GetTreePath() const; private: struct FileInfo : Moveable { FileInfo() {} FileInfo(String name, int64 size, Time time) : name(name), size(size), time(time) {} String name; int64 size; Time time; }; bool FetchDir(String dir, VectorMap& files, VectorMap& dirs); FrameRight