UI: fix unable to scroll on 'Regulatory' page (#25014)

* fix unable to scroll on 'Regulatory' page

deleteLater after hide

* remove alert

* override exec

* set MousePressEventDelay to 0

* set to 0.01

* cleanup

* check event->pos()
pull/25074/head
Dean Lee 3 years ago committed by GitHub
parent b035b538ec
commit dc3d94d662
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 4
      selfdrive/ui/qt/widgets/controls.cc
  2. 6
      selfdrive/ui/qt/widgets/controls.h
  3. 2
      selfdrive/ui/qt/widgets/scrollview.cc

@ -125,7 +125,9 @@ void ElidedLabel::paintEvent(QPaintEvent *event) {
ClickableWidget::ClickableWidget(QWidget *parent) : QWidget(parent) { }
void ClickableWidget::mouseReleaseEvent(QMouseEvent *event) {
emit clicked();
if (rect().contains(event->pos())) {
emit clicked();
}
}
// Fix stylesheets

@ -24,7 +24,11 @@ signals:
protected:
void paintEvent(QPaintEvent *event) override;
void resizeEvent(QResizeEvent* event) override;
void mouseReleaseEvent(QMouseEvent *event) override { emit clicked(); }
void mouseReleaseEvent(QMouseEvent *event) override {
if (rect().contains(event->pos())) {
emit clicked();
}
}
QString lastText_, elidedText_;
};

@ -37,7 +37,7 @@ ScrollView::ScrollView(QWidget *w, QWidget *parent) : QScrollArea(parent) {
sp.setScrollMetric(QScrollerProperties::VerticalOvershootPolicy, QVariant::fromValue<QScrollerProperties::OvershootPolicy>(QScrollerProperties::OvershootAlwaysOff));
sp.setScrollMetric(QScrollerProperties::HorizontalOvershootPolicy, QVariant::fromValue<QScrollerProperties::OvershootPolicy>(QScrollerProperties::OvershootAlwaysOff));
sp.setScrollMetric(QScrollerProperties::MousePressEventDelay, 0.01);
scroller->grabGesture(this->viewport(), QScroller::LeftMouseButtonGesture);
scroller->setScrollerProperties(sp);
}

Loading…
Cancel
Save