diff --git a/qml/ConfigurePageSailfish.qml b/qml/ConfigurePageSailfish.qml index 42356f1..4a05fb4 100644 --- a/qml/ConfigurePageSailfish.qml +++ b/qml/ConfigurePageSailfish.qml @@ -18,12 +18,15 @@ import QtQuick 2.0 import Sailfish.Silica 1.0 -import ".." // Config singleton +import "." // Config singleton Dialog { id: configurePage allowedOrientations: Orientation.All + signal configChanged() + + property QtObject tuner; property variant la_tab: [392, 400, 415, 430, 440, 442] Column { @@ -52,17 +55,53 @@ Dialog { model: la_tab.length Rectangle { - width: pre_la_parent.width / tab_la.length + width: pre_la_parent.width / la_tab.length border.color: Theme.primaryColor border.width: 1 + color: la.text == la_tab[parent.index] ? Theme.highlightColor : "transparent" Text { + id: la_freq font.pixelSize: Theme.fontSizeSmall text: tab_la[parent.index] - onClick: la.text = text + } + MouseArea { + anchors.fill: parent + onClicked: la.text = la_freq.text } } } } + + /// temperaments + ComboBox { + id: combo + width: parent.width + label: qsTr("Temperament") + currentIndex: Config.temperament_idx + property variant temp_list: tuner.temperament_list + + menu: ContextMenu { + Repeater { + model: combo.temp_list.length + + MenuItem { + text: combo.temp_list[index] + } + } + } + } + + TextSwitch { + id: notes_style + text: qsTr("French notes") + down: Config.note_style == 1 + } + } + onAccepted: { + Config.la = la.text + Config.temperament_idx = combo.currentIndex + Config.notes_style = notes_style.checked ? 1 : 0 + configChanged() } } diff --git a/qml/Sailfish.qml b/qml/Sailfish.qml index 9cd2f26..5b947c8 100644 --- a/qml/Sailfish.qml +++ b/qml/Sailfish.qml @@ -54,8 +54,8 @@ ApplicationWindow { MenuItem { text: qsTr("Configuration") onClicked: { - var confpage = pageStack.push(Qt.resolvedUrl("ConfigurePage.qml")) - confpage.accepted.connect(saver.save) + var confpage = pageStack.push(Qt.resolvedUrl("ConfigurePageSailfish.qml"), { tuner: app.tuner }) + confpage.configChanged.connect(saver.save) } } } @@ -70,6 +70,7 @@ ApplicationWindow { onClicked: togglePause() } } + } Tuner { diff --git a/qml/sailfish.qrc b/qml/sailfish.qrc index 3e0008b..9e64aff 100644 --- a/qml/sailfish.qrc +++ b/qml/sailfish.qrc @@ -7,6 +7,8 @@ ScaleToise.qml Toise.qml Led.qml -ConfigurePage.qml +ConfigurePageSailfish.qml +Config.qml +qmldir diff --git a/src/sailfish.cpp b/src/sailfish.cpp index f0239dd..9182442 100644 --- a/src/sailfish.cpp +++ b/src/sailfish.cpp @@ -19,6 +19,7 @@ #include #include #include +#include "ObjectSaver.hpp" #include "Tuner.hpp" class Main {