labelslider sets its own cursor rather than the app's

This commit is contained in:
itsmattkc
2019-02-09 01:47:58 -08:00
parent 0ad58a6930
commit a9897f1b10
2 changed files with 17 additions and 5 deletions
+14 -5
View File
@@ -19,7 +19,7 @@ LabelSlider::LabelSlider(QWidget* parent) : QLabel(parent) {
min_enabled = false;
max_enabled = false;
set_color();
setCursor(Qt::SizeHorCursor);
set_default_cursor();
internal_value = -1;
set = false;
display_type = LABELSLIDER_NORMAL;
@@ -109,7 +109,7 @@ void LabelSlider::set_maximum_value(double v) {
void LabelSlider::mousePressEvent(QMouseEvent *ev) {
// if primary button is clicked
if (ev->button() == Qt::LeftButton) {
if (ev->button() == Qt::LeftButton && !drag_start) {
// store initial value to be compared while dragging
drag_start_value = internal_value;
@@ -134,7 +134,8 @@ void LabelSlider::mousePressEvent(QMouseEvent *ev) {
if (qIsNaN(internal_value)) internal_value = 0;
// hide the cursor and store information about it for dragging
qApp->setOverrideCursor(Qt::BlankCursor);
set_active_cursor();
drag_start = true;
drag_start_x = cursor().pos().x();
drag_start_y = cursor().pos().y();
@@ -180,7 +181,7 @@ void LabelSlider::mouseReleaseEvent(QMouseEvent*) {
if (drag_start) {
// unhide cursor
qApp->restoreOverrideCursor();
set_default_cursor();
drag_start = false;
@@ -242,5 +243,13 @@ void LabelSlider::mouseReleaseEvent(QMouseEvent*) {
set_value(d, true);
}
}
}
}
}
void LabelSlider::set_default_cursor() {
setCursor(Qt::SizeHorCursor);
}
void LabelSlider::set_active_cursor() {
setCursor(Qt::BlankCursor);
}
+3
View File
@@ -52,6 +52,9 @@ private:
int display_type;
double frame_rate;
void set_default_cursor();
void set_active_cursor();
signals:
void valueChanged();
void clicked();