Fem: Use FileChooser widget in CalculiX task panel

This commit is contained in:
marioalexis
2025-10-29 01:47:38 -03:00
parent 96013cd52d
commit 224951af81
3 changed files with 12 additions and 27 deletions

View File

@@ -51,19 +51,15 @@
<item>
<layout class="QHBoxLayout" name="hbl_working_directory">
<item>
<widget class="QLineEdit" name="let_working_directory">
<widget class="Gui::FileChooser" name="fc_working_directory">
<property name="toolTip">
<string>Path to working directory</string>
</property>
<property name="readOnly">
<bool>true</bool>
<bool>false</bool>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="pb_working_directory">
<property name="text">
<string>…</string>
<property name="mode">
<enum>Gui::FileChooser::Mode::Directory</enum>
</property>
</widget>
</item>

View File

@@ -26,7 +26,7 @@ __author__ = "Mario Passaglia"
__url__ = "https://www.freecad.org"
from PySide.QtCore import QProcess, QThread
from PySide.QtCore import QProcess, QThread, QProcessEnvironment
import tempfile
import os
import shutil
@@ -111,7 +111,7 @@ class CalculiXTools:
def compute(self):
self._clear_results()
ccx_bin = settings.get_binary("Calculix")
env = self.process.processEnvironment()
env = QProcessEnvironment.systemEnvironment()
num_cpu = self.fem_param.GetGroup("Ccx").GetInt(
"AnalysisNumCPUs", QThread.idealThreadCount()
)

View File

@@ -81,18 +81,13 @@ class _TaskPanel(base_femlogtaskpanel._BaseLogTaskPanel):
self.form.pb_edit_input, QtCore.SIGNAL("clicked()"), self.edit_input_clicked
)
QtCore.QObject.connect(
self.form.pb_working_directory,
QtCore.SIGNAL("clicked()"),
self.working_directory_clicked,
self.form.fc_working_directory,
QtCore.SIGNAL("fileNameSelected(QString)"),
self.working_directory_selected,
)
QtCore.QObject.connect(
self.form.pb_solver_version, QtCore.SIGNAL("clicked()"), self.get_version
)
QtCore.QObject.connect(
self.form.let_working_directory,
QtCore.SIGNAL("editingFinished()"),
self.working_directory_edited,
)
self.get_object_params()
self.set_widgets()
@@ -131,7 +126,7 @@ class _TaskPanel(base_femlogtaskpanel._BaseLogTaskPanel):
self.form.cb_analysis_type.addItems(self.analysis_type_enum)
self.form.cb_analysis_type.setCurrentIndex(index)
self.form.let_working_directory.setText(self.obj.WorkingDirectory)
self.form.fc_working_directory.setProperty("fileName", self.obj.WorkingDirectory)
self.form.ckb_working_directory.setChecked(False)
self.form.gpb_working_directory.setVisible(False)
@@ -139,14 +134,8 @@ class _TaskPanel(base_femlogtaskpanel._BaseLogTaskPanel):
self.analysis_type = self.analysis_type_enum[index]
self.obj.AnalysisType = self.analysis_type
def working_directory_clicked(self):
directory = QtGui.QFileDialog.getExistingDirectory(dir=self.obj.WorkingDirectory)
if directory:
self.form.let_working_directory.setText(directory)
self.form.let_working_directory.editingFinished.emit()
def working_directory_edited(self):
self.obj.WorkingDirectory = self.form.let_working_directory.text()
def working_directory_selected(self):
self.obj.WorkingDirectory = self.form.fc_working_directory.property("fileName")
def write_input_clicked(self):
self.prepared = False