slider: fixed crash when clicking another mouse button while dragging
This commit is contained in:
@@ -51,10 +51,12 @@ SliderLabel::SliderLabel(QWidget *parent) :
|
|||||||
|
|
||||||
void SliderLabel::mousePressEvent(QMouseEvent *e)
|
void SliderLabel::mousePressEvent(QMouseEvent *e)
|
||||||
{
|
{
|
||||||
if (e->modifiers() & Qt::AltModifier) {
|
if (e->button() == Qt::LeftButton) {
|
||||||
emit RequestReset();
|
if (e->modifiers() & Qt::AltModifier) {
|
||||||
} else {
|
emit RequestReset();
|
||||||
emit LabelPressed();
|
} else {
|
||||||
|
emit LabelPressed();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -103,9 +103,7 @@ void SliderLadder::mouseReleaseEvent(QMouseEvent *event)
|
|||||||
{
|
{
|
||||||
Q_UNUSED(event)
|
Q_UNUSED(event)
|
||||||
|
|
||||||
drag_timer_.stop();
|
this->close();
|
||||||
|
|
||||||
emit Released();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void SliderLadder::showEvent(QShowEvent *event)
|
void SliderLadder::showEvent(QShowEvent *event)
|
||||||
@@ -115,6 +113,15 @@ void SliderLadder::showEvent(QShowEvent *event)
|
|||||||
drag_timer_.start();
|
drag_timer_.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SliderLadder::closeEvent(QCloseEvent *event)
|
||||||
|
{
|
||||||
|
Q_UNUSED(event)
|
||||||
|
|
||||||
|
drag_timer_.stop();
|
||||||
|
|
||||||
|
emit Released();
|
||||||
|
}
|
||||||
|
|
||||||
void SliderLadder::TimerUpdate()
|
void SliderLadder::TimerUpdate()
|
||||||
{
|
{
|
||||||
int32_t x_mvmt, y_mvmt;
|
int32_t x_mvmt, y_mvmt;
|
||||||
|
|||||||
@@ -75,6 +75,8 @@ protected:
|
|||||||
|
|
||||||
virtual void showEvent(QShowEvent *event) override;
|
virtual void showEvent(QShowEvent *event) override;
|
||||||
|
|
||||||
|
virtual void closeEvent(QCloseEvent* event) override;
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void DraggedByValue(int value, double multiplier);
|
void DraggedByValue(int value, double multiplier);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user