summaryrefslogtreecommitdiff
path: root/main.qml
diff options
context:
space:
mode:
Diffstat (limited to 'main.qml')
-rw-r--r--main.qml134
1 files changed, 0 insertions, 134 deletions
diff --git a/main.qml b/main.qml
deleted file mode 100644
index a0b6e4a..0000000
--- a/main.qml
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * Copyright (C) 2016 Florent Revest <revestflo@gmail.com>
- * 2015 Tim Süberkrüb <tim.sueberkrueb@web.de>
- * Part of this code is based on "Stopwatch" (https://github.com/baleboy/stopwatch)
- * Copyright (C) 2011 Francesco Balestrieri
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-import QtQuick 2.9
-import org.asteroid.controls 1.0
-import Nemo.Configuration 1.0
-
-Application {
- id: app
-
- centerColor: "#b01c7e"
- outerColor: "#420a2f"
-
- ConfigurationValue {
- id: previousTime
- key: "/stopwatch/previousTime"
- defaultValue: -1
- }
- ConfigurationValue {
- id: elapsed
- key: "/stopwatch/elapsed"
- defaultValue: -1
- }
- ConfigurationValue {
- id: running
- key: "/stopwatch/running"
- defaultValue: false
- }
-
- function zeroPad(n) {
- return (n < 10 ? "0" : "") + n
- }
-
- function toTimeString(usec) {
- var mod = Math.abs(usec)
- if (mod >= 3600000) { // Hours + Minutes + Seconds
- return '<font color=\"#FFFFFF\" size="3">' + Math.floor(mod / 3600000) + '<sup>h</sup>' + '<br></font>' +
- '<font color=\"#CCCCF3\" size="1">' + zeroPad(Math.floor((mod % 3600000) / 60000)) + '<sup>m</sup>' +
- zeroPad(Math.floor((mod % 60000) / 1000)) + '<sup>s</sup></font>'
-
- } else if (mod >= 60000) { // Minutes + Seconds + Tenth
- return '<font color="#FFFFFF" size="3">' + zeroPad(Math.floor((mod % 3600000) / 60000)) + '<sup>m</sup>' + '<br></font>' +
- '<font color="#CCCCF3" size="1">' + zeroPad(Math.floor((mod % 60000) / 1000)) + '<sup>s</sup>' +
- Math.floor((mod % 1000) / 100) + '</font>'
- } else { // Seconds + Tenth
- return '<font color="#FFFFFF" size="3">' + zeroPad(Math.floor((mod % 60000) / 1000)) + '<sup>s</sup>' + '</font>' +
- '<font color="#CCCCF3" size="1">' + Math.floor((mod % 1000) / 100) + '</font>'
- }
- }
-
- Item {
- id: mainPage
- anchors.fill: parent
-
- state: running.value ? "running" : elapsed.value == -1 ? "zero" : "paused"
- states: [
- State { name: "zero" },
- State { name: "running" },
- State { name: "paused" }
- ]
-
- Label {
- id: elapsedLabel
- textFormat: Text.RichText
- anchors.centerIn: parent
- text: toTimeString(elapsed.value)
- font.pixelSize: Dims.h(25)
- horizontalAlignment: Text.AlignHCenter
-
- SequentialAnimation {
- running: mainPage.state == "paused"
- loops: Animation.Infinite
- NumberAnimation { target: elapsedLabel; property: "opacity"; from: 1; to: 0; duration: 500 }
- NumberAnimation { target: elapsedLabel; property: "opacity"; from: 0; to: 1; duration: 500 }
- onStopped: elapsedLabel.opacity = 1
- }
- }
-
- MouseArea {
- anchors.fill: parent
- onClicked: {
- switch(mainPage.state) {
- case "zero":
- case "paused":
- var curTime = new Date
- previousTime.value = curTime.getTime()
- running.value = true
- break;
- case "running":
- running.value = false
- break;
- }
- }
- }
-
- IconButton {
- id: resetButton
- iconName: "ios-refresh"
- visible: mainPage.state === "paused"
- onClicked: elapsed.value = -1
- }
- }
-
- Timer {
- interval: 100
- repeat: true
- running: mainPage.state == "running"
- triggeredOnStart: true
-
- onTriggered: {
- var currentTime = new Date
- var delta = (currentTime.getTime() - previousTime.value)
- previousTime.value = currentTime.getTime()
- elapsed.value += delta
- }
- }
-}