summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorronso0 <ronso0@mixxx.org>2020-10-23 17:34:51 +0200
committerronso0 <ronso0@mixxx.org>2020-10-23 17:34:51 +0200
commit1fe930b79e35c17a880140dc914ce6c59660b86c (patch)
tree67c934303f0af0a6f49bdcadf57e5ec74f358dfe
parent1098547b75d32ed0e55c0b2d208ed5d9da2fb469 (diff)
Controlpickermenu: put all Sampler actions into submenu below Deck1-4
-rw-r--r--src/controllers/controlpickermenu.cpp41
1 files changed, 30 insertions, 11 deletions
diff --git a/src/controllers/controlpickermenu.cpp b/src/controllers/controlpickermenu.cpp
index 8da152f324..07632a6eaf 100644
--- a/src/controllers/controlpickermenu.cpp
+++ b/src/controllers/controlpickermenu.cpp
@@ -951,18 +951,37 @@ void ControlPickerMenu::addPlayerControl(QString control, QString controlTitle,
}
}
- for (int i = 1; samplerControls && i <= iNumSamplers; ++i) {
- // PlayerManager::groupForSampler is 0-indexed.
- QString prefix = m_samplerStr.arg(i);
- QString group = PlayerManager::groupForSampler(i - 1);
- addSingleControl(group, control, controlTitle, controlDescription,
- controlMenu, prefix, prefix);
-
+ if (samplerControls) {
+ parented_ptr<QMenu> samplerControlMenu = make_parented<QMenu>(tr("Samplers"), controlMenu);
+ controlMenu->addMenu(samplerControlMenu);
+ parented_ptr<QMenu> samplerResetControlMenu = nullptr;
if (resetControlMenu) {
- QString resetTitle = QString("%1 (%2)").arg(controlTitle, m_resetStr);
- QString resetDescription = QString("%1 (%2)").arg(controlDescription, m_resetStr);
- addSingleControl(group, resetControl, resetTitle, resetDescription,
- resetControlMenu, prefix, prefix);
+ samplerResetControlMenu = make_parented<QMenu>(tr("Samplers"), resetControlMenu);
+ resetControlMenu->addMenu(samplerResetControlMenu);
+ }
+ for (int i = 1; i <= iNumSamplers; ++i) {
+ // PlayerManager::groupForSampler is 0-indexed.
+ QString prefix = m_samplerStr.arg(i);
+ QString group = PlayerManager::groupForSampler(i - 1);
+ addSingleControl(group,
+ control,
+ controlTitle,
+ controlDescription,
+ samplerControlMenu,
+ prefix,
+ prefix);
+
+ if (resetControlMenu) {
+ QString resetTitle = QString("%1 (%2)").arg(controlTitle, m_resetStr);
+ QString resetDescription = QString("%1 (%2)").arg(controlDescription, m_resetStr);
+ addSingleControl(group,
+ resetControl,
+ resetTitle,
+ resetDescription,
+ samplerResetControlMenu,
+ prefix,
+ prefix);
+ }
}
}
}