aboutsummaryrefslogtreecommitdiff
path: root/src/qml/pages/TemperatureModel.qml
blob: 9c4294bda455c515763469750ae241119b583be9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
import QtQuick 2.0

QtObject {
    function from(title, value) {
        var functions = {
            "kelvin": function () { return value; },
            "celcius": function () { return value + 273.15; },
            "fahrenheit": function () { return (value + 459.67) * 5.0 / 9.0; },
            "rankine": function () { return value * 5.0 / 9.0; }
        };
        return functions[title]();
    }

    function to(title, value) {
        var functions = {
            "kelvin": function () { return value; },
            "celcius": function () { return value - 273.15; },
            "fahrenheit": function () { return value * 9.0 / 5.0 - 459.67; },
            "rankine": function () { return value * 9.0 / 5.0; }
        };
        return functions[title]();
    }

    property list<UnitElement> unitModel: [
        UnitElement {
            name: "kelvin"
            abbr: "K"
            min: 0
        },
        UnitElement {
            name: "celcius"
            abbr: "°C"
            min: -273.15
        },
        UnitElement {
            name: "fahrenheit"
            abbr: "F"
            min: -459.67
        },
        UnitElement {
            name: "rankine"
            abbr: "°R"
            min: 0
        }
    ]
}