From 7122a44db097162d05f094e90dbd399bc657a1cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gordan=20Marku=C5=A1?= Date: Tue, 15 Nov 2016 16:14:28 +0100 Subject: README update: ScreenManager installation Change-Id: Ibf5ebe86f17faacfb315105c9fc550385f8fbc1d Reviewed-by: Dominik Holland --- plugins/screenManager/plugin.cpp | 58 ----------------------------- plugins/screenManager/qmldir | 2 - plugins/screenManager/screenManager.pro | 30 --------------- plugins/screenManager/screenmanager.cpp | 65 --------------------------------- plugins/screenManager/screenmanager.h | 55 ---------------------------- plugins/screenmanager/plugin.cpp | 58 +++++++++++++++++++++++++++++ plugins/screenmanager/qmldir | 2 + plugins/screenmanager/screenmanager.cpp | 65 +++++++++++++++++++++++++++++++++ plugins/screenmanager/screenmanager.h | 55 ++++++++++++++++++++++++++++ plugins/screenmanager/screenmanager.pro | 30 +++++++++++++++ 10 files changed, 210 insertions(+), 210 deletions(-) delete mode 100644 plugins/screenManager/plugin.cpp delete mode 100644 plugins/screenManager/qmldir delete mode 100644 plugins/screenManager/screenManager.pro delete mode 100644 plugins/screenManager/screenmanager.cpp delete mode 100644 plugins/screenManager/screenmanager.h create mode 100644 plugins/screenmanager/plugin.cpp create mode 100644 plugins/screenmanager/qmldir create mode 100644 plugins/screenmanager/screenmanager.cpp create mode 100644 plugins/screenmanager/screenmanager.h create mode 100644 plugins/screenmanager/screenmanager.pro (limited to 'plugins') diff --git a/plugins/screenManager/plugin.cpp b/plugins/screenManager/plugin.cpp deleted file mode 100644 index ce0e6a8..0000000 --- a/plugins/screenManager/plugin.cpp +++ /dev/null @@ -1,58 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 Pelagicore AG -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the Neptune IVI UI. -** -** $QT_BEGIN_LICENSE:GPL-QTAS$ -** Commercial License Usage -** Licensees holding valid commercial Qt Automotive Suite 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 The Qt Company. For -** licensing terms and conditions see https://www.qt.io/terms-conditions. -** For further information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 or (at your option) any later version -** approved by the KDE Free Qt Foundation. The licenses are as published by -** the Free Software Foundation and appearing in the file LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -** SPDX-License-Identifier: GPL-3.0 -** -****************************************************************************/ - -#include -#include -#include "screenmanager.h" - -static QObject *screenManagerSingletonFactory(QQmlEngine *engine, QJSEngine *scriptEngine) -{ - Q_UNUSED(scriptEngine) - Q_UNUSED(engine) - - return new ScreenManager(); -} - -class HoundPlugin : public QQmlExtensionPlugin -{ - Q_OBJECT - Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface/1.0") -public: - virtual void registerTypes(const char *uri) - { - Q_ASSERT(QLatin1String(uri) == QLatin1String("com.pelagicore.ScreenManager")); - Q_UNUSED(uri); - - qmlRegisterSingletonType(uri, 1, 0, "ScreenManager", screenManagerSingletonFactory); - } -}; - -#include "plugin.moc" diff --git a/plugins/screenManager/qmldir b/plugins/screenManager/qmldir deleted file mode 100644 index 5472c91..0000000 --- a/plugins/screenManager/qmldir +++ /dev/null @@ -1,2 +0,0 @@ -module com.pelagicore.ScreenManager -plugin screenmanagerplugin diff --git a/plugins/screenManager/screenManager.pro b/plugins/screenManager/screenManager.pro deleted file mode 100644 index 2681be6..0000000 --- a/plugins/screenManager/screenManager.pro +++ /dev/null @@ -1,30 +0,0 @@ -TEMPLATE = lib -TARGET = screenmanagerplugin -QT += qml quick -CONFIG += qt plugin c++11 - -TARGET = $$qtLibraryTarget($$TARGET) -uri = com.pelagicore.ScreenManager - -SOURCES += \ - plugin.cpp \ - screenmanager.cpp \ - -HEADERS += \ - screenmanager.h \ - -OTHER_FILES = qmldir - -!equals(_PRO_FILE_PWD_, $$OUT_PWD) { - copy_qmldir.target = $$OUT_PWD/qmldir - copy_qmldir.depends = $$_PRO_FILE_PWD_/qmldir - copy_qmldir.commands = $(COPY_FILE) \"$$replace(copy_qmldir.depends, /, $$QMAKE_DIR_SEP)\" \"$$replace(copy_qmldir.target, /, $$QMAKE_DIR_SEP)\" - QMAKE_EXTRA_TARGETS += copy_qmldir - PRE_TARGETDEPS += $$copy_qmldir.target -} - -qmldir.files = qmldir -installPath = $$[QT_INSTALL_QML]/$$replace(uri, \\., /) -qmldir.path = $$installPath -target.path = $$installPath -INSTALLS += target qmldir diff --git a/plugins/screenManager/screenmanager.cpp b/plugins/screenManager/screenmanager.cpp deleted file mode 100644 index 660c770..0000000 --- a/plugins/screenManager/screenmanager.cpp +++ /dev/null @@ -1,65 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 Pelagicore AG -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the Neptune IVI UI. -** -** $QT_BEGIN_LICENSE:GPL-QTAS$ -** Commercial License Usage -** Licensees holding valid commercial Qt Automotive Suite 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 The Qt Company. For -** licensing terms and conditions see https://www.qt.io/terms-conditions. -** For further information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 or (at your option) any later version -** approved by the KDE Free Qt Foundation. The licenses are as published by -** the Free Software Foundation and appearing in the file LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -** SPDX-License-Identifier: GPL-3.0 -** -****************************************************************************/ - -#include "screenmanager.h" -#include -#include -#include - -ScreenManager::ScreenManager(QObject *parent) - : QObject(parent) -{ - connect(qApp, &QGuiApplication::screenAdded, this, &ScreenManager::availableScreensChanged); - connect(qApp, &QGuiApplication::screenAdded, this, &ScreenManager::availableScreensChanged); -} - -int ScreenManager::screenCount() const -{ - return QGuiApplication::screens().count(); -} - -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 ScreenManager::availableScreens() const -{ - QList list; - for (QScreen *screen : QGuiApplication::screens()) - list.append(screen); - - return list; -} diff --git a/plugins/screenManager/screenmanager.h b/plugins/screenManager/screenmanager.h deleted file mode 100644 index 3b92b01..0000000 --- a/plugins/screenManager/screenmanager.h +++ /dev/null @@ -1,55 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 Pelagicore AG -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the Neptune IVI UI. -** -** $QT_BEGIN_LICENSE:GPL-QTAS$ -** Commercial License Usage -** Licensees holding valid commercial Qt Automotive Suite 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 The Qt Company. For -** licensing terms and conditions see https://www.qt.io/terms-conditions. -** For further information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 or (at your option) any later version -** approved by the KDE Free Qt Foundation. The licenses are as published by -** the Free Software Foundation and appearing in the file LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -** SPDX-License-Identifier: GPL-3.0 -** -****************************************************************************/ - -#ifndef SCREENMANAGER_H -#define SCREENMANAGER_H - -#include -#include - -class ScreenManager : public QObject -{ - Q_OBJECT - - Q_PROPERTY(QList availableScreens READ availableScreens NOTIFY availableScreensChanged) - -public: - explicit ScreenManager(QObject *parent = 0); - - Q_INVOKABLE int screenCount() const; - Q_INVOKABLE void setScreen(QWindow * window, int screen); - QList availableScreens() const; - -signals: - void availableScreensChanged(); -}; - -#endif // SCREENMANAGER_H diff --git a/plugins/screenmanager/plugin.cpp b/plugins/screenmanager/plugin.cpp new file mode 100644 index 0000000..ce0e6a8 --- /dev/null +++ b/plugins/screenmanager/plugin.cpp @@ -0,0 +1,58 @@ +/**************************************************************************** +** +** Copyright (C) 2016 Pelagicore AG +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the Neptune IVI UI. +** +** $QT_BEGIN_LICENSE:GPL-QTAS$ +** Commercial License Usage +** Licensees holding valid commercial Qt Automotive Suite 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 The Qt Company. For +** licensing terms and conditions see https://www.qt.io/terms-conditions. +** For further information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 or (at your option) any later version +** approved by the KDE Free Qt Foundation. The licenses are as published by +** the Free Software Foundation and appearing in the file LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +** SPDX-License-Identifier: GPL-3.0 +** +****************************************************************************/ + +#include +#include +#include "screenmanager.h" + +static QObject *screenManagerSingletonFactory(QQmlEngine *engine, QJSEngine *scriptEngine) +{ + Q_UNUSED(scriptEngine) + Q_UNUSED(engine) + + return new ScreenManager(); +} + +class HoundPlugin : public QQmlExtensionPlugin +{ + Q_OBJECT + Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface/1.0") +public: + virtual void registerTypes(const char *uri) + { + Q_ASSERT(QLatin1String(uri) == QLatin1String("com.pelagicore.ScreenManager")); + Q_UNUSED(uri); + + qmlRegisterSingletonType(uri, 1, 0, "ScreenManager", screenManagerSingletonFactory); + } +}; + +#include "plugin.moc" diff --git a/plugins/screenmanager/qmldir b/plugins/screenmanager/qmldir new file mode 100644 index 0000000..5472c91 --- /dev/null +++ b/plugins/screenmanager/qmldir @@ -0,0 +1,2 @@ +module com.pelagicore.ScreenManager +plugin screenmanagerplugin diff --git a/plugins/screenmanager/screenmanager.cpp b/plugins/screenmanager/screenmanager.cpp new file mode 100644 index 0000000..660c770 --- /dev/null +++ b/plugins/screenmanager/screenmanager.cpp @@ -0,0 +1,65 @@ +/**************************************************************************** +** +** Copyright (C) 2016 Pelagicore AG +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the Neptune IVI UI. +** +** $QT_BEGIN_LICENSE:GPL-QTAS$ +** Commercial License Usage +** Licensees holding valid commercial Qt Automotive Suite 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 The Qt Company. For +** licensing terms and conditions see https://www.qt.io/terms-conditions. +** For further information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 or (at your option) any later version +** approved by the KDE Free Qt Foundation. The licenses are as published by +** the Free Software Foundation and appearing in the file LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +** SPDX-License-Identifier: GPL-3.0 +** +****************************************************************************/ + +#include "screenmanager.h" +#include +#include +#include + +ScreenManager::ScreenManager(QObject *parent) + : QObject(parent) +{ + connect(qApp, &QGuiApplication::screenAdded, this, &ScreenManager::availableScreensChanged); + connect(qApp, &QGuiApplication::screenAdded, this, &ScreenManager::availableScreensChanged); +} + +int ScreenManager::screenCount() const +{ + return QGuiApplication::screens().count(); +} + +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 ScreenManager::availableScreens() const +{ + QList list; + for (QScreen *screen : QGuiApplication::screens()) + list.append(screen); + + return list; +} diff --git a/plugins/screenmanager/screenmanager.h b/plugins/screenmanager/screenmanager.h new file mode 100644 index 0000000..3b92b01 --- /dev/null +++ b/plugins/screenmanager/screenmanager.h @@ -0,0 +1,55 @@ +/**************************************************************************** +** +** Copyright (C) 2016 Pelagicore AG +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the Neptune IVI UI. +** +** $QT_BEGIN_LICENSE:GPL-QTAS$ +** Commercial License Usage +** Licensees holding valid commercial Qt Automotive Suite 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 The Qt Company. For +** licensing terms and conditions see https://www.qt.io/terms-conditions. +** For further information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 or (at your option) any later version +** approved by the KDE Free Qt Foundation. The licenses are as published by +** the Free Software Foundation and appearing in the file LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +** SPDX-License-Identifier: GPL-3.0 +** +****************************************************************************/ + +#ifndef SCREENMANAGER_H +#define SCREENMANAGER_H + +#include +#include + +class ScreenManager : public QObject +{ + Q_OBJECT + + Q_PROPERTY(QList availableScreens READ availableScreens NOTIFY availableScreensChanged) + +public: + explicit ScreenManager(QObject *parent = 0); + + Q_INVOKABLE int screenCount() const; + Q_INVOKABLE void setScreen(QWindow * window, int screen); + QList availableScreens() const; + +signals: + void availableScreensChanged(); +}; + +#endif // SCREENMANAGER_H diff --git a/plugins/screenmanager/screenmanager.pro b/plugins/screenmanager/screenmanager.pro new file mode 100644 index 0000000..2681be6 --- /dev/null +++ b/plugins/screenmanager/screenmanager.pro @@ -0,0 +1,30 @@ +TEMPLATE = lib +TARGET = screenmanagerplugin +QT += qml quick +CONFIG += qt plugin c++11 + +TARGET = $$qtLibraryTarget($$TARGET) +uri = com.pelagicore.ScreenManager + +SOURCES += \ + plugin.cpp \ + screenmanager.cpp \ + +HEADERS += \ + screenmanager.h \ + +OTHER_FILES = qmldir + +!equals(_PRO_FILE_PWD_, $$OUT_PWD) { + copy_qmldir.target = $$OUT_PWD/qmldir + copy_qmldir.depends = $$_PRO_FILE_PWD_/qmldir + copy_qmldir.commands = $(COPY_FILE) \"$$replace(copy_qmldir.depends, /, $$QMAKE_DIR_SEP)\" \"$$replace(copy_qmldir.target, /, $$QMAKE_DIR_SEP)\" + QMAKE_EXTRA_TARGETS += copy_qmldir + PRE_TARGETDEPS += $$copy_qmldir.target +} + +qmldir.files = qmldir +installPath = $$[QT_INSTALL_QML]/$$replace(uri, \\., /) +qmldir.path = $$installPath +target.path = $$installPath +INSTALLS += target qmldir -- cgit v1.2.3