File indexing completed on 2024-05-12 05:33:51

0001 /*
0002  *  SPDX-FileCopyrightText: 2014-2015 Sebastian Kügler <sebas@kde.org>
0003  *  SPDX-FileCopyrightText: 2021 Méven Car <meven.car@enioka.com>
0004  *
0005  *  SPDX-License-Identifier: LGPL-2.1-or-later
0006  */
0007 #include "waylandoutputmanagement.h"
0008 #include <QDebug>
0009 
0010 namespace KScreen
0011 {
0012 WaylandOutputManagement::WaylandOutputManagement(struct ::wl_registry *registry, int id, int version)
0013     : QObject()
0014     , QtWayland::kde_output_management_v2(registry, id, version)
0015 {
0016 }
0017 
0018 WaylandOutputConfiguration *WaylandOutputManagement::createConfiguration()
0019 {
0020     return new WaylandOutputConfiguration(create_configuration());
0021 }
0022 
0023 WaylandOutputConfiguration::WaylandOutputConfiguration(struct ::kde_output_configuration_v2 *object)
0024     : QObject()
0025     , QtWayland::kde_output_configuration_v2()
0026 {
0027     init(object);
0028 }
0029 
0030 void WaylandOutputConfiguration::kde_output_configuration_v2_applied()
0031 {
0032     Q_EMIT applied();
0033 }
0034 void WaylandOutputConfiguration::kde_output_configuration_v2_failed()
0035 {
0036     Q_EMIT failed();
0037 }
0038 
0039 WaylandOutputOrder::WaylandOutputOrder(struct ::wl_registry *registry, int id, int version)
0040     : QtWayland::kde_output_order_v1(registry, id, version)
0041 {
0042 }
0043 
0044 WaylandOutputOrder::~WaylandOutputOrder()
0045 {
0046     destroy();
0047 }
0048 
0049 QList<QString> WaylandOutputOrder::order() const
0050 {
0051     return m_outputOrder;
0052 }
0053 
0054 void WaylandOutputOrder::kde_output_order_v1_output(const QString &output_name)
0055 {
0056     m_pendingOutputOrder.push_back(output_name);
0057 }
0058 
0059 void WaylandOutputOrder::kde_output_order_v1_done()
0060 {
0061     m_outputOrder = m_pendingOutputOrder;
0062     Q_EMIT outputOrderChanged(m_pendingOutputOrder);
0063     m_pendingOutputOrder.clear();
0064 }
0065 }
0066 
0067 #include "moc_waylandoutputmanagement.cpp"