quick toggles cleanup

pull/2643/head
Adeeb Shihadeh 4 years ago
parent 61884d2c50
commit f66fac1a0b
  1. 22
      selfdrive/ui/qt/offroad/toggle.cc
  2. 3
      selfdrive/ui/qt/offroad/toggle.hpp

@ -1,11 +1,5 @@
#include "toggle.hpp" #include "toggle.hpp"
#include <QAbstractButton>
#include <QPropertyAnimation>
#include <QWidget>
#include <QDebug>
#include "common/params.h"
Toggle::Toggle(QWidget *parent) : QAbstractButton(parent), Toggle::Toggle(QWidget *parent) : QAbstractButton(parent),
_height(60), _height(60),
_height_rect(45), _height_rect(45),
@ -18,7 +12,6 @@ _anim(new QPropertyAnimation(this, "offset_circle", this))
_y_rect = (_height - _height_rect)/2; _y_rect = (_height - _height_rect)/2;
} }
void Toggle::paintEvent(QPaintEvent *e) { void Toggle::paintEvent(QPaintEvent *e) {
this->setFixedHeight(_height); this->setFixedHeight(_height);
QPainter p(this); QPainter p(this);
@ -42,25 +35,18 @@ void Toggle::mouseReleaseEvent(QMouseEvent *e) {
togglePosition(); togglePosition();
emit stateChanged(_on); emit stateChanged(_on);
} }
} }
void Toggle::togglePosition() { void Toggle::togglePosition() {
_on = !_on; _on = !_on;
if (_on) { const int left = _radius;
_anim->setStartValue(_radius); const int right = width() - _radius;
_anim->setEndValue(width() - _radius); _anim->setStartValue(_on ? left : right);
_anim->setEndValue(_on ? right : left);
_anim->setDuration(120); _anim->setDuration(120);
_anim->start(); _anim->start();
} else {
_anim->setStartValue(width() - _radius);
_anim->setEndValue(_radius);
_anim->setDuration(120);
_anim->start();
}
} }
void Toggle::enterEvent(QEvent *e) { void Toggle::enterEvent(QEvent *e) {
setCursor(Qt::PointingHandCursor);
QAbstractButton::enterEvent(e); QAbstractButton::enterEvent(e);
} }

@ -7,11 +7,12 @@ class Toggle : public QAbstractButton {
public: public:
Toggle(QWidget* parent = nullptr); Toggle(QWidget* parent = nullptr);
void togglePosition();//Toggles the toggle void togglePosition();
int offset_circle() const { int offset_circle() const {
return _x_circle; return _x_circle;
} }
void set_offset_circle(int o) { void set_offset_circle(int o) {
_x_circle = o; _x_circle = o;
update(); update();

Loading…
Cancel
Save