import "ecere" import "EDE" import "ExplorerWindow" //import "Finder" //import "Search" //import "Panels" /* #ifdef __WIN32__ #include #else #include #endif */ class Explorer : GuiApplication { //skin = "Acovel"; bool Init() { QuickPathTool goPath { }; QuickPathTool searchPath { }; char * findWhat = null; SetLoggingMode(debug, null); if(argc > 1) { if(!strcmpi(argv[1], "go") && argc > 2) goPath = argv[2]; else if(!strcmpi(argv[1], "find") && argc > 2) { char * unquoted; if(argv[2][0] == '\"') StripQuotes(argv[2], unquoted); else unquoted = argv[2]; findWhat = CopyString(unquoted); if(argc > 3) { if(!strcmpi(argv[3], "in") && argc > 4) searchPath = argv[4]; else searchPath = ""; // this should make it current dir } else searchPath = ""; // same } else if(!strcmpi(argv[1], "search") && argc > 2) searchPath = argv[2]; else if(!strcmpi(argv[1], "image") && argc > 2) ; else if(!strcmpi(argv[1], "slides") && argc > 2) ; else goPath = argv[1]; } else goPath = ""; if(goPath) { ExplorerWindow explorerWnd { }; explorerWnd.Create(); //explorerWnd.GoToLocation(goPath); } else if(searchPath) { ExplorerWindow explorerWnd { }; explorerWnd.Create(); //explorerWnd.SearchLocation(searchPath); } return true; } } struct QuickPathTool { char path[MAX_LOCATION]; property char * { set { char * unquoted; GetWorkingDir(path, MAX_LOCATION); if(value[0] == '\"') StripQuotes(value, unquoted); else unquoted = value; PathCat(path, unquoted); if(!FileExists(path)) { // this incomplete functionality is not quite at it's place in this class int len; char * original = CopyString(path); while((len = strlen(path))) { StripLastDirectory(path, path); if(FileExists(path)) { // TODO: message location does not exist, // this higher location exists though // go there? break; } } if(!len) { // TODO: message location does not exist, // unable to select alternate location } path[0] = '\0'; delete original; } } get { return path[0] ? path : null; } } property bool { get { return (bool)path[0]; } } }; define app = ((Explorer)__thisModule);