File indexing completed on 2024-04-28 16:49:41

0001 /*
0002  *  SPDX-FileCopyrightText: 2014 Sebastian Kügler <sebas@kde.org>
0003  *
0004  *  SPDX-License-Identifier: LGPL-2.1-or-later
0005  */
0006 
0007 #include "qscreenscreen.h"
0008 
0009 #include <configmonitor.h>
0010 #include <mode.h>
0011 #include <screen.h>
0012 
0013 #include <QGuiApplication>
0014 
0015 using namespace KScreen;
0016 
0017 QScreenScreen::QScreenScreen(QScreenConfig *config)
0018     : QObject(config)
0019 {
0020 }
0021 
0022 QScreenScreen::~QScreenScreen()
0023 {
0024 }
0025 
0026 ScreenPtr QScreenScreen::toKScreenScreen() const
0027 {
0028     KScreen::ScreenPtr kscreenScreen(new KScreen::Screen);
0029     updateKScreenScreen(kscreenScreen);
0030     return kscreenScreen;
0031 }
0032 
0033 void QScreenScreen::updateKScreenScreen(ScreenPtr &screen) const
0034 {
0035     if (!screen) {
0036         return;
0037     }
0038 
0039     auto primary = QGuiApplication::primaryScreen();
0040 
0041     if (primary) {
0042         QSize _s = primary->availableVirtualGeometry().size();
0043 
0044         screen->setCurrentSize(_s);
0045         screen->setId(1);
0046         screen->setMaxSize(_s);
0047         screen->setMinSize(_s);
0048         screen->setCurrentSize(_s);
0049         screen->setMaxActiveOutputsCount(QGuiApplication::screens().count());
0050     }
0051 }