From 30491887d534f1a1ae60741edfa088458424697f Mon Sep 17 00:00:00 2001 From: lupoDharkael Date: Fri, 21 Jul 2017 14:52:38 +0200 Subject: [PATCH] Fix buttons hide in capture mode When clicking inside the selection area repeatedly the buttons were hiding and appearing for every click. Now the wont disappear if you click inside the area. --- src/capture/capturewidget.cpp | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/src/capture/capturewidget.cpp b/src/capture/capturewidget.cpp index dd64f926..8fcc965c 100644 --- a/src/capture/capturewidget.cpp +++ b/src/capture/capturewidget.cpp @@ -29,10 +29,8 @@ #include "src/capture/screengrabber.h" #include "src/utils/confighandler.h" #include -#include #include #include -#include #include #include #include @@ -210,25 +208,23 @@ void CaptureWidget::mousePressEvent(QMouseEvent *e) { m_colorPicker->show(); return; } - if (e->button() == Qt::LeftButton) { m_showInitialMsg = false; m_mouseIsClicked = true; if (m_state != CaptureButton::TYPE_MOVESELECTION) { - m_modifications.append( - new CaptureModification(m_state, e->pos(), - m_colorPicker->getDrawColor(), - this) - ); + auto mod = new CaptureModification(m_state, e->pos(), + m_colorPicker->getDrawColor(), + this); + m_modifications.append(mod); return; } m_dragStartPoint = e->pos(); m_selectionBeforeDrag = m_selection; - m_buttonHandler->hide(); if (!m_selection.contains(e->pos()) && !m_mouseOverHandle) { m_newSelection = true; m_selection = QRect(); setCursor(Qt::CrossCursor); + m_buttonHandler->hide(); } else if (m_selection.contains(e->pos())){ setCursor(Qt::ClosedHandCursor); } @@ -239,7 +235,9 @@ void CaptureWidget::mousePressEvent(QMouseEvent *e) { void CaptureWidget::mouseMoveEvent(QMouseEvent *e) { if (m_mouseIsClicked && m_state == CaptureButton::TYPE_MOVESELECTION) { m_mousePos = e->pos(); - + if (m_buttonHandler->isVisible()) { + m_buttonHandler->hide(); + } if (m_newSelection) { m_selection = QRect(m_dragStartPoint, limitPointToRect( m_mousePos, rect())).normalized(); @@ -296,8 +294,6 @@ void CaptureWidget::mouseMoveEvent(QMouseEvent *e) { r.setBottomRight(limitPointToRect(r.bottomRight(), rect())); m_selection = r; } - update(); - } else if (m_mouseIsClicked) { m_modifications.last()->addPoint(e->pos()); } else {