diff --git a/src/renderer/components/App.jsx b/src/renderer/components/App.jsx index 88e1ac3c..8d365064 100644 --- a/src/renderer/components/App.jsx +++ b/src/renderer/components/App.jsx @@ -44,6 +44,15 @@ const App = ({helmetUIVersion, versions, searchEMMEPython}) => { } } + const _addToEMMEPythonEnvs = (path) => { + const pythonEnvs = emmePythonEnvs.slice(); + const foundPath = pythonEnvs.indexOf(path); + if (foundPath === -1) { + pythonEnvs.push(path); + _setEMMEPythonEnvs(pythonEnvs); + } + } + const _setHelmetScriptsPath = (newPath) => { // Cannot use state variable since it'd be undefined at times const pythonPath = globalSettingsStore.current.get('emme_python_path'); @@ -185,6 +194,7 @@ const App = ({helmetUIVersion, versions, searchEMMEPython}) => { closeSettings={() => setSettingsOpen(false)} setEMMEPythonPath={_setEMMEPythonPath} setEMMEPythonEnvs={_setEMMEPythonEnvs} + addToEMMEPythonEnvs={_addToEMMEPythonEnvs} removeFromEMMEPythonEnvs={_removeFromEMMEPythonEnvs} setHelmetScriptsPath={_setHelmetScriptsPath} setProjectPath={_setProjectPath} diff --git a/src/renderer/components/Settings/Settings.css b/src/renderer/components/Settings/Settings.css index 391cb18f..04124d77 100644 --- a/src/renderer/components/Settings/Settings.css +++ b/src/renderer/components/Settings/Settings.css @@ -108,7 +108,7 @@ background: #ffffff; box-sizing: border-box; border-radius: 5px; - font-size: 16px; + font-size: 12px; font-weight: 325; color: #333333; white-space: nowrap; @@ -123,7 +123,18 @@ .Settings__env_option_btn { width: 4rem; - height: 2.5rem; + height: 2rem; border-radius: 5px; margin-left: 1.5rem; + font-size: 12px; +} + +.Settings__env_btn_disabled { + color: #888888; +} + +.Settings__env_option_divider { + width: 100%; + height: 1rem; + border-bottom: 1px solid #CCCCCC; } diff --git a/src/renderer/components/Settings/Settings.jsx b/src/renderer/components/Settings/Settings.jsx index 177916be..59793305 100644 --- a/src/renderer/components/Settings/Settings.jsx +++ b/src/renderer/components/Settings/Settings.jsx @@ -3,6 +3,7 @@ import path from "path"; const {dialog} = require('@electron/remote'); import versions from '../versions'; import { listEMMEPythonPaths } from './search_emme_pythonpath'; +import classNames from 'classnames'; const EnvironmentOption = ({ envPath, isSelected, setPath, removePath, @@ -10,14 +11,16 @@ const EnvironmentOption = ({ return (

{envPath}

- +
) } +const PathOptionDivider = () =>
+ const Settings = ({ - emmePythonPath, emmePythonEnvs, setEMMEPythonPath, setEMMEPythonEnvs, removeFromEMMEPythonEnvs, + emmePythonPath, emmePythonEnvs, setEMMEPythonPath, setEMMEPythonEnvs, addToEMMEPythonEnvs, removeFromEMMEPythonEnvs, helmetScriptsPath, setHelmetScriptsPath, dlHelmetScriptsVersion, isDownloadingHelmetScripts, projectPath, setProjectPath, basedataPath, setBasedataPath, @@ -36,34 +39,32 @@ const Settings = ({
Projektin asetukset
- Valittu Python-ympäristö: {emmePythonPath} Käytettävät Python-ympäristöt: - { emmePythonEnvs.map(env => { return { return ( +
+ }) } -
- - { - dialog.showOpenDialog({ - defaultPath: emmePythonPath ? emmePythonPath : path.resolve('/'), - filters: [ - { name: 'Executable', extensions: ['exe'] }, - { name: 'All Files', extensions: ['*'] } - ], - properties: ['openFile'] - }).then((e)=>{ - if (!e.canceled) { - setEMMEPythonPath(e.filePaths[0]); - } - }) - }} - /> - + removePath={removeFromEMMEPythonEnvs}/> + { index < emmePythonEnvs.length && } +
)})} +
+
Helmet-model-system {isDownloadingHelmetScripts ? diff --git a/src/renderer/search_emme_pythonpath.js b/src/renderer/search_emme_pythonpath.js index dc3ef21a..f30122ec 100644 --- a/src/renderer/search_emme_pythonpath.js +++ b/src/renderer/search_emme_pythonpath.js @@ -63,7 +63,6 @@ const listEMMEPythonPaths = () => { `\\Program Files (x86)\\${commonEmmePath}\\${pythonPathPostfix}`, `\\${commonEmmePath}\\${pythonPathPostfix}`, `usr/bin/python${pythonVersion.major}`, // mainly for developers on Mac & Linux - `Users/erkki/pyyttoni/testi/testikansio/testiloremipsum2.34.5`, ]; const allPathCombinations = drives.reduce( (accumulator, d) => {