diff --git a/bigtext.py b/bigtext.py index d0c097c..a000274 100644 --- a/bigtext.py +++ b/bigtext.py @@ -50,6 +50,9 @@ class BigText(QWidget): def get_file(self): return self.model.get_file() + def destruct(self): + pass + class InnerBigText(QWidget): _byte_offset = 0 diff --git a/filterwidget.py b/filterwidget.py index a01f3d4..2a1a833 100644 --- a/filterwidget.py +++ b/filterwidget.py @@ -94,6 +94,10 @@ class FilterWidget(QWidget): self.layout.addWidget(filter_bar) self.layout.addWidget(self.hits_view) + def destruct(self): + print("cleanup: ", self.tmpfilename) + os.remove(self.tmpfilename) + def filter_changed(self): query = self.query_field.text() ignore_case = self.ignore_case.isChecked() diff --git a/fulltabwidget.py b/fulltabwidget.py index b58de0a..1eb4a9d 100644 --- a/fulltabwidget.py +++ b/fulltabwidget.py @@ -11,8 +11,8 @@ class FullTabWidget(QWidget): def __init__(self, model: LogFileModel): super(FullTabWidget, self).__init__() self._model = model - self._file_view = BigText(model) - self._filter_hit_view = FilterWidget(self._model) + self.file_view = BigText(model) + self.filter_hit_view = FilterWidget(self._model) self.layout = QVBoxLayout(self) self.layout.setContentsMargins(0, 0, 0, 0) @@ -21,10 +21,12 @@ class FullTabWidget(QWidget): splitter.setOrientation(Qt.Orientation.Vertical) splitter.setHandleWidth(5) #splitter.setStyleSheet("QSplitter::handle{background: #cccccc;}") - splitter.addWidget(self._file_view) - splitter.addWidget(self._filter_hit_view) + splitter.addWidget(self.file_view) + splitter.addWidget(self.filter_hit_view) self.layout.addWidget(splitter) - def file_view(self): - return self._file_view \ No newline at end of file + + def destruct(self): + self.file_view.destruct() + self.filter_hit_view.destruct() \ No newline at end of file diff --git a/tabs.py b/tabs.py index 4c7c466..aa0c273 100644 --- a/tabs.py +++ b/tabs.py @@ -53,6 +53,7 @@ class Tabs(QWidget): def _close_tab(self, tab_index: int): full_tab: FullTabWidget = self.tabs.widget(tab_index) + full_tab.destruct() del self.tabs_by_filename[full_tab.file_view.get_file()] self.tabs.removeTab(tab_index)