don't refresh log viewer on initialization but on first show

This commit is contained in:
Jakub Trllo 2022-03-24 15:20:53 +01:00
parent 406247ad26
commit c0d27f47d2
2 changed files with 18 additions and 2 deletions

View file

@ -26,3 +26,12 @@ class LogsWindow(QtWidgets.QWidget):
self.log_detail = log_detail
self.setStyleSheet(style.load_stylesheet())
self._frist_show = True
def showEvent(self, event):
super(LogsWindow, self).showEvent(event)
if self._frist_show:
self._frist_show = False
self.logs_widget.refresh()

View file

@ -155,6 +155,11 @@ class LogsWidget(QtWidgets.QWidget):
QtCore.Qt.DescendingOrder
)
refresh_triggered_timer = QtCore.QTimer()
refresh_triggered_timer.setSingleShot(True)
refresh_triggered_timer.setInterval(200)
refresh_triggered_timer.timeout.connect(self._on_refresh_timeout)
view.selectionModel().selectionChanged.connect(self._on_index_change)
refresh_btn.clicked.connect(self._on_refresh_clicked)
@ -169,10 +174,12 @@ class LogsWidget(QtWidgets.QWidget):
self.detail_widget = detail_widget
self.refresh_btn = refresh_btn
# prepare
self.refresh()
self._refresh_triggered_timer = refresh_triggered_timer
def refresh(self):
self._refresh_triggered_timer.start()
def _on_refresh_timeout(self):
self.model.refresh()
self.detail_widget.refresh()