From 17458f455bbe06ff8dc1dde411db04c9fd457afd Mon Sep 17 00:00:00 2001 From: Dominik Demuth Date: Sun, 24 Dec 2023 16:57:54 +0100 Subject: [PATCH] move dropevent function from mainwindow to mdiarea --- src/gui_qt/lib/mdiarea.py | 8 ++++++++ src/gui_qt/main/mainwindow.py | 4 +++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/gui_qt/lib/mdiarea.py b/src/gui_qt/lib/mdiarea.py index 3dd6bbf..3338fdb 100644 --- a/src/gui_qt/lib/mdiarea.py +++ b/src/gui_qt/lib/mdiarea.py @@ -7,8 +7,11 @@ from ..graphs.graphwindow import QGraphWindow class MdiAreaTile(QtWidgets.QMdiArea): + newData = QtCore.pyqtSignal(list) + def __init__(self, parent=None): super().__init__(parent=parent) + self.setAcceptDrops(True) def tileSubWindowsVertically(self): window_list = self.subWindowList() @@ -47,3 +50,8 @@ class MdiAreaTile(QtWidgets.QMdiArea): if isinstance(wdgt, QGraphWindow) and wdgt.id == key: self.setActiveSubWindow(win) break + + def dropEvent(self, evt): + if evt.mimeData().hasUrls(): + files = [str(url.toLocalFile()) for url in evt.mimeData().urls()] + self.newData.emit(files) diff --git a/src/gui_qt/main/mainwindow.py b/src/gui_qt/main/mainwindow.py index 0ec24a3..a8ffa40 100644 --- a/src/gui_qt/main/mainwindow.py +++ b/src/gui_qt/main/mainwindow.py @@ -108,7 +108,7 @@ class NMRMainWindow(QtWidgets.QMainWindow, Ui_BaseWindow): self.fitlim_button.setIcon(get_icon('fit_region')) self.toolBar_fit.addWidget(self.fitlim_button) - self.area.dragEnterEvent = self.dragEnterEvent + # self.area.dragEnterEvent = self.dragEnterEvent while self.tabWidget.count() > 2: self.tabWidget.removeTab(self.tabWidget.count()-1) @@ -201,6 +201,8 @@ class NMRMainWindow(QtWidgets.QMainWindow, Ui_BaseWindow): self.management.unset_state.connect(lambda x: self.datawidget.uncheck_sets(x)) self.management.fitFinished.connect(self.show_fit_results) + self.area.newData.connect(lambda x: self.management.load_files(x)) + self.fit_dialog._management = self.management self.fit_dialog.preview_emit.connect(self.show_fit_preview) self.fit_dialog.fitStartSig.connect(self.start_fit)