diff options
Diffstat (limited to 'basicsuite/qt5-launchpresentation/presentation/Presentation.qml')
-rw-r--r-- | basicsuite/qt5-launchpresentation/presentation/Presentation.qml | 196 |
1 files changed, 0 insertions, 196 deletions
diff --git a/basicsuite/qt5-launchpresentation/presentation/Presentation.qml b/basicsuite/qt5-launchpresentation/presentation/Presentation.qml deleted file mode 100644 index fc9ea4c..0000000 --- a/basicsuite/qt5-launchpresentation/presentation/Presentation.qml +++ /dev/null @@ -1,196 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the QML Presentation System. -** -** $QT_BEGIN_LICENSE:LGPL$ -** GNU Lesser General Public License Usage -** This file may be used under the terms of the GNU Lesser General Public -** License version 2.1 as published by the Free Software Foundation and -** appearing in the file LICENSE.LGPL included in the packaging of this -** file. Please review the following information to ensure the GNU Lesser -** General Public License version 2.1 requirements will be met: -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU General -** Public License version 3.0 as published by the Free Software Foundation -** and appearing in the file LICENSE.GPL included in the packaging of this -** file. Please review the following information to ensure the GNU General -** Public License version 3.0 requirements will be met: -** http://www.gnu.org/copyleft/gpl.html. -** -** Other Usage -** Alternatively, this file may be used in accordance with the terms and -** conditions contained in a signed written agreement between you and Digia. -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - - -import QtQuick 2.0 -import QtQuick.Window 2.0 - -Item { - id: root - - property variant slides: [] - property int currentSlide; - - property bool showNotes: false; - - property color titleColor: textColor; - property color textColor: "black" - property string fontFamily: "Helvetica" - property string codeFontFamily: "Courier New" - - // Private API - property bool _faded: false - property int _userNum; - - Component.onCompleted: { - var slideCount = 0; - var slides = []; - for (var i=0; i<root.children.length; ++i) { - var r = root.children[i]; - if (r.isSlide) { - slides.push(r); - } - } - - root.slides = slides; - root._userNum = 0; - - // Make first slide visible... - if (root.slides.length > 0) { - root.currentSlide = 0; - root.slides[root.currentSlide].visible = true; - } - } - - function switchSlides(from, to, forward) { - from.visible = false - to.visible = true - return true - } - - function goToNextSlide() { - root._userNum = 0 - if (_faded) - return - if (root.currentSlide + 1 < root.slides.length) { - var from = slides[currentSlide] - var to = slides[currentSlide + 1] - if (switchSlides(from, to, true)) { - currentSlide = currentSlide + 1; - root.focus = true; - } - } - } - - function goToPreviousSlide() { - root._userNum = 0 - if (root._faded) - return - if (root.currentSlide - 1 >= 0) { - var from = slides[currentSlide] - var to = slides[currentSlide - 1] - if (switchSlides(from, to, false)) { - currentSlide = currentSlide - 1; - root.focus = true; - } - } - } - - function goToUserSlide() { - --_userNum; - if (root._faded || _userNum >= root.slides.length) - return - if (_userNum < 0) - goToNextSlide() - else if (root.currentSlide != _userNum) { - var from = slides[currentSlide] - var to = slides[_userNum] - if (switchSlides(from, to, _userNum > currentSlide)) { - currentSlide = _userNum; - root.focus = true; - } - } - } - - focus: true - - Keys.onSpacePressed: goToNextSlide() - Keys.onRightPressed: goToNextSlide() - Keys.onDownPressed: goToNextSlide() - Keys.onLeftPressed: goToPreviousSlide() - Keys.onUpPressed: goToPreviousSlide() - Keys.onEscapePressed: Qt.quit() - Keys.onPressed: { - if (event.key >= Qt.Key_0 && event.key <= Qt.Key_9) - _userNum = 10 * _userNum + (event.key - Qt.Key_0) - else { - if (event.key == Qt.Key_Return || event.key == Qt.Key_Enter) - goToUserSlide(); - else if (event.key == Qt.Key_Backspace) - goToPreviousSlide(); - else if (event.key == Qt.Key_C) - root._faded = !root._faded; - _userNum = 0; - } - } - - Rectangle { - z: 1000 - color: "black" - anchors.fill: parent - opacity: root._faded ? 1 : 0 - Behavior on opacity { NumberAnimation { duration: 250 } } - } - - MouseArea { - id: mouseArea - anchors.fill: parent - acceptedButtons: Qt.LeftButton | Qt.RightButton - onClicked: { - if (mouse.button == Qt.RightButton) - goToPreviousSlide() - else - goToNextSlide() - } - onPressAndHold: goToPreviousSlide(); //A back mechanism for touch only devices - } - - Window { - id: notesWindow; - width: 400 - height: 300 - - title: "QML Presentation: Notes" - visible: root.showNotes - - Text { - anchors.fill: parent - anchors.margins: parent.height * 0.1; - - font.pixelSize: 16 - wrapMode: Text.WordWrap - - property string notes: root.slides[root.currentSlide].notes; - text: notes == "" ? "Slide has no notes..." : notes; - font.italic: notes == ""; - } - } -} |