From 0fe1e3d8291f0b2f6e998b5a9b03bafb7754e13a Mon Sep 17 00:00:00 2001 From: ronso0 Date: Tue, 28 Sep 2021 02:10:17 +0200 Subject: Library: add control to clear the search, correct comments Co-authored-by: daschuer --- src/library/librarycontrol.cpp | 30 ++++++++++++++++++++++-------- src/library/librarycontrol.h | 1 + 2 files changed, 23 insertions(+), 8 deletions(-) (limited to 'src/library') diff --git a/src/library/librarycontrol.cpp b/src/library/librarycontrol.cpp index 8dc8e82856..630fe34d9e 100644 --- a/src/library/librarycontrol.cpp +++ b/src/library/librarycontrol.cpp @@ -213,13 +213,9 @@ LibraryControl::LibraryControl(Library* pLibrary) this, &LibraryControl::slotTrackColorNext); - // Control to navigate between widgets (tab/shit+tab button) + // Controls to select saved searchbox queries and to clear the searchbox m_pSelectHistoryNext = std::make_unique( ConfigKey("[Library]", "search_history_next")); - m_pSelectHistoryPrev = std::make_unique( - ConfigKey("[Library]", "search_history_prev")); - m_pSelectHistorySelect = std::make_unique( - ConfigKey("[Library]", "search_history_selector"), false); connect(m_pSelectHistoryNext.get(), &ControlPushButton::valueChanged, this, @@ -227,10 +223,12 @@ LibraryControl::LibraryControl(Library* pLibrary) VERIFY_OR_DEBUG_ASSERT(m_pSearchbox) { return; } - if (value >= 1.0) { + if (value > 0.0) { m_pSearchbox->slotMoveSelectedHistory(1); } }); + m_pSelectHistoryPrev = std::make_unique( + ConfigKey("[Library]", "search_history_prev")); connect(m_pSelectHistoryPrev.get(), &ControlPushButton::valueChanged, this, @@ -238,10 +236,12 @@ LibraryControl::LibraryControl(Library* pLibrary) VERIFY_OR_DEBUG_ASSERT(m_pSearchbox) { return; } - if (value >= 1.0) { + if (value > 0.0) { m_pSearchbox->slotMoveSelectedHistory(-1); } }); + m_pSelectHistorySelect = std::make_unique( + ConfigKey("[Library]", "search_history_selector"), false); connect(m_pSelectHistorySelect.get(), &ControlEncoder::valueChanged, this, @@ -249,10 +249,24 @@ LibraryControl::LibraryControl(Library* pLibrary) VERIFY_OR_DEBUG_ASSERT(m_pSearchbox) { return; } - if (steps >= 1.0 || steps <= -1.0) { + int iSteps = static_cast(steps); + if (iSteps) { m_pSearchbox->slotMoveSelectedHistory(static_cast(steps)); } }); + m_pClearSearch = std::make_unique( + ConfigKey("[Library]", "clear_search")); + connect(m_pClearSearch.get(), + &ControlPushButton::valueChanged, + this, + [this](double value) { + VERIFY_OR_DEBUG_ASSERT(m_pSearchbox) { + return; + } + if (value > 0.0) { + m_pSearchbox->slotClearSearch(); + } + }); /// Deprecated controls m_pSelectNextTrack = std::make_unique(ConfigKey("[Playlist]", "SelectNextTrack")); diff --git a/src/library/librarycontrol.h b/src/library/librarycontrol.h index c04bf9ecdd..396f841d47 100644 --- a/src/library/librarycontrol.h +++ b/src/library/librarycontrol.h @@ -147,6 +147,7 @@ class LibraryControl : public QObject { std::unique_ptr m_pSelectHistoryNext; std::unique_ptr m_pSelectHistoryPrev; std::unique_ptr m_pSelectHistorySelect; + std::unique_ptr m_pClearSearch; // Font sizes std::unique_ptr m_pFontSizeIncrement; -- cgit v1.2.3