+++ /dev/null
-import "ecere"
-import "EDE"
-import "ExplorerWindow"
-
-class Explorer : GuiApplication
-{
- 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);