Allow shift to extend selection

develop
lethosor 2015-01-14 15:06:59 -05:00
parent e2d7a7395e
commit 70824ade14
1 changed files with 6 additions and 5 deletions

@ -1071,6 +1071,7 @@ void viewscreen_unitlaborsst::calcSize()
void viewscreen_unitlaborsst::feed(set<df::interface_key> *events) void viewscreen_unitlaborsst::feed(set<df::interface_key> *events)
{ {
int8_t modstate = Core::getInstance().getModstate();
bool leave_all = events->count(interface_key::LEAVESCREEN_ALL); bool leave_all = events->count(interface_key::LEAVESCREEN_ALL);
if (leave_all || events->count(interface_key::LEAVESCREEN)) if (leave_all || events->count(interface_key::LEAVESCREEN))
{ {
@ -1283,16 +1284,16 @@ void viewscreen_unitlaborsst::feed(set<df::interface_key> *events)
break; break;
case DISP_COLUMN_SELECTED: case DISP_COLUMN_SELECTED:
// left-click to select, right-click to extend selection // left-click to select, right-click or shift-click to extend selection
if (enabler->mouse_lbut) if (enabler->mouse_rbut || (enabler->mouse_lbut && (modstate & MOD_SHIFT)))
{ {
input_row = click_unit; input_row = click_unit;
events->insert(interface_key::CUSTOM_X); events->insert(interface_key::CUSTOM_SHIFT_X);
} }
if (enabler->mouse_rbut) else if (enabler->mouse_lbut)
{ {
input_row = click_unit; input_row = click_unit;
events->insert(interface_key::CUSTOM_SHIFT_X); events->insert(interface_key::CUSTOM_X);
} }
break; break;