From 6971537012b925ef22856249779d1c8fe64abb5e Mon Sep 17 00:00:00 2001 From: dj2ls Date: Thu, 10 Mar 2022 19:45:37 +0100 Subject: [PATCH] select received files folder --- gui/main.js | 33 +++++++++++++++++++++++++++++---- gui/preload-main.js | 40 +++++++++++++++++++++++++++++++++++----- gui/src/index.html | 18 ++++++++++++++---- 3 files changed, 78 insertions(+), 13 deletions(-) diff --git a/gui/main.js b/gui/main.js index f0f7c212..7fa8ce5f 100644 --- a/gui/main.js +++ b/gui/main.js @@ -1,7 +1,9 @@ const { app, BrowserWindow, - ipcMain + ipcMain, + dialog, + shell } = require('electron'); const { autoUpdater } = require('electron-updater'); const path = require('path'); @@ -69,7 +71,8 @@ const configDefaultSettings = '{\ "screen_height" : 430,\ "screen_width" : 1050,\ "update_channel" : "latest",\ - "beacon_interval" : 5\ + "beacon_interval" : 5,\ + "received_files_folder" : "None"\ }'; if (!fs.existsSync(configPath)) { @@ -100,7 +103,7 @@ sysInfo.info("------------------------------------------ "); - +/* var chatDB = path.join(configFolder, 'chatDB.json') // create chat database file if not exists const configContentChatDB = ` @@ -117,7 +120,7 @@ const configContentChatDB = ` if (!fs.existsSync(chatDB)) { fs.writeFileSync(chatDB, configContentChatDB); } - +*/ /* @@ -158,6 +161,7 @@ function createWindow() { nodeIntegration: true, contextIsolation: false, enableRemoteModule: false, + sandbox: false //https://stackoverflow.com/questions/53390798/opening-new-window-electron/53393655 //https://github.com/electron/remote } @@ -440,14 +444,33 @@ ipcMain.on('request-update-rx-buffer', (event, arg) => { win.webContents.send('action-update-rx-buffer', arg); }); +/* ipcMain.on('request-update-rx-msg-buffer', (event, arg) => { chat.webContents.send('action-update-rx-msg-buffer', arg); }); +*/ +ipcMain.on('request-new-msg-received', (event, arg) => { + chat.webContents.send('action-new-msg-received', arg); +}); ipcMain.on('request-open-tnc-log', (event) => { logViewer.show(); }); +//folder selector +ipcMain.on('get-folder-path',(event,data)=>{ + dialog.showOpenDialog({defaultPath: path.join(__dirname, '../assets/'), + buttonLabel: 'Select folder', properties: ['openDirectory']}).then(folderPaths => { + win.webContents.send('return-folder-paths', {path: folderPaths,}) + }); +}); + +//open folder +ipcMain.on('open-folder',(event,data)=>{ + shell.showItemInFolder(data.path) +}); + + // LISTENER FOR UPDATER EVENTS @@ -515,3 +538,5 @@ autoUpdater.on('error', (error) => { }); + + diff --git a/gui/preload-main.js b/gui/preload-main.js index 1b7d4a7c..897f2ee6 100644 --- a/gui/preload-main.js +++ b/gui/preload-main.js @@ -1,7 +1,5 @@ const path = require('path'); -const { - ipcRenderer -} = require('electron'); +const {ipcRenderer} = require('electron'); const sock = require('./sock.js'); const daemon = require('./daemon.js'); const fs = require('fs'); @@ -30,6 +28,30 @@ setInterval(sock.getMsgRxBuffer, 1000); // WINDOW LISTENER window.addEventListener('DOMContentLoaded', () => { + +document.getElementById('received_files_folder').addEventListener('click', () => { + + ipcRenderer.send('open-folder',{ + title: 'Title', + }); + + ipcRenderer.on('return-folder-paths',(event,data)=>{ + document.getElementById("received_files_folder").value = data.path.filePaths[0] + config.received_files_folder = data.path.filePaths[0] + fs.writeFileSync(configPath, JSON.stringify(config, null, 2)); + }); +}) + +document.getElementById('openReceivedFilesFolder').addEventListener('click', () => { + + ipcRenderer.send('open-folder',{ + path: config.received_files_folder, + }); +}) + + + + /* // ENABLE BOOTSTRAP POPOVERS EVERYWHERE // https://getbootstrap.com/docs/5.0/components/popovers/#example-enable-popovers-everywhere @@ -90,6 +112,10 @@ window.addEventListener('DOMContentLoaded', () => { document.getElementById("fftSwitch").value = config.enable_fft; document.getElementById("500HzModeSwitch").value = config.low_bandwith_mode; + document.getElementById("received_files_folder").value = config.received_files_folder; + + + if(config.enable_scatter == 'True'){ document.getElementById("scatterSwitch").checked = true; } else { @@ -1139,7 +1165,7 @@ ipcRenderer.on('action-update-tnc-state', (event, arg) => { dataType.appendChild(dataTypeText); } - console.log(dataTypeText.innerText) + if (dataTypeText.innerText == 'CQ CQ CQ') { row.classList.add("table-success"); @@ -1646,7 +1672,11 @@ ipcRenderer.on('action-update-rx-buffer', (event, arg) => { console.log("appDataFolder:" + appDataFolder); var applicationFolder = path.join(appDataFolder, "FreeDATA"); console.log(applicationFolder); - var receivedFilesFolder = path.join(applicationFolder, "receivedFiles"); + //var receivedFilesFolder = path.join(applicationFolder, "receivedFiles"); + var receivedFilesFolder = path.join(config.received_files_folder); + + + console.log("receivedFilesFolder: " + receivedFilesFolder); // Creates receivedFiles folder if not exists // https://stackoverflow.com/a/13544465 diff --git a/gui/src/index.html b/gui/src/index.html index dfe12764..7c10b2b0 100644 --- a/gui/src/index.html +++ b/gui/src/index.html @@ -10,7 +10,7 @@ - + @@ -60,7 +60,7 @@