From 2351cc54fb2cdb9db4b837f4f3672fc02a58132a Mon Sep 17 00:00:00 2001 From: lupoDharkael Date: Tue, 6 Jun 2017 19:41:38 +0200 Subject: [PATCH] Fix mouse capture of color picker --- src/capture/colorpicker.cpp | 22 ++++++++++++++++------ src/capture/colorpicker.h | 3 +++ 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/src/capture/colorpicker.cpp b/src/capture/colorpicker.cpp index db101e2e..9a5e04ce 100644 --- a/src/capture/colorpicker.cpp +++ b/src/capture/colorpicker.cpp @@ -58,6 +58,16 @@ QColor ColorPicker::getDrawColor() { return m_drawColor; } +void ColorPicker::show() { + grabMouse(); + QWidget::show(); +} + +void ColorPicker::hide() { + releaseMouse(); + QWidget::hide(); +} + void ColorPicker::paintEvent(QPaintEvent *) { QPainter painter(this); painter.setRenderHint(QPainter::Antialiasing); @@ -85,13 +95,13 @@ void ColorPicker::paintEvent(QPaintEvent *) { } void ColorPicker::mouseMoveEvent(QMouseEvent *e) { - for(int i = 0; i < colorList.size(); ++i) { - if (m_colorAreaList.at(i).contains(e->pos())) { - m_drawColor = colorList.at(i); - update(); - break; + for(int i = 0; i < colorList.size(); ++i) { + if (m_colorAreaList.at(i).contains(e->pos())) { + m_drawColor = colorList.at(i); + update(); + break; + } } - } } QVector ColorPicker::handleMask() const { diff --git a/src/capture/colorpicker.h b/src/capture/colorpicker.h index 109aaabe..77e54feb 100644 --- a/src/capture/colorpicker.h +++ b/src/capture/colorpicker.h @@ -29,6 +29,9 @@ public: QColor getDrawColor(); + void show(); + void hide(); + protected: void paintEvent(QPaintEvent *); void mouseMoveEvent(QMouseEvent *);