Make search case insensitive

This commit is contained in:
Keith Edmunds 2022-06-19 13:57:39 +01:00
parent 29860268ba
commit 8192e79d42
2 changed files with 29 additions and 6 deletions

View File

@ -82,6 +82,7 @@ class Window(QMainWindow, Ui_MainWindow):
self.txtSearch = QLineEdit()
self.statusbar.addWidget(self.txtSearch)
self.txtSearch.setHidden(True)
self.hide_played_tracks = False
self.visible_playlist_tab: Callable[[], PlaylistTab] = \
self.tabPlaylist.currentWidget
@ -201,6 +202,7 @@ class Window(QMainWindow, Ui_MainWindow):
# self.btnAddNote.clicked.connect(self.create_note)
# self.btnDatabase.clicked.connect(self.search_database)
self.btnDrop3db.clicked.connect(self.drop3db)
self.btnHidePlayed.clicked.connect(self.hide_played)
self.btnFade.clicked.connect(self.fade)
# self.btnPlay.clicked.connect(self.play_next)
# self.btnSetNext.clicked.connect(
@ -415,6 +417,19 @@ class Window(QMainWindow, Ui_MainWindow):
self.stop_playing(fade=True)
def hide_played(self):
"""Toggle hide played tracks"""
if self.hide_played_tracks:
self.hide_played_tracks = False
self.btnHidePlayed.setText("Hide played")
else:
self.hide_played_tracks = True
self.btnHidePlayed.setText("Show played")
if self.current_track_playlist_tab:
with Session() as session:
self.current_track_playlist_tab.update_display(session)
def import_track(self) -> None:
"""Import track file"""

View File

@ -742,6 +742,11 @@ class PlaylistTab(QTableWidget):
played: Optional[List[int]] = self._get_played_track_rows()
unreadable: List[int] = self._get_unreadable_track_rows()
if self.row_filter:
filter_text = self.row_filter.lower()
else:
filter_text = None
hide_played = self.musicmuster.hide_played_tracks
last_played_str: str
last_playedtime: Optional[datetime]
next_start_time: Optional[datetime] = None
@ -769,8 +774,8 @@ class PlaylistTab(QTableWidget):
if row in notes:
# Extract note text from database to ignore section timings
note_text = self._get_row_notes_object(row, session).note
if self.row_filter:
if self.row_filter not in note_text:
if filter_text:
if filter_text not in note_text.lower():
self.hideRow(row)
continue
else:
@ -816,12 +821,12 @@ class PlaylistTab(QTableWidget):
if section_start_row is not None:
section_time += track.duration
# Render current track
if self.row_filter:
if filter_text:
try:
if (track.title
and self.row_filter not in track.title
and filter_text not in track.title.lower()
and track.artist
and self.row_filter not in track.artist):
and filter_text not in track.artist.lower()):
self.hideRow(row)
continue
else:
@ -889,7 +894,10 @@ class PlaylistTab(QTableWidget):
last_played_str = get_relative_date(last_playedtime)
self.item(row, self.COL_LAST_PLAYED).setText(
last_played_str)
self._set_row_not_bold(row)
if hide_played:
self.hideRow(row)
else:
self._set_row_not_bold(row)
else:
# Set start/end times as we haven't played it yet
if next_start_time: