Skip to content

Commit 953ddda

Browse files
committed
FIX: reset "back" bar when selecting a variable in the list
1 parent 2ef763b commit 953ddda

File tree

2 files changed

+19
-4
lines changed

2 files changed

+19
-4
lines changed

larray_editor/arraywidget.py

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -341,6 +341,20 @@ def add_back(self, data, data_adapter):
341341
if not self.isVisible():
342342
self.show()
343343

344+
def clear(self):
345+
for adapter in self._back_data_adapters[::-1]:
346+
self._close_adapter(adapter)
347+
348+
self._back_data_adapters = []
349+
self._back_data = []
350+
self.hide()
351+
352+
@staticmethod
353+
def _close_adapter(adapter):
354+
clsname = type(adapter).__name__
355+
logger.debug(f"closing data adapter ({clsname})")
356+
adapter.close()
357+
344358
def on_clicked(self):
345359
if not len(self._back_data):
346360
logger.warn("Back button has no target to go to")
@@ -1878,14 +1892,13 @@ def close(self):
18781892
logger.debug("ArrayEditorWidget.close()")
18791893
if self.data_adapter is not None:
18801894
self._close_adapter(self.data_adapter)
1881-
for adapter in self.back_button_bar._back_data_adapters[::-1]:
1882-
self._close_adapter(adapter)
1895+
self.back_button_bar.clear()
18831896
super().close()
18841897

18851898
@staticmethod
18861899
def _close_adapter(adapter):
18871900
clsname = type(adapter).__name__
1888-
logger.debug(f"closing old data adapter ({clsname})")
1901+
logger.debug(f"closing data adapter ({clsname})")
18891902
adapter.close()
18901903

18911904
def set_data_adapter(self, data_adapter: AbstractAdapter, frac_digits):

larray_editor/editor.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1070,7 +1070,9 @@ def set_current_array(self, array, expr_text):
10701070
self.sql_widget.update_completer_options(self.data, selected=array)
10711071
# FIXME: we should never store the current_array but current_adapter instead
10721072
self.current_array = array
1073-
self.array_widget.set_data(array)
1073+
array_widget = self.array_widget
1074+
array_widget.back_button_bar.clear()
1075+
array_widget.set_data(array)
10741076
self.current_expr_text = expr_text
10751077
self.update_title()
10761078

0 commit comments

Comments
 (0)