From 2f29179213cdc7dc43d49b111ff6860a76b0df26 Mon Sep 17 00:00:00 2001 From: lupoDharkael Date: Sun, 15 Apr 2018 16:25:48 +0200 Subject: [PATCH] Update buttonArea after resize --- src/widgets/capture/buttonhandler.cpp | 4 ++++ src/widgets/capture/buttonhandler.h | 3 ++- src/widgets/capture/capturewidget.cpp | 3 +++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/widgets/capture/buttonhandler.cpp b/src/widgets/capture/buttonhandler.cpp index e01c34d8..9f30ffd4 100644 --- a/src/widgets/capture/buttonhandler.cpp +++ b/src/widgets/capture/buttonhandler.cpp @@ -368,3 +368,7 @@ void ButtonHandler::updateScreenRegions(const QVector &rects) { m_screenRegions += rect; } } + +void ButtonHandler::updateScreenRegions(const QRect &rect) { + m_screenRegions = QRegion(rect); +} diff --git a/src/widgets/capture/buttonhandler.h b/src/widgets/capture/buttonhandler.h index adbf738c..6d4daf0c 100644 --- a/src/widgets/capture/buttonhandler.h +++ b/src/widgets/capture/buttonhandler.h @@ -38,12 +38,13 @@ public: bool buttonsAreInside() const; size_t size() const; - void updatePosition(const QRect &selection); void setButtons(const QVector); bool contains(const QPoint &p) const; void updateScreenRegions(const QVector &rects); + void updateScreenRegions(const QRect &rect); public slots: + void updatePosition(const QRect &selection); void hide(); void show(); diff --git a/src/widgets/capture/capturewidget.cpp b/src/widgets/capture/capturewidget.cpp index 9af777ca..f5336093 100644 --- a/src/widgets/capture/capturewidget.cpp +++ b/src/widgets/capture/capturewidget.cpp @@ -475,6 +475,9 @@ void CaptureWidget::resizeEvent(QResizeEvent *e) { QWidget::resizeEvent(e); m_context.widgetDimensions = rect(); m_context.widgetOffset = mapToGlobal(QPoint(0,0)); + if (!m_context.fullscreen) { + m_buttonHandler->updateScreenRegions(rect()); + } } void CaptureWidget::moveEvent(QMoveEvent *e) {