Added run button and parameter dialog
This commit is contained in:
@@ -26,6 +26,7 @@ class SettingsDialog(QDialog):
|
||||
self.ui.addLibraryFileButton.clicked.connect(self._add_library_file)
|
||||
self.ui.addLibraryFolderButton.clicked.connect(self._add_library_folder)
|
||||
self.ui.removeLibraryPathButton.clicked.connect(self._remove_library_path)
|
||||
self.ui.browseOpenModelicaButton.clicked.connect(self._browse_openmodelica)
|
||||
self.ui.libraryPathsList.itemSelectionChanged.connect(self._update_remove_button)
|
||||
self.ui.syntaxStylesTable.cellDoubleClicked.connect(self._choose_syntax_color)
|
||||
self._load_settings()
|
||||
@@ -46,6 +47,7 @@ class SettingsDialog(QDialog):
|
||||
self.ui.graphGridSpinBox.setValue(self.graph_grid_size(self.settings))
|
||||
self.ui.graphSnapSpinBox.setValue(self.graph_snap_size(self.settings))
|
||||
self.ui.iconGridSpinBox.setValue(self.icon_grid_size(self.settings))
|
||||
self.ui.openModelicaPathEdit.setText(self.openmodelica_path(self.settings))
|
||||
self._load_syntax_styles()
|
||||
self._update_remove_button()
|
||||
|
||||
@@ -130,6 +132,25 @@ class SettingsDialog(QDialog):
|
||||
settings = settings if settings is not None else application_settings()
|
||||
return settings.value("grid/iconSize", 8, type=int)
|
||||
|
||||
@staticmethod
|
||||
def openmodelica_path(settings: QSettings | None = None) -> str:
|
||||
settings = settings if settings is not None else application_settings()
|
||||
return str(settings.value("simulation/openModelicaPath", "") or "")
|
||||
|
||||
def _browse_openmodelica(self) -> None:
|
||||
current = self.ui.openModelicaPathEdit.text().strip()
|
||||
start = str(Path(current).expanduser().parent) if current else ""
|
||||
path, _ = QFileDialog.getOpenFileName(
|
||||
self,
|
||||
"Select OpenModelica executable",
|
||||
start,
|
||||
"OpenModelica compiler (omc omc.exe);;All files (*)",
|
||||
)
|
||||
if path:
|
||||
# Keep symlink paths such as ~/.local/bin/omc intact; resolving them
|
||||
# could turn the selected launcher into an unrelated container script.
|
||||
self.ui.openModelicaPathEdit.setText(str(Path(path).expanduser().absolute()))
|
||||
|
||||
def _add_library_file(self) -> None:
|
||||
path, _ = QFileDialog.getOpenFileName(
|
||||
self,
|
||||
@@ -176,6 +197,10 @@ class SettingsDialog(QDialog):
|
||||
self.settings.setValue("grid/graphSize", self.ui.graphGridSpinBox.value())
|
||||
self.settings.setValue("grid/graphSnapSize", self.ui.graphSnapSpinBox.value())
|
||||
self.settings.setValue("grid/iconSize", self.ui.iconGridSpinBox.value())
|
||||
self.settings.setValue(
|
||||
"simulation/openModelicaPath",
|
||||
self.ui.openModelicaPathEdit.text().strip(),
|
||||
)
|
||||
for row in range(self.ui.syntaxStylesTable.rowCount()):
|
||||
category = self.ui.syntaxStylesTable.item(row, 0).data(
|
||||
Qt.ItemDataRole.UserRole
|
||||
|
||||
Reference in New Issue
Block a user