summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPier Luigi Fiorini <pierluigi.fiorini@gmail.com>2016-06-06 07:32:21 +0200
committerPier Luigi Fiorini <pierluigi.fiorini@gmail.com>2016-06-09 19:54:41 +0000
commit0fb83224a2a9e6041d42e298130dea38f2bad363 (patch)
tree300ea2578ad935198e70e412ca1e5bfff97ec0af
parentba26e9b329641c8dc9b9396bcc0ba152f2bb9ea0 (diff)
Emit signals when outputs are added or removed
Change-Id: Ib9267dca4a1adf3283241b5b6d4062ea0292977c Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
-rw-r--r--src/compositor/compositor_api/qwaylandcompositor.h4
-rw-r--r--src/compositor/compositor_api/qwaylandcompositor_p.h6
2 files changed, 9 insertions, 1 deletions
diff --git a/src/compositor/compositor_api/qwaylandcompositor.h b/src/compositor/compositor_api/qwaylandcompositor.h
index f97484d86..dd3c20e2f 100644
--- a/src/compositor/compositor_api/qwaylandcompositor.h
+++ b/src/compositor/compositor_api/qwaylandcompositor.h
@@ -135,6 +135,10 @@ Q_SIGNALS:
void defaultInputDeviceChanged(QWaylandInputDevice *newDevice, QWaylandInputDevice *oldDevice);
void useHardwareIntegrationExtensionChanged();
+
+ void outputAdded(QWaylandOutput *output);
+ void outputRemoved(QWaylandOutput *output);
+
protected:
virtual void retainedSelectionReceived(QMimeData *mimeData);
virtual QWaylandInputDevice *createInputDevice();
diff --git a/src/compositor/compositor_api/qwaylandcompositor_p.h b/src/compositor/compositor_api/qwaylandcompositor_p.h
index 8966acb38..7e1d72675 100644
--- a/src/compositor/compositor_api/qwaylandcompositor_p.h
+++ b/src/compositor/compositor_api/qwaylandcompositor_p.h
@@ -185,16 +185,20 @@ void QWaylandCompositorPrivate::removeClient(QWaylandClient *client)
void QWaylandCompositorPrivate::addOutput(QWaylandOutput *output)
{
Q_ASSERT(output);
+ Q_Q(QWaylandCompositor);
if (outputs.contains(output))
return;
outputs.append(output);
+ emit q->outputAdded(output);
}
void QWaylandCompositorPrivate::removeOutput(QWaylandOutput *output)
{
Q_ASSERT(output);
Q_ASSERT(outputs.count(output) == 1);
- outputs.removeOne(output);
+ Q_Q(QWaylandCompositor);
+ if (outputs.removeOne(output))
+ emit q->outputRemoved(output);
}
QT_END_NAMESPACE