allow sliders to be tabbed to

This commit is contained in:
itsmattkc
2019-12-15 20:03:02 +11:00
parent 4630975e43
commit d6d8409bb9
3 changed files with 18 additions and 3 deletions
+1
View File
@@ -46,6 +46,7 @@ SliderBase::SliderBase(Mode mode, QWidget *parent) :
connect(label_, SIGNAL(drag_start()), this, SLOT(LabelPressed()));
connect(label_, SIGNAL(dragged(int)), this, SLOT(LabelDragged(int)));
connect(label_, SIGNAL(drag_stop()), this, SLOT(LabelClicked()));
connect(label_, SIGNAL(focused()), this, SLOT(LabelClicked()));
connect(editor_, SIGNAL(Confirmed()), this, SLOT(LineEditConfirmed()));
connect(editor_, SIGNAL(Cancelled()), this, SLOT(LineEditCancelled()));
+10
View File
@@ -33,6 +33,9 @@ SliderLabel::SliderLabel(QWidget *parent) :
QFont f = font();
f.setUnderline(true);
setFont(f);
// Allow users to tab to this widget
setFocusPolicy(Qt::TabFocus);
}
void SliderLabel::mousePressEvent(QMouseEvent *ev)
@@ -70,3 +73,10 @@ void SliderLabel::mouseReleaseEvent(QMouseEvent *ev)
static_cast<QGuiApplication*>(QApplication::instance())->restoreOverrideCursor();
}
void SliderLabel::focusInEvent(QFocusEvent *event)
{
QWidget::focusInEvent(event);
emit focused();
}
+7 -3
View File
@@ -30,11 +30,13 @@ public:
SliderLabel(QWidget* parent);
protected:
void mousePressEvent(QMouseEvent *ev) override;
virtual void mousePressEvent(QMouseEvent *ev) override;
void mouseMoveEvent(QMouseEvent *ev) override;
virtual void mouseMoveEvent(QMouseEvent *ev) override;
void mouseReleaseEvent(QMouseEvent *ev) override;
virtual void mouseReleaseEvent(QMouseEvent *ev) override;
virtual void focusInEvent(QFocusEvent *event) override;
signals:
void dragged(int x);
@@ -43,6 +45,8 @@ signals:
void drag_stop();
void focused();
private:
QPoint drag_start_;