Skip to content

Commit 694abe0

Browse files
committed
small fixes
1 parent 5154b47 commit 694abe0

2 files changed

Lines changed: 16 additions & 6 deletions

File tree

plotpy/tools/image.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -404,13 +404,15 @@ def open_cmap_manager(self):
404404
or not isinstance(self.action.text(), str)
405405
):
406406
return
407-
manager = ColorMapManagerDialog(None, active_colormap=self._active_colormap)
407+
manager = ColorMapManagerDialog(
408+
parent=plot.parent(), active_colormap=self._active_colormap
409+
)
408410
manager.exec_()
409411

410412
self._active_colormap = manager.getColormap().name
411413
self.menu = self.create_action_menu(None)
412414
self.action.setMenu(self.menu)
413-
self.activate_cmap(None)
415+
self.activate_cmap()
414416

415417
def activate_command(self, plot, checked):
416418
"""Activate tool"""

plotpy/widgets/colormap_manager.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,7 @@ def setColormap(self, index: int):
141141
self._colormap_name_edit.setText(cmap_copy.name)
142142
is_new_colormap = cmap_copy.name not in ALL_COLORMAPS
143143
self._colormap_name_edit.setEnabled(is_new_colormap)
144+
self._changes_saved = True
144145
self._save_btn.setEnabled(is_new_colormap)
145146

146147
def getColormap(self):
@@ -224,14 +225,14 @@ def __init__(
224225
self.setWindowTitle(_("Colormap manager"))
225226
self._layout = QW.QVBoxLayout()
226227
self.cmap_manager = ColorMapManager(self, active_colormap)
227-
self.btn_close = QW.QPushButton(_("Close"), self)
228+
self.btn_close = QW.QPushButton(_("Close"))
228229
self._layout.addWidget(self.cmap_manager)
229230
# bottom_layout = QW.QHBoxLayout()
230231
self._layout.addWidget(self.btn_close, alignment=QC.Qt.AlignmentFlag.AlignRight)
231232
self.setLayout(self._layout)
232233
self.btn_close.clicked.connect(self.close)
233234

234-
def close(self):
235+
def check_save_before_close(self) -> bool:
235236
"""Adds logic on top of the normal QDialog.close method to handle colormap save."""
236237
if not self.cmap_manager.current_changes_saved:
237238
save = self.cmap_manager.show_validation_modal(
@@ -244,8 +245,15 @@ def close(self):
244245
)
245246
if save:
246247
self.cmap_manager.saveColormap()
247-
if self.cmap_manager._changes_saved:
248-
super().close()
248+
249+
return self.cmap_manager.current_changes_saved
250+
251+
def closeEvent(self, event: QC.QEvent): # noqa: N802
252+
if self.check_save_before_close():
253+
# self.close()
254+
event.accept()
255+
else:
256+
event.ignore()
249257

250258
def show(self) -> None:
251259
return super().show()

0 commit comments

Comments
 (0)