diff --git a/src/View/InitialConditions/Window.py b/src/View/InitialConditions/Window.py index 573dd4b6e10b9e53bc9b3bfcbb571b879ea06f05..d7cac0ffb99faa4cd464da37044615ae6e65cd01 100644 --- a/src/View/InitialConditions/Window.py +++ b/src/View/InitialConditions/Window.py @@ -23,6 +23,7 @@ from tools import trace, timer, logger_exception from View.Tools.PamhyrWindow import PamhyrWindow +from PyQt5 import QtWidgets from PyQt5.QtGui import ( QKeySequence, ) @@ -30,7 +31,7 @@ from PyQt5.QtGui import ( from PyQt5.QtCore import ( Qt, QVariant, QAbstractTableModel, QCoreApplication, QModelIndex, pyqtSlot, - QRect, + QRect, QSettings, QItemSelectionModel, ) from PyQt5.QtWidgets import ( @@ -260,16 +261,24 @@ class InitialConditionsWindow(PamhyrWindow): self._update() def import_from_file(self): - workdir = os.path.dirname(self._study.filename) - - return self.file_dialog( - select_file="ExistingFile", - callback=lambda d: self._import_from_file(d[0]), - directory=workdir, - default_suffix=".BIN", - file_filter=["Mage (*.BIN)"], + options = QFileDialog.Options() + settings = QSettings(QSettings.IniFormat, + QSettings.UserScope, 'MyOrg', ) + options |= QFileDialog.DontUseNativeDialog + filename, _ = QtWidgets.QFileDialog.getOpenFileName( + self, + self._trad["open_file"], + "", + ";; ".join(["Mage (*.BIN)"]), + options=options ) + if filename != "": + size = os.stat(filename).st_size + #self._table.import_geometry(0, filename) + print(f"filename: {filename}") + self._import_from_file(filename) + def _import_from_file(self, file_name): solver = Mage8("dummy") name = os.path.basename(file_name)\ @@ -292,7 +301,8 @@ class InitialConditionsWindow(PamhyrWindow): ) dlg.exec_() results = self._tmp_results - self._import_from_results(results) + if "timestamps" in results._meta_data: + self._import_from_results(results) def _import_from_results(self, results): logger.debug(f"import from results: {results}") diff --git a/src/View/MainWindow.py b/src/View/MainWindow.py index 1aa86263d143a321fbbeecfe0bff52240f5f7199..a94fef1ac8f2f7dd2bf62f6f68c9b012c8b13e7c 100644 --- a/src/View/MainWindow.py +++ b/src/View/MainWindow.py @@ -1534,9 +1534,6 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit): if self._study is None: return - if self._study.filename == "": - return - options = QFileDialog.Options() options |= QFileDialog.DontUseNativeDialog @@ -1547,14 +1544,15 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit): # dialog.setFilter(dialog.filter() | QtCore.QDir.Hidden) dialog.setNameFilters(['Mage (*.BIN)']) - if self._last_solver is None: - dialog.setDirectory( - os.path.dirname(self._study.filename) - ) - else: - dialog.setDirectory( - self._solver_workdir(self._last_solver) - ) + if self._study.filename is not None: + if self._last_solver is None: + dialog.setDirectory( + os.path.dirname(self._study.filename) + ) + else: + dialog.setDirectory( + self._solver_workdir(self._last_solver) + ) if dialog.exec_(): file_name = dialog.selectedFiles()