aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/screenManager/screenmanager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/screenManager/screenmanager.cpp')
-rw-r--r--plugins/screenManager/screenmanager.cpp55
1 files changed, 55 insertions, 0 deletions
diff --git a/plugins/screenManager/screenmanager.cpp b/plugins/screenManager/screenmanager.cpp
new file mode 100644
index 0000000..b993bf8
--- /dev/null
+++ b/plugins/screenManager/screenmanager.cpp
@@ -0,0 +1,55 @@
+/****************************************************************************
+**
+** Copyright (C) 2016 Pelagicore AG
+** Contact: http://www.qt.io/ or http://www.pelagicore.com/
+**
+** This file is part of the Neptune IVI UI.
+**
+** $QT_BEGIN_LICENSE:GPL3-PELAGICORE$
+** Commercial License Usage
+** Licensees holding valid commercial Pelagicore Neptune IVI UI
+** licenses may use this file in accordance with the commercial license
+** agreement provided with the Software or, alternatively, in accordance
+** with the terms contained in a written agreement between you and
+** Pelagicore. For licensing terms and conditions, contact us at:
+** http://www.pelagicore.com.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPLv3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3 requirements will be
+** met: http://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+** SPDX-License-Identifier: GPL-3.0
+**
+****************************************************************************/
+
+#include "screenmanager.h"
+#include <QGuiApplication>
+#include <QScreen>
+#include <QDebug>
+
+ScreenManager::ScreenManager(QObject *parent)
+ : QObject(parent)
+{
+ connect(qApp, &QGuiApplication::screenAdded, this, &ScreenManager::availableScreensChanged);
+ connect(qApp, &QGuiApplication::screenAdded, this, &ScreenManager::availableScreensChanged);
+}
+
+void ScreenManager::setScreen(QWindow *window, int screen)
+{
+ if (screen >= 0 && screen < QGuiApplication::screens().count()) {
+ window->setScreen(QGuiApplication::screens().at(screen));
+ } else {
+ qWarning() << "invalid Screen";
+ }
+}
+
+QList<QScreen *> ScreenManager::availableScreens() const
+{
+ return QGuiApplication::screens();
+}