From 48adef41c4f1edf6957764c1fbf066b33eec36cd Mon Sep 17 00:00:00 2001
From: kienle <kienle@passcal.nmt.edu>
Date: Tue, 21 Mar 2023 10:57:09 -0600
Subject: [PATCH] Add search button

---
 sohstationviewer/view/main_window.py |  3 +--
 sohstationviewer/view/ui/main_ui.py  | 34 ++++++++++++++++++++--------
 2 files changed, 25 insertions(+), 12 deletions(-)

diff --git a/sohstationviewer/view/main_window.py b/sohstationviewer/view/main_window.py
index 2c5ff8e77..cf1195094 100755
--- a/sohstationviewer/view/main_window.py
+++ b/sohstationviewer/view/main_window.py
@@ -9,8 +9,7 @@ from pathlib import Path
 from PySide2 import QtCore, QtWidgets, QtGui
 from PySide2.QtCore import QSize
 from PySide2.QtGui import QFont, QPalette, QColor
-from PySide2.QtWidgets import QListWidgetItem, QFrame
-from PySide2.QtWidgets import QListWidgetItem, QMessageBox
+from PySide2.QtWidgets import QFrame, QListWidgetItem, QMessageBox
 
 from sohstationviewer.conf import constants
 from sohstationviewer.model.data_loader import DataLoader
diff --git a/sohstationviewer/view/ui/main_ui.py b/sohstationviewer/view/ui/main_ui.py
index 97e325ba7..e2a86f7a0 100755
--- a/sohstationviewer/view/ui/main_ui.py
+++ b/sohstationviewer/view/ui/main_ui.py
@@ -94,6 +94,11 @@ class UIMainWindow(object):
         """
         self.clear_button: Union[QPushButton, None] = None
         """
+        search_button: filter list of files based on content of
+            self.search_line_edit
+        """
+        self.search_button: Union[QPushButton, None] = None
+        """
         replot_button: reset plotting without re-loading data
         """
         self.replot_button: Union[QPushButton, None] = None
@@ -385,35 +390,42 @@ class UIMainWindow(object):
         self.open_files_list.setSelectionMode(
             QAbstractItemView.ExtendedSelection)
 
-        search_grid = QGridLayout()
-        left_layout.addLayout(search_grid)
+        search_layout = QHBoxLayout()
+        # search_layout.setSpacing(6)
+        left_layout.addLayout(search_layout)
         self.search_line_edit = QLineEdit(self.central_widget)
         self.search_line_edit.setPlaceholderText('Search...')
         self.search_line_edit.setToolTip('Filter the list of files based on '
                                          'the content.')
-        search_grid.addWidget(self.search_line_edit, 0, 0, 1, 3)
+        search_layout.addWidget(self.search_line_edit)
+        search_layout.addSpacing(2)
         self.clear_button = QPushButton('Clear', self.central_widget)
-        self.clear_button.setFixedWidth(65)
-        search_grid.addWidget(self.clear_button, 0, 3, 1, 1)
+        self.clear_button.setFixedWidth(70)
+        search_layout.addWidget(self.clear_button)
+        search_layout.addSpacing(2)
+        self.search_button = QPushButton('Search', self.central_widget)
+        self.search_button.setFixedWidth(70)
+        search_layout.addWidget(self.search_button)
 
+        search_grid = QGridLayout()
+        left_layout.addLayout(search_grid)
         self.from_data_card_check_box = QCheckBox(
             'From Data Card', self.central_widget)
-        search_grid.addWidget(self.from_data_card_check_box, 1, 0, 1, 2)
+        search_grid.addWidget(self.from_data_card_check_box, 0, 0, 1, 2)
 
         self.replot_button = QPushButton('RePlot', self.central_widget)
         self.replot_button.setFixedWidth(95)
-
-        search_grid.addWidget(self.replot_button, 1, 3, 1, 1)
+        search_grid.addWidget(self.replot_button, 0, 3, 1, 1)
 
         data_group = QButtonGroup()
         self.data_radio_button = QRadioButton('data', self.central_widget)
         data_group.addButton(self.data_radio_button)
         self.data_radio_button.setEnabled(False)
-        search_grid.addWidget(self.data_radio_button, 2, 0, 1, 1)
+        search_grid.addWidget(self.data_radio_button, 1, 0, 1, 1)
         self.sdata_radio_button = QRadioButton('sdata', self.central_widget)
         self.sdata_radio_button.setEnabled(False)
         data_group.addButton(self.sdata_radio_button)
-        search_grid.addWidget(self.sdata_radio_button, 2, 1, 1, 1)
+        search_grid.addWidget(self.sdata_radio_button, 1, 1, 1, 1)
 
         color_tip_fmt = ('Set the background color of the plot '
                          ' to {0}')
@@ -759,6 +771,8 @@ class UIMainWindow(object):
 
         self.clear_button.pressed.connect(main_window.clear_file_search)
 
+        self.search_button.pressed.connect(main_window.filter_folder_list)
+
         self.replot_button.clicked.connect(main_window.replot_loaded_data)
 
         self.background_black_radio_button.toggled.connect(
-- 
GitLab