summaryrefslogtreecommitdiffstats
path: root/src/compositor
diff options
context:
space:
mode:
authorJohan Klokkhammer Helsing <johan.helsing@qt.io>2018-09-14 10:44:36 +0200
committerJohan Helsing <johan.helsing@qt.io>2018-09-17 08:20:08 +0000
commite3cb1c4e82b1172c7775ea0c8780f4b4e8fb94da (patch)
treee8b6851686471521a9eb93ebf87de28baa8b671b /src/compositor
parent371d015798441166bb27e0ee9140037edfcd7c4e (diff)
Compositor: Use Q_PRIVATE_SLOTs in QWaylandOutput
Change-Id: I25a8feb0919dcccc30d2f23d619e0ba5d4c214ff Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src/compositor')
-rw-r--r--src/compositor/compositor_api/qwaylandoutput.cpp60
-rw-r--r--src/compositor/compositor_api/qwaylandoutput.h8
-rw-r--r--src/compositor/compositor_api/qwaylandoutput_p.h3
3 files changed, 34 insertions, 37 deletions
diff --git a/src/compositor/compositor_api/qwaylandoutput.cpp b/src/compositor/compositor_api/qwaylandoutput.cpp
index 17c56cfdc..1f34f4eac 100644
--- a/src/compositor/compositor_api/qwaylandoutput.cpp
+++ b/src/compositor/compositor_api/qwaylandoutput.cpp
@@ -124,6 +124,27 @@ void QWaylandOutputPrivate::output_bind_resource(Resource *resource)
}
}
+void QWaylandOutputPrivate::_q_handleMaybeWindowPixelSizeChanged()
+{
+ if (!window)
+ return;
+
+ const QSize pixelSize = window->size() * window->devicePixelRatio();
+
+ if (pixelSize != windowPixelSize) {
+ windowPixelSize = pixelSize;
+ handleWindowPixelSizeChanged();
+ }
+}
+
+void QWaylandOutputPrivate::_q_handleWindowDestroyed()
+{
+ Q_Q(QWaylandOutput);
+ window = nullptr;
+ emit q->windowChanged();
+ emit q->windowDestroyed();
+}
+
void QWaylandOutputPrivate::sendGeometry(const Resource *resource)
{
send_geometry(resource->handle,
@@ -313,10 +334,10 @@ void QWaylandOutput::initialize()
QWaylandCompositorPrivate::get(d->compositor)->addOutput(this);
if (d->window) {
- QObject::connect(d->window, &QWindow::widthChanged, this, &QWaylandOutput::handleMaybeWindowPixelSizeChanged);
- QObject::connect(d->window, &QWindow::heightChanged, this, &QWaylandOutput::handleMaybeWindowPixelSizeChanged);
- QObject::connect(d->window, &QWindow::screenChanged, this, &QWaylandOutput::handleMaybeWindowPixelSizeChanged);
- QObject::connect(d->window, &QObject::destroyed, this, &QWaylandOutput::handleWindowDestroyed);
+ QObjectPrivate::connect(d->window, &QWindow::widthChanged, d, &QWaylandOutputPrivate::_q_handleMaybeWindowPixelSizeChanged);
+ QObjectPrivate::connect(d->window, &QWindow::heightChanged, d, &QWaylandOutputPrivate::_q_handleMaybeWindowPixelSizeChanged);
+ QObjectPrivate::connect(d->window, &QWindow::screenChanged, d, &QWaylandOutputPrivate::_q_handleMaybeWindowPixelSizeChanged);
+ QObjectPrivate::connect(d->window, &QObject::destroyed, d, &QWaylandOutputPrivate::_q_handleWindowDestroyed);
}
d->init(d->compositor->display(), 2);
@@ -953,35 +974,6 @@ void QWaylandOutput::surfaceLeave(QWaylandSurface *surface)
/*!
* \internal
*/
-void QWaylandOutput::handleMaybeWindowPixelSizeChanged()
-{
- Q_D(QWaylandOutput);
-
- if (!d->window)
- return;
-
- const QSize pixelSize = d->window->size() * d->window->devicePixelRatio();
-
- if (pixelSize != d->windowPixelSize) {
- d->windowPixelSize = pixelSize;
- d->handleWindowPixelSizeChanged();
- }
-}
-
-/*!
- * \internal
- */
-void QWaylandOutput::handleWindowDestroyed()
-{
- Q_D(QWaylandOutput);
- d->window = nullptr;
- emit windowChanged();
- emit windowDestroyed();
-}
-
-/*!
- * \internal
- */
bool QWaylandOutput::event(QEvent *event)
{
if (event->type() == QEvent::Polish)
@@ -990,3 +982,5 @@ bool QWaylandOutput::event(QEvent *event)
}
QT_END_NAMESPACE
+
+#include "moc_qwaylandoutput.cpp"
diff --git a/src/compositor/compositor_api/qwaylandoutput.h b/src/compositor/compositor_api/qwaylandoutput.h
index c7f2973b6..31791a3c1 100644
--- a/src/compositor/compositor_api/qwaylandoutput.h
+++ b/src/compositor/compositor_api/qwaylandoutput.h
@@ -180,14 +180,14 @@ Q_SIGNALS:
void modelChanged();
void windowDestroyed();
-private Q_SLOTS:
- void handleMaybeWindowPixelSizeChanged();
- void handleWindowDestroyed();
-
protected:
bool event(QEvent *event) override;
virtual void initialize();
+
+private:
+ Q_PRIVATE_SLOT(d_func(), void _q_handleMaybeWindowPixelSizeChanged())
+ Q_PRIVATE_SLOT(d_func(), void _q_handleWindowDestroyed())
};
QT_END_NAMESPACE
diff --git a/src/compositor/compositor_api/qwaylandoutput_p.h b/src/compositor/compositor_api/qwaylandoutput_p.h
index d8b2c9dfa..4badd3797 100644
--- a/src/compositor/compositor_api/qwaylandoutput_p.h
+++ b/src/compositor/compositor_api/qwaylandoutput_p.h
@@ -114,6 +114,9 @@ protected:
void output_bind_resource(Resource *resource) override;
private:
+ void _q_handleMaybeWindowPixelSizeChanged();
+ void _q_handleWindowDestroyed();
+
QWaylandCompositor *compositor = nullptr;
QWindow *window = nullptr;
QString manufacturer;