summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Schürmann <daschuer@mixxx.org>2023-06-03 16:12:50 +0200
committerDaniel Schürmann <daschuer@mixxx.org>2023-06-03 16:27:11 +0200
commitb32e83fa4c1c0647afc388b7c1f86150eb2bf982 (patch)
treecb69bb2cee378b0092eec25df79de9b121521152
parent3abaad001846b11fbf027f6c4ee7267f0c10b4fc (diff)
Align class definition layout with the rest of Mixxx
-rw-r--r--src/waveform/renderers/allshader/waveformrendermark.cpp3
-rw-r--r--src/waveform/renderers/allshader/waveformrendermark.h2
-rw-r--r--src/widget/openglwindow.cpp21
-rw-r--r--src/widget/openglwindow.h10
-rw-r--r--src/widget/tooltipqopengl.cpp19
-rw-r--r--src/widget/tooltipqopengl.h20
-rw-r--r--src/widget/wglwidgetqopengl.cpp9
-rw-r--r--src/widget/wglwidgetqopengl.h10
8 files changed, 53 insertions, 41 deletions
diff --git a/src/waveform/renderers/allshader/waveformrendermark.cpp b/src/waveform/renderers/allshader/waveformrendermark.cpp
index 4f27e4ba80..357a0e10d6 100644
--- a/src/waveform/renderers/allshader/waveformrendermark.cpp
+++ b/src/waveform/renderers/allshader/waveformrendermark.cpp
@@ -33,7 +33,8 @@ constexpr int kMaxCueLabelLength = 23;
} // namespace
allshader::WaveformRenderMark::WaveformRenderMark(WaveformWidgetRenderer* waveformWidget)
- : WaveformRenderer(waveformWidget) {
+ : WaveformRenderer(waveformWidget),
+ m_bCuesUpdates(false) {
}
allshader::WaveformRenderMark::~WaveformRenderMark() {
diff --git a/src/waveform/renderers/allshader/waveformrendermark.h b/src/waveform/renderers/allshader/waveformrendermark.h
index 4f77e5f821..b17a9dc494 100644
--- a/src/waveform/renderers/allshader/waveformrendermark.h
+++ b/src/waveform/renderers/allshader/waveformrendermark.h
@@ -55,7 +55,7 @@ class allshader::WaveformRenderMark final : public QObject, public allshader::Wa
mixxx::RGBAShader m_rgbaShader;
mixxx::TextureShader m_textureShader;
std::unique_ptr<QOpenGLTexture> m_pPlayPosMarkTexture;
- bool m_bCuesUpdates{};
+ bool m_bCuesUpdates;
void drawMark(const QRectF& rect, QColor color);
void drawTexture(float x, float y, QOpenGLTexture* texture);
diff --git a/src/widget/openglwindow.cpp b/src/widget/openglwindow.cpp
index c2249a9e8e..b797ea8ebe 100644
--- a/src/widget/openglwindow.cpp
+++ b/src/widget/openglwindow.cpp
@@ -7,8 +7,9 @@
#include "widget/trackdroptarget.h"
#include "widget/wglwidget.h"
-OpenGLWindow::OpenGLWindow(WGLWidget* widget)
- : m_pWidget(widget) {
+OpenGLWindow::OpenGLWindow(WGLWidget* pWidget)
+ : m_pWidget(pWidget),
+ m_dirty(false) {
QSurfaceFormat format;
format.setVersion(2, 1);
format.setProfile(QSurfaceFormat::CoreProfile);
@@ -53,26 +54,26 @@ void OpenGLWindow::widgetDestroyed() {
m_pWidget = nullptr;
}
-bool OpenGLWindow::event(QEvent* ev) {
+bool OpenGLWindow::event(QEvent* pEv) {
// From here we call QApplication::sendEvent(m_pWidget, ev) to trigger
// handling of the event as if it were received by the main window.
// With drag move and drag leave events it may happen that this function
// gets called recursive, potentially resulting in infinite recursion
// and a stack overflow. The boolean m_handlingEvent protects against
// this recursion.
- const auto t = ev->type();
+ const auto t = pEv->type();
- bool result = QOpenGLWindow::event(ev);
+ bool result = QOpenGLWindow::event(pEv);
if (m_pWidget) {
// Tooltip don't work by forwarding the events. This mimics the
// tooltip behavior.
if (t == QEvent::MouseMove) {
ToolTipQOpenGL::singleton().start(
- m_pWidget, dynamic_cast<QMouseEvent*>(ev)->globalPos());
+ m_pWidget, dynamic_cast<QMouseEvent*>(pEv)->globalPos());
}
if (t == QEvent::Leave) {
- ToolTipQOpenGL::singleton().stop(m_pWidget);
+ ToolTipQOpenGL::singleton().stop();
}
if (t == QEvent::DragEnter || t == QEvent::DragMove ||
@@ -80,10 +81,10 @@ bool OpenGLWindow::event(QEvent* ev) {
// Drag & Drop events are not delivered correctly when using QApplication::sendEvent
// and even result in a recursive call to this method, so we use our own mechanism.
if (m_pWidget->trackDropTarget()) {
- return m_pWidget->trackDropTarget()->handleDragAndDropEventFromWindow(ev);
+ return m_pWidget->trackDropTarget()->handleDragAndDropEventFromWindow(pEv);
}
- ev->ignore();
+ pEv->ignore();
return false;
}
@@ -101,7 +102,7 @@ bool OpenGLWindow::event(QEvent* ev) {
// container widget that contains this QOpenGLWindow. With this mouse
// events, keyboard events, etc all arrive as intended, including the
// events for the WWaveformViewer that contains the waveform widget.
- QApplication::sendEvent(m_pWidget, ev);
+ QApplication::sendEvent(m_pWidget, pEv);
}
return result;
diff --git a/src/widget/openglwindow.h b/src/widget/openglwindow.h
index 3d725ba462..e275ff132d 100644
--- a/src/widget/openglwindow.h
+++ b/src/widget/openglwindow.h
@@ -9,11 +9,8 @@ class WGLWidget;
class OpenGLWindow : public QOpenGLWindow {
Q_OBJECT
- WGLWidget* m_pWidget;
- bool m_dirty{};
-
public:
- OpenGLWindow(WGLWidget* widget);
+ OpenGLWindow(WGLWidget* pWidget);
~OpenGLWindow();
void widgetDestroyed();
@@ -22,5 +19,8 @@ class OpenGLWindow : public QOpenGLWindow {
void initializeGL() override;
void paintGL() override;
void resizeGL(int w, int h) override;
- bool event(QEvent* ev) override;
+ bool event(QEvent* pEv) override;
+
+ WGLWidget* m_pWidget;
+ bool m_dirty;
};
diff --git a/src/widget/tooltipqopengl.cpp b/src/widget/tooltipqopengl.cpp
index 12c5aa4a20..c08dfde824 100644
--- a/src/widget/tooltipqopengl.cpp
+++ b/src/widget/tooltipqopengl.cpp
@@ -7,14 +7,18 @@
#include <QToolTip>
#include <memory>
-ToolTipQOpenGL::ToolTipQOpenGL() {
+#include "widget/wglwidget.h"
+
+ToolTipQOpenGL::ToolTipQOpenGL()
+ : m_active(true),
+ m_pWidget(nullptr) {
m_timer.setSingleShot(true);
connect(&m_timer, &QTimer::timeout, this, &ToolTipQOpenGL::onTimeout);
}
void ToolTipQOpenGL::onTimeout() {
- if (m_widget) {
- QToolTip::showText(m_pos, m_widget->toolTip(), m_widget);
+ if (m_pWidget) {
+ QToolTip::showText(m_pos, m_pWidget->toolTip(), m_pWidget);
}
}
@@ -30,14 +34,15 @@ void ToolTipQOpenGL::setActive(bool active) {
}
}
-void ToolTipQOpenGL::start(WGLWidget* widget, QPoint pos) {
+void ToolTipQOpenGL::start(WGLWidget* pWidget, QPoint pos) {
if (m_active) {
- m_widget = widget;
+ m_pWidget = pWidget;
m_pos = pos;
- m_timer.start(widget->style()->styleHint(QStyle::SH_ToolTip_WakeUpDelay));
+ m_timer.start(pWidget->style()->styleHint(QStyle::SH_ToolTip_WakeUpDelay));
}
}
-void ToolTipQOpenGL::stop(WGLWidget* widget) {
+void ToolTipQOpenGL::stop() {
m_timer.stop();
+ m_pWidget = nullptr;
}
diff --git a/src/widget/tooltipqopengl.h b/src/widget/tooltipqopengl.h
index 05777cfe76..ff5d817916 100644
--- a/src/widget/tooltipqopengl.h
+++ b/src/widget/tooltipqopengl.h
@@ -10,18 +10,20 @@ class WGLWidget;
// singleton mimics the standard tooltip behaviour for them.
class ToolTipQOpenGL : public QObject {
Q_OBJECT
-
- bool m_active{true};
- QTimer m_timer;
- QPoint m_pos{};
- WGLWidget* m_widget{};
- ToolTipQOpenGL();
-
public:
static ToolTipQOpenGL& singleton();
void setActive(bool active);
- void start(WGLWidget* widget, QPoint pos);
- void stop(WGLWidget* widget);
+ void start(WGLWidget* pWidget, QPoint pos);
+ void stop();
+
private slots:
void onTimeout();
+
+ private:
+ ToolTipQOpenGL();
+
+ bool m_active;
+ QTimer m_timer;
+ QPoint m_pos;
+ WGLWidget* m_pWidget;
};
diff --git a/src/widget/wglwidgetqopengl.cpp b/src/widget/wglwidgetqopengl.cpp
index 9e5bd33d72..25a4a6ef2a 100644
--- a/src/widget/wglwidgetqopengl.cpp
+++ b/src/widget/wglwidgetqopengl.cpp
@@ -4,8 +4,11 @@
#include "widget/tooltipqopengl.h"
#include "widget/wglwidget.h"
-WGLWidget::WGLWidget(QWidget* parent)
- : QWidget(parent) {
+WGLWidget::WGLWidget(QWidget* pParent)
+ : QWidget(pParent),
+ m_pOpenGLWindow(nullptr),
+ m_pContainerWidget(nullptr),
+ m_pTrackDropTarget(nullptr) {
// When the widget is resized or moved, the QOpenGLWindow visibly resizes
// or moves before the widgets do. This can be solved by calling
// setAttribute(Qt::WA_PaintOnScreen);
@@ -14,7 +17,7 @@ WGLWidget::WGLWidget(QWidget* parent)
}
WGLWidget::~WGLWidget() {
- ToolTipQOpenGL::singleton().stop(this);
+ ToolTipQOpenGL::singleton().stop();
if (m_pOpenGLWindow) {
m_pOpenGLWindow->widgetDestroyed();
}
diff --git a/src/widget/wglwidgetqopengl.h b/src/widget/wglwidgetqopengl.h
index 7666d823f8..78b4cd48e8 100644
--- a/src/widget/wglwidgetqopengl.h
+++ b/src/widget/wglwidgetqopengl.h
@@ -15,11 +15,6 @@ class OpenGLWindow;
class TrackDropTarget;
class WGLWidget : public QWidget {
- private:
- OpenGLWindow* m_pOpenGLWindow{};
- QWidget* m_pContainerWidget{};
- TrackDropTarget* m_pTrackDropTarget{};
-
public:
WGLWidget(QWidget* parent);
~WGLWidget();
@@ -48,4 +43,9 @@ class WGLWidget : public QWidget {
void resizeEvent(QResizeEvent* event) override;
QPaintDevice* paintDevice();
+
+ private:
+ OpenGLWindow* m_pOpenGLWindow;
+ QWidget* m_pContainerWidget;
+ TrackDropTarget* m_pTrackDropTarget;
};