|
@@ -20,7 +20,7 @@
|
|
|
include("scripts/File/NewFile/NewFile.js");
|
|
include("scripts/File/NewFile/NewFile.js");
|
|
|
|
|
|
|
|
if (exists("scripts/File/AutoSave/AutoSave.js")) {
|
|
if (exists("scripts/File/AutoSave/AutoSave.js")) {
|
|
|
- include("scripts/File/AutoSave/AutoSave.js");
|
|
|
|
|
|
|
+ include("scripts/File/AutoSave/AutoSave.js");
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -29,48 +29,47 @@ if (exists("scripts/File/AutoSave/AutoSave.js")) {
|
|
|
* \ingroup ecma_file
|
|
* \ingroup ecma_file
|
|
|
*/
|
|
*/
|
|
|
function OpenFile(guiAction) {
|
|
function OpenFile(guiAction) {
|
|
|
- NewFile.call(this, guiAction);
|
|
|
|
|
|
|
+ NewFile.call(this, guiAction);
|
|
|
|
|
|
|
|
- if (!isNull(guiAction)) {
|
|
|
|
|
- this.args = guiAction.getArguments();
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ if (!isNull(guiAction)) {
|
|
|
|
|
+ this.args = guiAction.getArguments();
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
OpenFile.prototype = new NewFile();
|
|
OpenFile.prototype = new NewFile();
|
|
|
|
|
|
|
|
-OpenFile.prototype.beginEvent = function() {
|
|
|
|
|
- File.prototype.beginEvent.call(this);
|
|
|
|
|
|
|
+OpenFile.prototype.beginEvent = function () {
|
|
|
|
|
+ File.prototype.beginEvent.call(this);
|
|
|
|
|
|
|
|
|
|
+ try {
|
|
|
var filterStrings = RFileImporterRegistry.getFilterStrings();
|
|
var filterStrings = RFileImporterRegistry.getFilterStrings();
|
|
|
filterStrings = translateFilterStrings(filterStrings);
|
|
filterStrings = translateFilterStrings(filterStrings);
|
|
|
- if (filterStrings.length===0) {
|
|
|
|
|
- EAction.handleUserWarning(qsTr("No import filters have been found. Aborting..."));
|
|
|
|
|
- return;
|
|
|
|
|
|
|
+ if (filterStrings.length === 0) {
|
|
|
|
|
+ EAction.handleUserWarning(qsTr("No import filters have been found. Aborting..."));
|
|
|
|
|
+ return;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
var fileName;
|
|
var fileName;
|
|
|
- if (!isNull(this.args) && this.args.length>=1) {
|
|
|
|
|
- fileName = this.args[this.args.length-1];
|
|
|
|
|
- if (!new QFileInfo(fileName).isAbsolute()) {
|
|
|
|
|
- fileName = RSettings.getLaunchPath() + QDir.separator + fileName;
|
|
|
|
|
- }
|
|
|
|
|
- if (!isNull(fileName)) {
|
|
|
|
|
- NewFile.createMdiChild(fileName);
|
|
|
|
|
- return;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ if (!isNull(this.args) && this.args.length >= 1) {
|
|
|
|
|
+ fileName = this.args[this.args.length - 1];
|
|
|
|
|
+ if (!new QFileInfo(fileName).isAbsolute()) {
|
|
|
|
|
+ fileName = RSettings.getLaunchPath() + QDir.separator + fileName;
|
|
|
|
|
+ }
|
|
|
|
|
+ if (!isNull(fileName)) {
|
|
|
|
|
+ NewFile.createMdiChild(fileName);
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if (!isNull(this.guiAction)) {
|
|
if (!isNull(this.guiAction)) {
|
|
|
- fileName = this.guiAction.data();
|
|
|
|
|
- if (!isNull(fileName)) {
|
|
|
|
|
- NewFile.createMdiChild(fileName);
|
|
|
|
|
- return;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ fileName = this.guiAction.data();
|
|
|
|
|
+ if (!isNull(fileName)) {
|
|
|
|
|
+ NewFile.createMdiChild(fileName);
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
- var lastOpenFileDir = RSettings.getStringValue(
|
|
|
|
|
- "OpenFile/Path",
|
|
|
|
|
- RSettings.getDocumentsLocation());
|
|
|
|
|
|
|
+
|
|
|
|
|
+ var lastOpenFileDir = RSettings.getStringValue("OpenFile/Path", RSettings.getDocumentsLocation());
|
|
|
var appWin = EAction.getMainWindow();
|
|
var appWin = EAction.getMainWindow();
|
|
|
var fileDialog = new QFileDialog(appWin, qsTr("Open Drawing"), lastOpenFileDir, "");
|
|
var fileDialog = new QFileDialog(appWin, qsTr("Open Drawing"), lastOpenFileDir, "");
|
|
|
var allFilter = filterStrings[0];
|
|
var allFilter = filterStrings[0];
|
|
@@ -79,30 +78,33 @@ OpenFile.prototype.beginEvent = function() {
|
|
|
fileDialog.selectNameFilter(allFilter);
|
|
fileDialog.selectNameFilter(allFilter);
|
|
|
fileDialog.setOption(QFileDialog.DontUseNativeDialog, getDontUseNativeDialog());
|
|
fileDialog.setOption(QFileDialog.DontUseNativeDialog, getDontUseNativeDialog());
|
|
|
if (!isNull(QFileDialog.DontUseCustomDirectoryIcons)) {
|
|
if (!isNull(QFileDialog.DontUseCustomDirectoryIcons)) {
|
|
|
- fileDialog.setOption(QFileDialog.DontUseCustomDirectoryIcons, true);
|
|
|
|
|
|
|
+ fileDialog.setOption(QFileDialog.DontUseCustomDirectoryIcons, true);
|
|
|
}
|
|
}
|
|
|
fileDialog.fileMode = QFileDialog.ExistingFiles;
|
|
fileDialog.fileMode = QFileDialog.ExistingFiles;
|
|
|
|
|
|
|
|
// global function qcadInitFileDialog may be registered to perform
|
|
// global function qcadInitFileDialog may be registered to perform
|
|
|
// additional initialization
|
|
// additional initialization
|
|
|
- if (typeof qcadInitFileDialog!="undefined" && isFunction(qcadInitFileDialog)) {
|
|
|
|
|
- qcadInitFileDialog(fileDialog);
|
|
|
|
|
|
|
+ if (typeof qcadInitFileDialog != "undefined" && isFunction(qcadInitFileDialog)) {
|
|
|
|
|
+ qcadInitFileDialog(fileDialog);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if (!fileDialog.exec()) {
|
|
if (!fileDialog.exec()) {
|
|
|
- destr(fileDialog);
|
|
|
|
|
- EAction.activateMainWindow();
|
|
|
|
|
- return;
|
|
|
|
|
|
|
+ destr(fileDialog);
|
|
|
|
|
+ EAction.activateMainWindow();
|
|
|
|
|
+ return;
|
|
|
}
|
|
}
|
|
|
EAction.activateMainWindow();
|
|
EAction.activateMainWindow();
|
|
|
RSettings.setValue("OpenFile/Path", fileDialog.directory().absolutePath());
|
|
RSettings.setValue("OpenFile/Path", fileDialog.directory().absolutePath());
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
var fileNames = fileDialog.selectedFiles();
|
|
var fileNames = fileDialog.selectedFiles();
|
|
|
var nameFilter = fileDialog.selectedNameFilter();
|
|
var nameFilter = fileDialog.selectedNameFilter();
|
|
|
- for ( var i = 0; i < fileNames.length; ++i) {
|
|
|
|
|
- NewFile.createMdiChild(fileNames[i], nameFilter);
|
|
|
|
|
|
|
+ for (var i = 0; i < fileNames.length; ++i) {
|
|
|
|
|
+ NewFile.createMdiChild(fileNames[i], nameFilter);
|
|
|
}
|
|
}
|
|
|
destr(fileDialog);
|
|
destr(fileDialog);
|
|
|
EAction.activateMainWindow();
|
|
EAction.activateMainWindow();
|
|
|
|
|
+ } catch (error) {
|
|
|
|
|
+ EAction.handleUserWarning("OpenFile.js error:" + error.toString());
|
|
|
|
|
+ }
|
|
|
};
|
|
};
|
|
|
|
|
|