Browse Source

Add module deselection to context menu.

tags/v2.0.0
Andrew Belt 3 years ago
parent
commit
8dc2b30c6b
3 changed files with 12 additions and 0 deletions
  1. +1
    -0
      include/app/RackWidget.hpp
  2. +5
    -0
      src/app/ModuleWidget.cpp
  3. +6
    -0
      src/app/RackWidget.cpp

+ 1
- 0
include/app/RackWidget.hpp View File

@@ -71,6 +71,7 @@ struct RackWidget : widget::OpaqueWidget {
history::ComplexAction* getModuleDragAction();

void updateModuleSelections();
void clearModuleSelections();
int getNumSelectedModules();
std::list<ModuleWidget*> getSelectedModules();
void resetSelectedModulesAction();


+ 5
- 0
src/app/ModuleWidget.cpp View File

@@ -1088,6 +1088,11 @@ void ModuleWidget::createSelectionContextMenu() {
int n = APP->scene->rack->getNumSelectedModules();
menu->addChild(createMenuLabel(string::f("%d selected %s", n, n == 1 ? "module" : "modules")));

// Deselect
menu->addChild(createMenuItem("Deselect", "", [=]() {
APP->scene->rack->clearModuleSelections();
}));

// Initialize
menu->addChild(createMenuItem("Initialize", RACK_MOD_CTRL_NAME "+I", [=]() {
APP->scene->rack->resetSelectedModulesAction();


+ 6
- 0
src/app/RackWidget.cpp View File

@@ -653,6 +653,12 @@ void RackWidget::updateModuleSelections() {
}
}

void RackWidget::clearModuleSelections() {
for (ModuleWidget* mw : getModules()) {
mw->selected() = false;
}
}

int RackWidget::getNumSelectedModules() {
int count = 0;
for (widget::Widget* w : internal->moduleContainer->children) {


Loading…
Cancel
Save