From 429e7debb05eb8ca91b85b5056106c16787cafdd Mon Sep 17 00:00:00 2001 From: kienle <kienle@passcal.nmt.edu> Date: Mon, 11 Sep 2023 14:48:01 -0600 Subject: [PATCH] Implement checkbox to only read log files --- sohstationviewer/view/main_window.py | 25 ++++++++++++++++++++++++- sohstationviewer/view/ui/main_ui.py | 4 ++++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/sohstationviewer/view/main_window.py b/sohstationviewer/view/main_window.py index 2288193c2..256cfe72b 100755 --- a/sohstationviewer/view/main_window.py +++ b/sohstationviewer/view/main_window.py @@ -311,6 +311,26 @@ class MainWindow(QtWidgets.QMainWindow, UIMainWindow): if not is_from_data_card_checked and self.search_line_edit.text(): self.filter_folder_list(self.search_line_edit.text()) + @QtCore.Slot() + def on_log_file_checkbox_toggled(self, is_checked): + self.open_files_list.clear() + self.set_open_files_list_texts() + + self.search_line_edit.setEnabled(not is_checked) + # QLineEdit does not change its color when it is disabled unless + # there is text inside, so we have to do it manually. + palette = self.search_line_edit.palette() + if is_checked: + # We are copying the color of a disabled button + search_line_edit_color = QColor(246, 246, 246) + else: + search_line_edit_color = QColor(255, 255, 255) + palette.setColor(QPalette.Base, search_line_edit_color) + self.search_line_edit.setPalette(palette) + + if not is_checked and self.search_line_edit.text(): + self.filter_folder_list(self.search_line_edit.text()) + @QtCore.Slot() def all_wf_chans_clicked(self): if self.all_wf_chans_check_box.isChecked(): @@ -959,7 +979,10 @@ class MainWindow(QtWidgets.QMainWindow, UIMainWindow): # Baler/B44 memory stick self.data_radio_button.setEnabled(True) self.sdata_radio_button.setEnabled(True) - + elif self.log_checkbox.isChecked(): + for dent in pathlib.Path(path).iterdir(): + if dent.is_file() and dent.name.endswith('.log'): + self.open_files_list.addItem(FileListItem(dent)) else: for dent in pathlib.Path(path).iterdir(): if not dent.is_dir() or dent.name.startswith('.'): diff --git a/sohstationviewer/view/ui/main_ui.py b/sohstationviewer/view/ui/main_ui.py index 6e2b55dcb..5838cb01f 100755 --- a/sohstationviewer/view/ui/main_ui.py +++ b/sohstationviewer/view/ui/main_ui.py @@ -777,6 +777,10 @@ class UIMainWindow(object): main_window.filter_folder_list ) + self.log_checkbox.toggled.connect( + main_window.on_log_file_checkbox_toggled + ) + self.replot_button.clicked.connect(main_window.replot_loaded_data) self.background_black_radio_button.toggled.connect( -- GitLab