Merge branch 'more_bugs'
This commit is contained in:
@ -254,6 +254,7 @@ class NMRMainWindow(QtWidgets.QMainWindow, Ui_BaseWindow):
|
||||
@QtCore.pyqtSlot(name='on_actionOpen_FC_triggered')
|
||||
def read_fc(self):
|
||||
reader = QFCReader(path=self.path, parent=self)
|
||||
reader.add_graphs(self.management.graphs.list())
|
||||
reader.data_read.connect(self.management.add_new_data)
|
||||
reader.exec()
|
||||
|
||||
@ -347,7 +348,7 @@ class NMRMainWindow(QtWidgets.QMainWindow, Ui_BaseWindow):
|
||||
|
||||
@QtCore.pyqtSlot(str)
|
||||
def remove_graph(self, gid: str):
|
||||
self.datawidget.remove_item(gid)
|
||||
self.datawidget.remove_item([gid])
|
||||
val_figure = self.valuewidget.connected_figure
|
||||
self.valuewidget.remove_graph()
|
||||
|
||||
@ -732,10 +733,11 @@ class NMRMainWindow(QtWidgets.QMainWindow, Ui_BaseWindow):
|
||||
|
||||
self.datawidget.set_name(sid, self.management[sid].name)
|
||||
|
||||
@QtCore.pyqtSlot(str)
|
||||
def delete_data(self, sid):
|
||||
if self.valuewidget.shown_set == sid:
|
||||
self.tabWidget.setCurrentIndex(0)
|
||||
@QtCore.pyqtSlot(list)
|
||||
def delete_data(self, sid: list[str]):
|
||||
for key in sid:
|
||||
if self.valuewidget.shown_set == key:
|
||||
self.tabWidget.setCurrentIndex(0)
|
||||
|
||||
self.datawidget.remove_item(sid)
|
||||
|
||||
|
@ -75,7 +75,7 @@ class UpperManagement(QtCore.QObject):
|
||||
restoreGraph = QtCore.pyqtSignal(str)
|
||||
deleteGraph = QtCore.pyqtSignal(str)
|
||||
newData = QtCore.pyqtSignal(list, str)
|
||||
deleteData = QtCore.pyqtSignal(str)
|
||||
deleteData = QtCore.pyqtSignal(list)
|
||||
dataChanged = QtCore.pyqtSignal(str)
|
||||
fitFinished = QtCore.pyqtSignal(list)
|
||||
stopFit = QtCore.pyqtSignal()
|
||||
@ -234,9 +234,17 @@ class UpperManagement(QtCore.QObject):
|
||||
for k in plotkeys:
|
||||
self.data[k].graph = gid
|
||||
|
||||
@QtCore.pyqtSlot(str)
|
||||
def plot_from_graph(self, key: str):
|
||||
self.graphs[self.data[key].graph].remove(key)
|
||||
@QtCore.pyqtSlot(list)
|
||||
def plot_from_graph(self, key: list[str]):
|
||||
sort_graph = {}
|
||||
for sid in key:
|
||||
v = self.data[sid].graph
|
||||
if v not in sort_graph:
|
||||
sort_graph[v] = []
|
||||
sort_graph[v].append(sid)
|
||||
|
||||
for gid, sets in sort_graph.items():
|
||||
self.graphs[gid].remove(sets)
|
||||
|
||||
@QtCore.pyqtSlot(list, str, str)
|
||||
def move_sets(self, sets: list, dest: str, src: (str|list), pos: int = -1):
|
||||
@ -287,15 +295,26 @@ class UpperManagement(QtCore.QObject):
|
||||
|
||||
self.undostack.beginMacro('Delete')
|
||||
|
||||
rm_set_by_graph = {}
|
||||
|
||||
for k in rm_sets[::-1]:
|
||||
if k in self.data:
|
||||
cmd = DeleteCommand(self.data, k, self.newData, self.deleteData)
|
||||
self.undostack.push(cmd)
|
||||
parent_graph = self.data[k].graph
|
||||
if parent_graph not in rm_set_by_graph:
|
||||
rm_set_by_graph[parent_graph] = []
|
||||
|
||||
rm_set_by_graph[parent_graph].append(k)
|
||||
|
||||
elif k in self.graphs:
|
||||
rm_graphs.append(k)
|
||||
|
||||
else:
|
||||
logger.warning(f'delete_sets: {k} is not in data or graph found')
|
||||
|
||||
for gid, sid_list in rm_set_by_graph.items():
|
||||
cmd = DeleteCommand(self.data, sid_list, self.graphs, gid, self.newData, self.deleteData)
|
||||
self.undostack.push(cmd)
|
||||
|
||||
for k in rm_graphs:
|
||||
cmd = DeleteGraphCommand(self.graphs, k, self.restoreGraph, self.deleteGraph)
|
||||
self.undostack.push(cmd)
|
||||
@ -605,6 +624,7 @@ class UpperManagement(QtCore.QObject):
|
||||
if not graph_id:
|
||||
graph_id = ''
|
||||
|
||||
# TODO add flag that new window will not get focus, because it messes up the data_table in fitwindow
|
||||
self.newData.emit(p_id_list, graph_id)
|
||||
|
||||
def save_fit_parameter(self, fname: str | pathlib.Path, fit_sets: list[str] = None):
|
||||
|
Reference in New Issue
Block a user