Added browse folder button.

This commit is contained in:
2021-06-11 17:22:01 +02:00
parent adc627efce
commit c9d3132cdb
4 changed files with 38 additions and 20 deletions

View File

@@ -31,17 +31,21 @@
<td style="vertical-align: top;">
<table cellpadding="5">
<tr>
<td><label>File name prefix:</label><input name="fileNamePrefix" id="fileNamePrefix" type="text" size="7" value="SrTiO3"/>
<label>saved in:</label><input type="text" id="workPath" name="workPath" value="/tmp/test" onchange="console.log(this.value);"/>
<td><label>File name prefix:</label></td>
<td><input name="fileNamePrefix" id="fileNamePrefix" type="text" style="width:70%" value="SrTiO3"/></td>
</tr>
<tr><td>
<b>Layers</b>
</td></tr>
<tr><td>
<label>Number of
Layers: </label><input name="numLayer" id="numLayer" type="number" size="3" step="1" min="1" max="100" value="1" onchange="adjust_table()">
</td></tr>
<tr><td>
<tr>
<td><label>Save folder:</label></td>
<td>
<input type="text" style="width:70%" id="workPath" name="workPath" value="/tmp/test" readonly/>
<input type="button" value="Browse"
id="browseFolde" onclick="ipcRenderer.send('browseFolder');">
</td>
</tr>
<td><label>Number of Layers:</label></td>
<td><input name="numLayer" id="numLayer" type="number" size="3" step="1" min="1" max="100" value="1" onchange="adjust_table()"></td>
</tr>
<tr><td colspan="2">
<table id="LTable" border="2" cellpadding="10">
<tr><td><b>Layer #</b></td><td><b>Composition</b></td><td><b>Density [g/cm<sup>3</sup>]</b></td><td><b>Thickness [A]</b></td></tr>
</table>
@@ -214,13 +218,15 @@
setValues(data);
});
});
let foldername = document.getElementById("workPath").value;
// If empty or undefined fill with default
if (foldername == '' || foldername == undefined ) {foldername ="/tmp/test";}
// Catch calls for selectfolder
ipcRenderer.on('selectFolder', function(event, foldername) {
// If foldername is empty use default value
if (foldername == '') {foldername ="/tmp/test";}
document.getElementById("workPath").value = foldername;
console.log("folder="+foldername);
});
});
// Catch calls for save as
ipcRenderer.on('saveFile', function(event, filename) {
// If filename is empty use default value
@@ -247,6 +253,13 @@
console.log("filename="+filename);
plotMean(filename);
});
// Catch clicks for Browse button
let browseBtn = document.getElementById('browseFolde');
ipcRenderer.on('browseFolder', function(event, foldername) {
document.getElementById("workPath").value = foldername;
console.log("foldername="+foldername);
});
// Get the element with id="defaultOpen" and click on it
document.getElementById("btnLayers").click();
</script>

View File

@@ -4,6 +4,7 @@ function createWindow () {
const win = new BrowserWindow({
width: 950,
height: 580,
icon: "./appicons/icons/png/1024x1024.png",
webPreferences: {
nodeIntegration: true,
nativeWindowOpen: true
@@ -219,15 +220,17 @@ app.on('activate', () => {
}
})
ipcMain.on('folderSelect', (event) => {
// Reply to calls from browser button
ipcMain.on('browseFolder', (event) => {
dialog.showOpenDialog({ title: "Select folder",
defaultPath : "./",
properties:["openDirectory"]}
).then(result => {
console.log(result.filePaths)
var focusedWindow = BrowserWindow.getFocusedWindow();
focusedWindow.webContents.send('selectFolder',result.filePaths);
focusedWindow.webContents.send('browseFolder',result.filePaths);
}).catch(err => {
console.log(err);
})
});

6
package-lock.json generated
View File

@@ -3665,9 +3665,9 @@
}
},
"normalize-url": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz",
"integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==",
"version": "4.5.1",
"resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz",
"integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==",
"dev": true
},
"npm-bundled": {

View File

@@ -25,7 +25,9 @@
},
"config": {
"forge": {
"packagerConfig": {},
"packagerConfig": {
"icon": "./appicons/icons/png/1024x1024.png"
},
"makers": [
{
"name": "@electron-forge/maker-squirrel",