#endif
*/
+DummyFileSystemCacheWindow dw;// { size = { 200, 200 } };
+
+
class Explorer : GuiApplication
{
//skin = "Acovel";
bool Init()
{
- QuickPathTool goPath { };
+ int c, argc = this.argc;
+ int openArgsStartAt = 0;
QuickPathTool searchPath { };
char * findWhat = null;
+ Array<String> comparedPaths = null;
SetLoggingMode(debug, null);
+ for(c = 1; c < argc; c++)
+ {
+ if(!strcmp(argv[c], "#"))
+ {
+ argc = c;
+ break;
+ }
+ }
+
if(argc > 1)
{
if(!strcmpi(argv[1], "go") && argc > 2)
- goPath = argv[2];
+ openArgsStartAt = 2;
else if(!strcmpi(argv[1], "find") && argc > 2)
{
char * unquoted;
}
else if(!strcmpi(argv[1], "search") && argc > 2)
searchPath = argv[2];
+ else if(!strcmpi(argv[1], "compare") && argc > 2)
+ {
+ QuickPathTool goPath { };
+ comparedPaths = { };
+ if(argc == 3)
+ {
+ goPath = ""; // current dir
+ comparedPaths.Add(goPath);
+ }
+ for(c = 2; c < argc; c++)
+ {
+ char * s;
+ goPath = argv[c];
+ s = goPath;
+ if(s)
+ comparedPaths.Add(CopyString(s));
+ }
+ if(comparedPaths.count < 2)
+ PrintLn("compare requires at least 2 existing directories to work.");
+ }
else if(!strcmpi(argv[1], "image") && argc > 2)
;
else if(!strcmpi(argv[1], "slides") && argc > 2)
;
else
- goPath = argv[1];
+ openArgsStartAt = 1;
}
else
- goPath = "";
- if(goPath)
+ openArgsStartAt = -1;
+
+ if(openArgsStartAt)
{
- ExplorerWindow explorerWnd { };
- explorerWnd.Create();
- explorerWnd.GoTo(goPath, false, false);
+ QuickPathTool goPath { };
+ for(c = openArgsStartAt; c < argc; c++)
+ {
+ goPath = openArgsStartAt == -1 ? "" : argv[c];
+ if(goPath)
+ {
+ ExplorerWindow explorerWnd { };
+ explorerWnd.Create();
+ explorerWnd.location = goPath;//explorerWnd.GoTo(goPath, false, false);
+ }
+ }
}
else if(searchPath)
{
explorerWnd.Create();
//explorerWnd.SearchLocation(searchPath);
}
+ else if(comparedPaths && comparedPaths.count > 1)
+ {
+ // compare /s1/library/dummies /s1/library/movies /s1/oldlib/movies "/home/redj/.gvfs/d02-2tb on kimji/library/movies"
+ ExplorerWindow explorerWnd { };
+ explorerWnd.Create();
+ explorerWnd.view.columnsCompareStyle = true;
+ explorerWnd.comparedLocations = comparedPaths;
+ // delete comparedPaths;
+ }
return true;
}
}
delete original;
}
}
- get { return path[0] ? path : null; }
+ get { return path[0] ? (char*)path : null; }
}
property bool { get { return path[0] != '\0'; } }
};