File indexing completed on 2024-05-05 05:38:49

0001 /*
0002     SPDX-FileCopyrightText: 2022 Marco Martin <mart@kde.org>
0003 
0004     SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0005 */
0006 
0007 #include <QObject>
0008 
0009 #include <QApplication>
0010 #include <QDebug>
0011 #include <QScreen>
0012 
0013 #include "../screenpool.h"
0014 
0015 class ScreenPoolTester : public QObject
0016 {
0017     Q_OBJECT
0018 public:
0019     ScreenPoolTester(QObject *parent = nullptr);
0020 
0021 private:
0022     void handleScreenRemoved(QScreen *screen);
0023     void handleScreenOrderChanged(QList<QScreen *> screens);
0024 
0025     ScreenPool *m_screenPool = nullptr;
0026 };
0027 
0028 ScreenPoolTester::ScreenPoolTester(QObject *parent)
0029     : QObject(parent)
0030     , m_screenPool(new ScreenPool)
0031 {
0032     connect(m_screenPool, &ScreenPool::screenRemoved, this, &ScreenPoolTester::handleScreenRemoved);
0033     connect(m_screenPool, &ScreenPool::screenOrderChanged, this, &ScreenPoolTester::handleScreenOrderChanged);
0034 
0035     qWarning() << "Screenpool started";
0036     qWarning() << m_screenPool;
0037 }
0038 
0039 void ScreenPoolTester::handleScreenRemoved(QScreen *screen)
0040 {
0041     qWarning() << "SCREEN REMOVED, not reacting yet" << screen;
0042     qWarning() << m_screenPool;
0043 }
0044 
0045 void ScreenPoolTester::handleScreenOrderChanged(QList<QScreen *> screens)
0046 {
0047     qWarning() << "SCREEN ORDER CHANGED:" << screens;
0048     qWarning() << m_screenPool;
0049 }
0050 
0051 Q_DECL_EXPORT int main(int argc, char *argv[])
0052 {
0053     QGuiApplication::setApplicationDisplayName(QStringLiteral("ScreenPool test"));
0054 
0055     QApplication app(argc, argv);
0056 
0057     ScreenPoolTester screenPoolTester;
0058 
0059     return app.exec();
0060 }
0061 
0062 #include "screenpooltest.moc"