summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorronso0 <ronso0@mixxx.org>2021-09-28 02:10:17 +0200
committerronso0 <ronso0@mixxx.org>2021-09-30 23:35:43 +0200
commit0fe1e3d8291f0b2f6e998b5a9b03bafb7754e13a (patch)
tree7c42a41ab47eb526a50c6a722b07d277345ffaab
parent3926fde35a0c5932fd15bb98c150a4c58dc36d92 (diff)
Library: add control to clear the search, correct comments
Co-authored-by: daschuer <daschuer@mixxx.org>
-rw-r--r--src/library/librarycontrol.cpp30
-rw-r--r--src/library/librarycontrol.h1
-rw-r--r--src/widget/wsearchlineedit.cpp3
3 files changed, 25 insertions, 9 deletions
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<ControlPushButton>(
ConfigKey("[Library]", "search_history_next"));
- m_pSelectHistoryPrev = std::make_unique<ControlPushButton>(
- ConfigKey("[Library]", "search_history_prev"));
- m_pSelectHistorySelect = std::make_unique<ControlEncoder>(
- 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<ControlPushButton>(
+ 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<ControlEncoder>(
+ 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<int>(steps);
+ if (iSteps) {
m_pSearchbox->slotMoveSelectedHistory(static_cast<int>(steps));
}
});
+ m_pClearSearch = std::make_unique<ControlPushButton>(
+ 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<ControlPushButton>(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<ControlPushButton> m_pSelectHistoryNext;
std::unique_ptr<ControlPushButton> m_pSelectHistoryPrev;
std::unique_ptr<ControlEncoder> m_pSelectHistorySelect;
+ std::unique_ptr<ControlPushButton> m_pClearSearch;
// Font sizes
std::unique_ptr<ControlPushButton> m_pFontSizeIncrement;
diff --git a/src/widget/wsearchlineedit.cpp b/src/widget/wsearchlineedit.cpp
index 70791e8ae4..1fb28ce7b5 100644
--- a/src/widget/wsearchlineedit.cpp
+++ b/src/widget/wsearchlineedit.cpp
@@ -430,7 +430,8 @@ void WSearchLineEdit::slotSaveSearch() {
void WSearchLineEdit::slotMoveSelectedHistory(int steps) {
int nIndex = currentIndex() + steps;
- // we wrap around to the last entry on backwards direction
+ // at the top we manually wrap around to the last entry.
+ // at the bottom wrap-around happens automatically due to invalid nIndex.
if (nIndex < -1) {
nIndex = count() - 1;
}