|
|
@ -770,6 +770,19 @@ bool PCB_SELECTION_TOOL::selectCursor( bool aForceSelect, CLIENT_SELECTION_FILTE |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// Some navigation actions are allowed in selectMultiple
|
|
|
|
const TOOL_ACTION* allowedActions[] = { &ACTIONS::panUp, &ACTIONS::panDown, |
|
|
|
&ACTIONS::panLeft, &ACTIONS::panRight, |
|
|
|
&ACTIONS::cursorUp, &ACTIONS::cursorDown, |
|
|
|
&ACTIONS::cursorLeft, &ACTIONS::cursorRight, |
|
|
|
&ACTIONS::cursorUpFast, &ACTIONS::cursorDownFast, |
|
|
|
&ACTIONS::cursorLeftFast, &ACTIONS::cursorRightFast, |
|
|
|
&ACTIONS::zoomIn, &ACTIONS::zoomOut, |
|
|
|
&ACTIONS::zoomInCenter, &ACTIONS::zoomOutCenter, |
|
|
|
&ACTIONS::zoomCenter, &ACTIONS::zoomFitScreen, |
|
|
|
&ACTIONS::zoomFitObjects, nullptr }; |
|
|
|
|
|
|
|
|
|
|
|
bool PCB_SELECTION_TOOL::selectMultiple() |
|
|
|
{ |
|
|
|
bool cancelled = false; // Was the tool cancelled while it was running?
|
|
|
@ -886,6 +899,16 @@ bool PCB_SELECTION_TOOL::selectMultiple() |
|
|
|
|
|
|
|
break; // Stop waiting for events
|
|
|
|
} |
|
|
|
|
|
|
|
// Allow some actions for navigation
|
|
|
|
for( int i = 0; allowedActions[i]; ++i ) |
|
|
|
{ |
|
|
|
if( evt->IsAction( allowedActions[i] ) ) |
|
|
|
{ |
|
|
|
evt->SetPassEvent(); |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
getViewControls()->SetAutoPan( false ); |
|
|
|