Warning, /education/gcompris/src/core/AdvancedTimer.qml is written in an unsupported language. File is not indexed.
0001 /* GCompris - AdvancedTimer.qml
0002 *
0003 * SPDX-FileCopyrightText: 2018 Aman Kumar Gupta <gupta2140@gmail.com>
0004 *
0005 * Authors:
0006 * Aman Kumar Gupta <gupta2140@gmail.com>
0007 *
0008 * SPDX-License-Identifier: GPL-3.0-or-later
0009 */
0010 import QtQuick 2.12
0011 import GCompris 1.0
0012
0013 Timer {
0014 id: timer
0015
0016 property double startTime
0017 property double pauseTime
0018 property int remainingInterval
0019
0020 interval: activity.timerNormalInterval
0021
0022 signal pause
0023 signal resume
0024 signal restart
0025
0026 onPause: {
0027 if(timer.running) {
0028 pauseTime = new Date().getTime()
0029 timer.stop()
0030 }
0031 }
0032
0033 onResume: {
0034 if(!timer.running) {
0035 if(!triggeredOnStart) {
0036 remainingInterval = Math.abs(timer.interval - Math.abs(pauseTime - startTime))
0037 timer.interval = remainingInterval
0038 }
0039 timer.start()
0040 }
0041 }
0042
0043 onRestart: {
0044 timer.stop()
0045 timer.interval = 1
0046 timer.start()
0047 }
0048
0049 onTriggered:{
0050 if(interval != activity.timerNormalInterval) {
0051 interval = activity.timerNormalInterval
0052 }
0053 }
0054
0055 onRunningChanged: {
0056 if(running)
0057 startTime = new Date().getTime()
0058 }
0059 }