slider: use ctrl to switch axes

This commit is contained in:
itsmattkc
2020-06-19 02:36:09 +10:00
parent f8a8af9ec3
commit fd8116a9de
+4 -13
View File
@@ -135,14 +135,11 @@ void SliderLadder::TimerUpdate()
return;
}
int y_threshold = fontMetrics().height() / 2;
if (qAbs(y_mvmt) > qAbs(x_mvmt)
|| qApp->keyboardModifiers() & Qt::ControlModifier) {
if (qApp->keyboardModifiers() & Qt::ControlModifier) {
// Movement is vertical
y_mobility_ += y_mvmt;
if (qAbs(y_mobility_) > y_threshold) {
if (qAbs(y_mobility_) > fontMetrics().height()) {
int new_active_element;
if (y_mvmt < 0) {
@@ -165,15 +162,9 @@ void SliderLadder::TimerUpdate()
y_mobility_ = 0;
}
} else {
// Movement is horizontal
emit DraggedByValue(x_mvmt , elements_.at(active_element_)->GetMultiplier());
y_mobility_ = 0;
// Reduce Y mobility
if (y_mobility_ > 0) {
y_mobility_--;
} else if (y_mobility_ < 0) {
y_mobility_++;
}
emit DraggedByValue(x_mvmt + y_mvmt, elements_.at(active_element_)->GetMultiplier());
}
}