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 }