move dropevent function from mainwindow to mdiarea

This commit is contained in:
Dominik Demuth 2023-12-24 16:57:54 +01:00
parent 52e9667ec4
commit 17458f455b
2 changed files with 11 additions and 1 deletions

View File

@ -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)

View File

@ -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)