terraz_dev
Theophile Terraz 2025-02-11 11:59:58 +01:00
parent ed1a1a71ac
commit 440996b636
2 changed files with 29 additions and 21 deletions

View File

@ -23,6 +23,7 @@ from tools import trace, timer, logger_exception
from View.Tools.PamhyrWindow import PamhyrWindow from View.Tools.PamhyrWindow import PamhyrWindow
from PyQt5 import QtWidgets
from PyQt5.QtGui import ( from PyQt5.QtGui import (
QKeySequence, QKeySequence,
) )
@ -30,7 +31,7 @@ from PyQt5.QtGui import (
from PyQt5.QtCore import ( from PyQt5.QtCore import (
Qt, QVariant, QAbstractTableModel, Qt, QVariant, QAbstractTableModel,
QCoreApplication, QModelIndex, pyqtSlot, QCoreApplication, QModelIndex, pyqtSlot,
QRect, QRect, QSettings, QItemSelectionModel,
) )
from PyQt5.QtWidgets import ( from PyQt5.QtWidgets import (
@ -260,16 +261,24 @@ class InitialConditionsWindow(PamhyrWindow):
self._update() self._update()
def import_from_file(self): def import_from_file(self):
workdir = os.path.dirname(self._study.filename) options = QFileDialog.Options()
settings = QSettings(QSettings.IniFormat,
return self.file_dialog( QSettings.UserScope, 'MyOrg', )
select_file="ExistingFile", options |= QFileDialog.DontUseNativeDialog
callback=lambda d: self._import_from_file(d[0]), filename, _ = QtWidgets.QFileDialog.getOpenFileName(
directory=workdir, self,
default_suffix=".BIN", self._trad["open_file"],
file_filter=["Mage (*.BIN)"], "",
";; ".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): def _import_from_file(self, file_name):
solver = Mage8("dummy") solver = Mage8("dummy")
name = os.path.basename(file_name)\ name = os.path.basename(file_name)\
@ -292,7 +301,8 @@ class InitialConditionsWindow(PamhyrWindow):
) )
dlg.exec_() dlg.exec_()
results = self._tmp_results 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): def _import_from_results(self, results):
logger.debug(f"import from results: {results}") logger.debug(f"import from results: {results}")

View File

@ -1534,9 +1534,6 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit):
if self._study is None: if self._study is None:
return return
if self._study.filename == "":
return
options = QFileDialog.Options() options = QFileDialog.Options()
options |= QFileDialog.DontUseNativeDialog options |= QFileDialog.DontUseNativeDialog
@ -1547,14 +1544,15 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit):
# dialog.setFilter(dialog.filter() | QtCore.QDir.Hidden) # dialog.setFilter(dialog.filter() | QtCore.QDir.Hidden)
dialog.setNameFilters(['Mage (*.BIN)']) dialog.setNameFilters(['Mage (*.BIN)'])
if self._last_solver is None: if self._study.filename is not None:
dialog.setDirectory( if self._last_solver is None:
os.path.dirname(self._study.filename) dialog.setDirectory(
) os.path.dirname(self._study.filename)
else: )
dialog.setDirectory( else:
self._solver_workdir(self._last_solver) dialog.setDirectory(
) self._solver_workdir(self._last_solver)
)
if dialog.exec_(): if dialog.exec_():
file_name = dialog.selectedFiles() file_name = dialog.selectedFiles()