Skip to content
Snippets Groups Projects
Commit 60220c3f authored by Boman Romain's avatar Boman Romain
Browse files

add workspace folder

parent 6ef669df
No related branches found
No related tags found
No related merge requests found
Pipeline #7084 passed
......@@ -29,6 +29,7 @@ class Window(QWidget, Ui_Form):
settings = QSettings()
# self.restoreGeometry(settings.value("Geometry", self.saveGeometry()))
self.inpFileLineEdit.setText(settings.value("inpFile", ""))
self.wrkspLineEdit.setText(settings.value("workspace", ""))
self.action = 'cancelled'
......@@ -48,18 +49,24 @@ class Window(QWidget, Ui_Form):
def on_inpFilePushButton_pressed(self):
# print("inpFilePushButton...")
fname = QFileDialog.getOpenFileName(
None, 'Select input file', '', filter='Python File (*.py)')
# print(fname)
None, 'Select input file', '', filter='Python File (*.py)')
pyfile = fname[0]
if pyfile:
self.inpFileLineEdit.setText(QDir.toNativeSeparators(pyfile))
def on_wrkspPushButton_pressed(self):
dir = QFileDialog.getExistingDirectory(
self, "Select output folder", self.wrkspLineEdit.text())
if dir:
self.wrkspLineEdit.setText(QDir.toNativeSeparators(dir))
def closeEvent(self, event):
"""save settings to registry and quit
"""
settings = QSettings()
# settings.setValue("Geometry", QVariant(self.saveGeometry()))
settings.setValue("inpfile", QVariant(self.inpFileLineEdit.text()))
settings.setValue("workspace", QVariant(self.wrkspLineEdit.text()))
event.accept()
......@@ -108,7 +115,7 @@ if __name__ == "__main__":
print(f"OMP_NUM_THREADS=[not set]")
# ask for a file if not given
# ask for a file if not given => starts the GUI
if not args.file:
# QApplication.setAttribute(Qt.AA_EnableHighDpiScaling)
app = QApplication(sys.argv)
......@@ -118,23 +125,33 @@ if __name__ == "__main__":
win.setWindowTitle("Fossils")
win.show()
app.lastWindowClosed.connect(app.quit)
app.exec_()
app.exec_()
workspace = win.wrkspLineEdit.text()
action = win.action
testname = win.inpFileLineEdit.text()
else:
workspace = None
action = 'run'
testname = os.path.abspath(args.file)
# run the simulation
print(f'action={action}')
if action=='run' or action=='post':
testname = os.path.normcase(testname) # F:/ => f:/ on Windows
print(f'testname = {testname}')
# create workspace
common = os.path.commonprefix((testname, thisdir + os.sep))
resdir = testname[len(common):].replace(os.sep, "_")
resdir, ext = os.path.splitext(resdir)
wdir = os.path.join('workspace', resdir)
if workspace:
common = os.path.basename(testname)
resdir = common.replace(os.sep, "_")
resdir, ext = os.path.splitext(resdir)
wdir = os.path.join(workspace, resdir)
else:
common = os.path.commonprefix((testname, thisdir + os.sep))
resdir = testname[len(common):].replace(os.sep, "_")
resdir, ext = os.path.splitext(resdir)
wdir = os.path.join('workspace', resdir)
print('workspace=', wdir)
if not os.path.isdir(wdir):
......
......@@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>546</width>
<height>104</height>
<width>827</width>
<height>124</height>
</rect>
</property>
<property name="windowTitle">
......@@ -15,24 +15,41 @@
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QLabel" name="inpFilelabel">
<property name="text">
<string>input file</string>
</property>
</widget>
</item>
<item>
<item row="0" column="1">
<widget class="QLineEdit" name="inpFileLineEdit"/>
</item>
<item>
<item row="0" column="2">
<widget class="QPushButton" name="inpFilePushButton">
<property name="text">
<string>...</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="wrksplabel">
<property name="text">
<string>workspace</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="wrkspLineEdit"/>
</item>
<item row="1" column="2">
<widget class="QPushButton" name="wrkspPushButton">
<property name="text">
<string>...</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
......
......@@ -14,21 +14,30 @@ from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Form(object):
def setupUi(self, Form):
Form.setObjectName("Form")
Form.resize(546, 104)
Form.resize(827, 124)
self.verticalLayout = QtWidgets.QVBoxLayout(Form)
self.verticalLayout.setObjectName("verticalLayout")
self.horizontalLayout = QtWidgets.QHBoxLayout()
self.horizontalLayout.setObjectName("horizontalLayout")
self.gridLayout = QtWidgets.QGridLayout()
self.gridLayout.setObjectName("gridLayout")
self.inpFilelabel = QtWidgets.QLabel(Form)
self.inpFilelabel.setObjectName("inpFilelabel")
self.horizontalLayout.addWidget(self.inpFilelabel)
self.gridLayout.addWidget(self.inpFilelabel, 0, 0, 1, 1)
self.inpFileLineEdit = QtWidgets.QLineEdit(Form)
self.inpFileLineEdit.setObjectName("inpFileLineEdit")
self.horizontalLayout.addWidget(self.inpFileLineEdit)
self.gridLayout.addWidget(self.inpFileLineEdit, 0, 1, 1, 1)
self.inpFilePushButton = QtWidgets.QPushButton(Form)
self.inpFilePushButton.setObjectName("inpFilePushButton")
self.horizontalLayout.addWidget(self.inpFilePushButton)
self.verticalLayout.addLayout(self.horizontalLayout)
self.gridLayout.addWidget(self.inpFilePushButton, 0, 2, 1, 1)
self.wrksplabel = QtWidgets.QLabel(Form)
self.wrksplabel.setObjectName("wrksplabel")
self.gridLayout.addWidget(self.wrksplabel, 1, 0, 1, 1)
self.wrkspLineEdit = QtWidgets.QLineEdit(Form)
self.wrkspLineEdit.setObjectName("wrkspLineEdit")
self.gridLayout.addWidget(self.wrkspLineEdit, 1, 1, 1, 1)
self.wrkspPushButton = QtWidgets.QPushButton(Form)
self.wrkspPushButton.setObjectName("wrkspPushButton")
self.gridLayout.addWidget(self.wrkspPushButton, 1, 2, 1, 1)
self.verticalLayout.addLayout(self.gridLayout)
self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
......@@ -51,5 +60,7 @@ class Ui_Form(object):
Form.setWindowTitle(_translate("Form", "Form"))
self.inpFilelabel.setText(_translate("Form", "input file"))
self.inpFilePushButton.setText(_translate("Form", "..."))
self.wrksplabel.setText(_translate("Form", "workspace"))
self.wrkspPushButton.setText(_translate("Form", "..."))
self.runPushButton.setText(_translate("Form", "Run"))
self.viewPushButton.setText(_translate("Form", "View"))
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment