|
@@ -20,27 +20,38 @@
|
|
// IN THE SOFTWARE.
|
|
// IN THE SOFTWARE.
|
|
//-----------------------------------------------------------------------------
|
|
//-----------------------------------------------------------------------------
|
|
|
|
|
|
-function getLoadFilename(%filespec, %callback, %currentFile)
|
|
|
|
-{
|
|
|
|
|
|
+function getLoadFilename(%filespec, %callback, %currentFile, %getRelative, %defaultPath)
|
|
|
|
+{
|
|
|
|
+ //If no default path passed in then try to get one from the file
|
|
|
|
+ if(%defaultPath $= "")
|
|
|
|
+ {
|
|
|
|
+ if ( filePath( %currentFile ) !$= "" )
|
|
|
|
+ %defaultPath = filePath(%currentFile);
|
|
|
|
+ }
|
|
|
|
+
|
|
%dlg = new OpenFileDialog()
|
|
%dlg = new OpenFileDialog()
|
|
{
|
|
{
|
|
Filters = %filespec;
|
|
Filters = %filespec;
|
|
DefaultFile = %currentFile;
|
|
DefaultFile = %currentFile;
|
|
|
|
+ DefaultPath = %defaultPath;
|
|
ChangePath = false;
|
|
ChangePath = false;
|
|
MustExist = true;
|
|
MustExist = true;
|
|
MultipleFiles = false;
|
|
MultipleFiles = false;
|
|
};
|
|
};
|
|
|
|
|
|
- if ( filePath( %currentFile ) !$= "" )
|
|
|
|
- %dlg.DefaultPath = filePath(%currentFile);
|
|
|
|
-
|
|
|
|
- if ( %dlg.Execute() )
|
|
|
|
|
|
+ %ok = %dlg.Execute();
|
|
|
|
+ if ( %ok )
|
|
{
|
|
{
|
|
- eval(%callback @ "(\"" @ %dlg.FileName @ "\");");
|
|
|
|
|
|
+ %file = %dlg.FileName;
|
|
|
|
+ if(%getRelative)
|
|
|
|
+ %file = strreplace(%file,getWorkingDirectory() @ "/", "");
|
|
|
|
+ eval(%callback @ "(\"" @ %file @ "\");");
|
|
$Tools::FileDialogs::LastFilePath = filePath( %dlg.FileName );
|
|
$Tools::FileDialogs::LastFilePath = filePath( %dlg.FileName );
|
|
}
|
|
}
|
|
|
|
|
|
%dlg.delete();
|
|
%dlg.delete();
|
|
|
|
+
|
|
|
|
+ return %ok;
|
|
}
|
|
}
|
|
|
|
|
|
// Opens a choose file dialog with format filters already loaded
|
|
// Opens a choose file dialog with format filters already loaded
|