diff options
| author | Oskari Timperi <oskari.timperi@iki.fi> | 2013-12-07 17:33:25 +0200 |
|---|---|---|
| committer | Oskari Timperi <oskari.timperi@iki.fi> | 2013-12-07 17:33:25 +0200 |
| commit | ef5baad9ff47cfe32bb4f97368e0b3148765caa6 (patch) | |
| tree | 87d59ecc69e7981489e16aeed62115b4a4927223 /qml/pages/QuantityPage.qml | |
| parent | 3aeb00f43988ae607082cdabe124b9d5e123e33c (diff) | |
| download | unitmaster-ef5baad9ff47cfe32bb4f97368e0b3148765caa6.tar.gz unitmaster-ef5baad9ff47cfe32bb4f97368e0b3148765caa6.zip | |
shuffle stuff around and add directory for tests
Diffstat (limited to 'qml/pages/QuantityPage.qml')
| -rw-r--r-- | qml/pages/QuantityPage.qml | 136 |
1 files changed, 0 insertions, 136 deletions
diff --git a/qml/pages/QuantityPage.qml b/qml/pages/QuantityPage.qml deleted file mode 100644 index 0d5c4de..0000000 --- a/qml/pages/QuantityPage.qml +++ /dev/null @@ -1,136 +0,0 @@ -import QtQuick 2.0 -import Sailfish.Silica 1.0 -import "helpers.js" as Helpers - -Page { - id: page - - property string modelFilename - property string quantityName - - function formatText(value, unit) { - return "%1 %2".arg(value.toPrecision(5)).arg(pluralize(unit, value)); - } - - function updateResult() { - var f = parseFloat(fromField.text); - - if (fromField.text.length === 0) { - f = 0.0; - } - - if (fromCombo.value.length === 0 || toCombo.value.length === 0) - return; - - var model = modelLoader.item; - - var fromUnit = model.get(fromCombo.currentIndex).title; - var toUnit = model.get(toCombo.currentIndex).title; - - var result = model.from(fromUnit, f); - result = model.to(toUnit, result); - - resultLabel.text = formatText(result, toUnit); - } - - function pluralize(s, n) { - if (n !== 1) { - if (s === "inch") { - return "inches"; - } else if (s === "foot") { - return "feet"; - } else if (s === "celcius") { - return s; - } - return s + "s"; - } - - return s; - } - - function makeTitle(title, abbr) { - if (abbr.length > 0) { - return "%1 (%2)".arg(title).arg(abbr); - } - - return title; - } - - Component.onCompleted: { - modelLoader.setSource(modelFilename); - } - - Loader { - id: modelLoader - onLoaded: { - fromRepeater.model = modelLoader.item; - toRepeater.model = modelLoader.item; - } - } - - Column { - id: column - spacing: Theme.paddingLarge - anchors.fill: parent - - PageHeader { - title: Helpers.capitalize(page.quantityName) - } - - ComboBox { - id: fromCombo - width: parent.width - label: "From" - menu: ContextMenu { - Repeater { - id: fromRepeater - delegate: MenuItem { - text: makeTitle(title, abbr) - } - } - } - onValueChanged: updateResult() - } - - TextField { - id: fromField - width: parent.width - placeholderText: "enter " + pluralize(fromRepeater.model.get(fromCombo.currentIndex).title, 0) - inputMethodHints: Qt.ImhFormattedNumbersOnly - EnterKey.onClicked: { - parent.focus = true; - updateResult(); - } - onTextChanged: { - updateResult(); - } - } - - ComboBox { - id: toCombo - width: parent.width - label: "To" - menu: ContextMenu { - Repeater { - id: toRepeater - delegate: MenuItem { - text: makeTitle(title, abbr) - } - } - } - onValueChanged: updateResult() - } - - SectionHeader { - text: "Result" - } - - Label { - id: resultLabel - height: Theme.itemSizeSmall - anchors.horizontalCenter: parent.horizontalCenter - } - } -} - - |
