From 629c4e2edba7b040754fe3114b863d4ab9bc3bb7 Mon Sep 17 00:00:00 2001 From: Vasily Date: Sat, 26 Jan 2019 20:29:14 +0100 Subject: [PATCH] Separate individual components into qml files This removes the massively indented logic in the previous version. Notice that individual components will still be imported with an import "utilities_page". Therefore anything except UtilitiesPage.qml should be in a separate folder. --- advancedSettings.pro | 5 +- src/res/qml/utilities_page/AlarmGroupBox.qml | 183 +++++++++ .../qml/utilities_page/KeyboardGroupBox.qml | 101 +++++ .../utilities_page/SteamDesktopGroupBox.qml | 109 ++++++ src/res/qml/utilities_page/UtilitiesPage.qml | 363 +----------------- 5 files changed, 400 insertions(+), 361 deletions(-) create mode 100644 src/res/qml/utilities_page/AlarmGroupBox.qml create mode 100644 src/res/qml/utilities_page/KeyboardGroupBox.qml create mode 100644 src/res/qml/utilities_page/SteamDesktopGroupBox.qml diff --git a/advancedSettings.pro b/advancedSettings.pro index 84d1f91..5abe543 100644 --- a/advancedSettings.pro +++ b/advancedSettings.pro @@ -160,4 +160,7 @@ DISTFILES += \ src/res/qml/SteamVRPage.qml \ src/res/qml/utilities_page/* \ src/res/qml/utilities_page/media_keys/* \ - src/res/qml/LineSeparator.qml + src/res/qml/LineSeparator.qml \ + src/res/qml/utilities_page/KeyboardGroupBox.qml \ + src/res/qml/utilities_page/AlarmGroupBox.qml \ + src/res/qml/utilities_page/SteamDesktopGroupBox.qml diff --git a/src/res/qml/utilities_page/AlarmGroupBox.qml b/src/res/qml/utilities_page/AlarmGroupBox.qml new file mode 100644 index 0000000..64ecab2 --- /dev/null +++ b/src/res/qml/utilities_page/AlarmGroupBox.qml @@ -0,0 +1,183 @@ +import QtQuick 2.7 +import QtQuick.Controls 2.0 +import QtQuick.Layouts 1.3 +import matzman666.advsettings 1.0 +import "media_keys" +import ".." + +GroupBox { + id: alarmGroupBox + Layout.fillWidth: true + + label: MyText { + leftPadding: 10 + text: "Alarm Clock" + bottomPadding: -10 + } + background: Rectangle { + color: "transparent" + border.color: "#ffffff" + radius: 8 + } + ColumnLayout { + anchors.fill: parent + + Rectangle { + color: "#ffffff" + height: 1 + Layout.fillWidth: true + Layout.bottomMargin: 5 + } + + RowLayout { + MyToggleButton { + id: alarmClockToggle + text: "" + onCheckedChanged: { + UtilitiesTabController.setAlarmEnabled(checked, false) + } + } + + Item { + Layout.fillWidth: true + } + + MyTextField { + id: alarmClockHourText + text: "00" + keyBoardUID: 602 + Layout.preferredWidth: 50 + horizontalAlignment: Text.AlignHCenter + function onInputEvent(input) { + var val = parseInt(input) + if (!isNaN(val)) { + if (val < 0) { + val = 0 + } else if (val > 23) { + val = 23 + } + UtilitiesTabController.setAlarmTimeHour(val, false) + } + parent.parent.parent.setAlarmHourText(UtilitiesTabController.alarmTimeHour) + } + } + + MyText { + text: ":" + } + + MyTextField { + id: alarmClockMinuteText + text: "00" + keyBoardUID: 603 + Layout.preferredWidth: 50 + horizontalAlignment: Text.AlignHCenter + function onInputEvent(input) { + var val = parseInt(input) + if (!isNaN(val)) { + if (val < 0) { + val = 0 + } else if (val > 59) { + val = 59 + } + UtilitiesTabController.setAlarmTimeMinute(val, false) + } + parent.parent.parent.setAlarmMinuteText(UtilitiesTabController.alarmTimeMinute) + } + } + + Item { + Layout.fillWidth: true + } + + MyPushButton2 { + Layout.preferredWidth: 200 + text: "Current Time" + onClicked: { + UtilitiesTabController.setAlarmTimeToCurrentTime() + } + } + + MyPushButton2 { + Layout.leftMargin: 50 + Layout.preferredWidth: 120 + text: "+1 Hour" + onClicked: { + UtilitiesTabController.modAlarmTimeHour(1) + } + } + + MyPushButton2 { + Layout.preferredWidth: 120 + text: "-1 Hour" + onClicked: { + UtilitiesTabController.modAlarmTimeHour(-1) + } + } + + MyPushButton2 { + text: "+5 Min" + Layout.leftMargin: 50 + Layout.preferredWidth: 120 + onClicked: { + UtilitiesTabController.modAlarmTimeMinute(5) + } + } + + MyPushButton2 { + Layout.preferredWidth: 120 + text: "-5 Min" + onClicked: { + UtilitiesTabController.modAlarmTimeMinute(-5) + } + } + } + + RowLayout { + MyToggleButton { + id: alarmDontAnnoyToggle + text: "Don't Annoy me" + onCheckedChanged: { + UtilitiesTabController.setAlarmIsModal(!checked, false) + } + } + } + } + + Component.onCompleted: { + alarmClockToggle.checked = UtilitiesTabController.alarmEnabled + alarmDontAnnoyToggle.checked = !UtilitiesTabController.alarmIsModal + setAlarmHourText(UtilitiesTabController.alarmTimeHour) + setAlarmMinuteText(UtilitiesTabController.alarmTimeMinute) + alarmGroupBox.visible = !OverlayController.desktopMode + } + Connections { + target: UtilitiesTabController + onAlarmEnabledChanged: { + alarmClockToggle.checked = UtilitiesTabController.alarmEnabled + } + onAlarmIsModalChanged: { + alarmDontAnnoyToggle.checked = !UtilitiesTabController.alarmIsModal + } + onAlarmTimeHourChanged: { + setAlarmHourText(UtilitiesTabController.alarmTimeHour) + } + onAlarmTimeMinuteChanged: { + setAlarmMinuteText(UtilitiesTabController.alarmTimeMinute) + } + } + function setAlarmHourText(value) { + if (value < 9) { + alarmClockHourText.text = "0" + value + } else { + alarmClockHourText.text = value + } + } + function setAlarmMinuteText(value) { + if (value < 9) { + alarmClockMinuteText.text = "0" + value + } else { + alarmClockMinuteText.text = value + } + } +} diff --git a/src/res/qml/utilities_page/KeyboardGroupBox.qml b/src/res/qml/utilities_page/KeyboardGroupBox.qml new file mode 100644 index 0000000..f664c4b --- /dev/null +++ b/src/res/qml/utilities_page/KeyboardGroupBox.qml @@ -0,0 +1,101 @@ +import QtQuick 2.7 +import QtQuick.Controls 2.0 +import QtQuick.Layouts 1.3 +import matzman666.advsettings 1.0 +import "media_keys" +import ".." + +GroupBox { + id: keyboardGroupBox + Layout.fillWidth: true + + label: MyText { + leftPadding: 10 + text: "Keyboard Utilities" + bottomPadding: -10 + } + background: Rectangle { + color: "transparent" + border.color: "#ffffff" + radius: 8 + } + ColumnLayout { + anchors.fill: parent + + Rectangle { + color: "#ffffff" + height: 1 + Layout.fillWidth: true + Layout.bottomMargin: 5 + } + + + MyText { + text: "Send to active application: " + } + + RowLayout { + spacing: 18 + Layout.fillWidth: true + + MyPushButton { + text: "Keyboard Input" + Layout.fillWidth: true + onClicked: { + OverlayController.showKeyboard("", 601) + } + Connections { + target: OverlayController + onKeyBoardInputSignal: { + if (userValue == 601) { + UtilitiesTabController.sendKeyboardInput(input) + } + } + } + } + + MyPushButton { + text: "Enter" + Layout.fillWidth: true + onClicked: { + UtilitiesTabController.sendKeyboardEnter() + } + } + + MyPushButton { + text: "Alt-Tab" + Layout.fillWidth: true + onClicked: { + UtilitiesTabController.sendKeyboardAltTab() + } + } + + MyPushButton { + text: "Backspace" + Layout.fillWidth: true + onClicked: { + UtilitiesTabController.sendKeyboardBackspace(1) + } + } + + MyPushButton { + text: "10x Backspace" + Layout.fillWidth: true + onClicked: { + UtilitiesTabController.sendKeyboardBackspace(10) + } + } + + MyPushButton { + text: "Alt-Enter" + Layout.fillWidth: true + onClicked: { + UtilitiesTabController.sendKeyboardAltEnter() + } + } + } + } + Component.onCompleted: { + keyboardGroupBox.visible = !OverlayController.desktopMode + } +} diff --git a/src/res/qml/utilities_page/SteamDesktopGroupBox.qml b/src/res/qml/utilities_page/SteamDesktopGroupBox.qml new file mode 100644 index 0000000..7d08bc3 --- /dev/null +++ b/src/res/qml/utilities_page/SteamDesktopGroupBox.qml @@ -0,0 +1,109 @@ +import QtQuick 2.7 +import QtQuick.Controls 2.0 +import QtQuick.Layouts 1.3 +import matzman666.advsettings 1.0 +import "media_keys" +import ".." + +GroupBox { + id: steamDesktopGroupBox + Layout.fillWidth: true + + label: MyText { + leftPadding: 10 + text: "Steam Desktop Overlay Width" + bottomPadding: -10 + } + background: Rectangle { + color: "transparent" + border.color: "#ffffff" + radius: 8 + } + ColumnLayout { + anchors.fill: parent + + Rectangle { + color: "#ffffff" + height: 1 + Layout.fillWidth: true + Layout.bottomMargin: 5 + } + + ColumnLayout { + RowLayout { + MyPushButton2 { + id: steamDesktopWidthMinusButton + Layout.preferredWidth: 40 + text: "-" + onClicked: { + steamDesktopWidthSlider.value -= 1.0 + } + } + + MySlider { + id: steamDesktopWidthSlider + from: 0.1 + to: 32.0 + stepSize: 0.1 + value: 1.0 + Layout.fillWidth: true + onPositionChanged: { + var val = this.from + ( this.position * (this.to - this.from)) + steamDesktopWidthText.text = val.toFixed(1) + } + onValueChanged: { + UtilitiesTabController.setSteamDesktopOverlayWidth(value, false) + steamDesktopWidthText.text = value.toFixed(1) + } + } + + MyPushButton2 { + id: steamDesktopWidthPlusButton + Layout.preferredWidth: 40 + text: "+" + onClicked: { + steamDesktopWidthSlider.value += 1.0 + } + } + + MyTextField { + id: steamDesktopWidthText + text: "0.0" + keyBoardUID: 611 + Layout.preferredWidth: 100 + Layout.leftMargin: 10 + horizontalAlignment: Text.AlignHCenter + function onInputEvent(input) { + var val = parseFloat(input) + if (!isNaN(val)) { + if (val < 0.1) { + val = 0.1 + } + steamDesktopWidthSlider.value = val + UtilitiesTabController.setSteamDesktopOverlayWidth(val, false) + } + text = UtilitiesTabController.steamDesktopOverlayWidth.toFixed(1) + } + } + } + } + } + Component.onCompleted: { + steamDesktopGroupBox.visible = UtilitiesTabController.steamDesktopOverlayAvailable + if (steamDesktopGroupBox.visible) { + steamDesktopWidthSlider.value = UtilitiesTabController.steamDesktopOverlayWidth + } + } + Connections { + target: UtilitiesTabController + onSteamDesktopOverlayAvailableChanged: { + steamDesktopGroupBox.visible = UtilitiesTabController.steamDesktopOverlayAvailable + if (steamDesktopGroupBox.visible) { + steamDesktopWidthSlider.value = UtilitiesTabController.steamDesktopOverlayWidth + } + } + onSteamDesktopOverlayWidthChanged: { + steamDesktopWidthSlider.value = UtilitiesTabController.steamDesktopOverlayWidth + } + } +} diff --git a/src/res/qml/utilities_page/UtilitiesPage.qml b/src/res/qml/utilities_page/UtilitiesPage.qml index 609a839..6a8fcc7 100644 --- a/src/res/qml/utilities_page/UtilitiesPage.qml +++ b/src/res/qml/utilities_page/UtilitiesPage.qml @@ -12,322 +12,16 @@ MyStackViewPage { spacing: 18 - GroupBox { + KeyboardGroupBox { id: keyboardGroupBox - Layout.fillWidth: true - - label: MyText { - leftPadding: 10 - text: "Keyboard Utilities" - bottomPadding: -10 - } - background: Rectangle { - color: "transparent" - border.color: "#ffffff" - radius: 8 - } - ColumnLayout { - anchors.fill: parent - - Rectangle { - color: "#ffffff" - height: 1 - Layout.fillWidth: true - Layout.bottomMargin: 5 - } - - - MyText { - text: "Send to active application: " - } - - RowLayout { - spacing: 18 - Layout.fillWidth: true - - MyPushButton { - text: "Keyboard Input" - Layout.fillWidth: true - onClicked: { - OverlayController.showKeyboard("", 601) - } - Connections { - target: OverlayController - onKeyBoardInputSignal: { - if (userValue == 601) { - UtilitiesTabController.sendKeyboardInput(input) - } - } - } - } - - MyPushButton { - text: "Enter" - Layout.fillWidth: true - onClicked: { - UtilitiesTabController.sendKeyboardEnter() - } - } - - MyPushButton { - text: "Alt-Tab" - Layout.fillWidth: true - onClicked: { - UtilitiesTabController.sendKeyboardAltTab() - } - } - - MyPushButton { - text: "Backspace" - Layout.fillWidth: true - onClicked: { - UtilitiesTabController.sendKeyboardBackspace(1) - } - } - - MyPushButton { - text: "10x Backspace" - Layout.fillWidth: true - onClicked: { - UtilitiesTabController.sendKeyboardBackspace(10) - } - } - - MyPushButton { - text: "Alt-Enter" - Layout.fillWidth: true - onClicked: { - UtilitiesTabController.sendKeyboardAltEnter() - } - } - } - } } - - GroupBox { + AlarmGroupBox { id: alarmGroupBox - Layout.fillWidth: true - - label: MyText { - leftPadding: 10 - text: "Alarm Clock" - bottomPadding: -10 - } - background: Rectangle { - color: "transparent" - border.color: "#ffffff" - radius: 8 - } - ColumnLayout { - anchors.fill: parent - - Rectangle { - color: "#ffffff" - height: 1 - Layout.fillWidth: true - Layout.bottomMargin: 5 - } - - RowLayout { - MyToggleButton { - id: alarmClockToggle - text: "" - onCheckedChanged: { - UtilitiesTabController.setAlarmEnabled(checked, false) - } - } - - Item { - Layout.fillWidth: true - } - - MyTextField { - id: alarmClockHourText - text: "00" - keyBoardUID: 602 - Layout.preferredWidth: 50 - horizontalAlignment: Text.AlignHCenter - function onInputEvent(input) { - var val = parseInt(input) - if (!isNaN(val)) { - if (val < 0) { - val = 0 - } else if (val > 23) { - val = 23 - } - UtilitiesTabController.setAlarmTimeHour(val, false) - } - setAlarmHourText(UtilitiesTabController.alarmTimeHour) - } - } - - MyText { - text: ":" - } - - MyTextField { - id: alarmClockMinuteText - text: "00" - keyBoardUID: 603 - Layout.preferredWidth: 50 - horizontalAlignment: Text.AlignHCenter - function onInputEvent(input) { - var val = parseInt(input) - if (!isNaN(val)) { - if (val < 0) { - val = 0 - } else if (val > 59) { - val = 59 - } - UtilitiesTabController.setAlarmTimeMinute(val, false) - } - setAlarmMinuteText(UtilitiesTabController.alarmTimeMinute) - } - } - - Item { - Layout.fillWidth: true - } - - MyPushButton2 { - Layout.preferredWidth: 200 - text: "Current Time" - onClicked: { - UtilitiesTabController.setAlarmTimeToCurrentTime() - } - } - - MyPushButton2 { - Layout.leftMargin: 50 - Layout.preferredWidth: 120 - text: "+1 Hour" - onClicked: { - UtilitiesTabController.modAlarmTimeHour(1) - } - } - - MyPushButton2 { - Layout.preferredWidth: 120 - text: "-1 Hour" - onClicked: { - UtilitiesTabController.modAlarmTimeHour(-1) - } - } - - MyPushButton2 { - text: "+5 Min" - Layout.leftMargin: 50 - Layout.preferredWidth: 120 - onClicked: { - UtilitiesTabController.modAlarmTimeMinute(5) - } - } - - MyPushButton2 { - Layout.preferredWidth: 120 - text: "-5 Min" - onClicked: { - UtilitiesTabController.modAlarmTimeMinute(-5) - } - } - } - - RowLayout { - MyToggleButton { - id: alarmDontAnnoyToggle - text: "Don't Annoy me" - onCheckedChanged: { - UtilitiesTabController.setAlarmIsModal(!checked, false) - } - } - } - } } - GroupBox { + SteamDesktopGroupBox { id: steamDesktopGroupBox - Layout.fillWidth: true - - label: MyText { - leftPadding: 10 - text: "Steam Desktop Overlay Width" - bottomPadding: -10 - } - background: Rectangle { - color: "transparent" - border.color: "#ffffff" - radius: 8 - } - ColumnLayout { - anchors.fill: parent - - Rectangle { - color: "#ffffff" - height: 1 - Layout.fillWidth: true - Layout.bottomMargin: 5 - } - - ColumnLayout { - RowLayout { - MyPushButton2 { - id: steamDesktopWidthMinusButton - Layout.preferredWidth: 40 - text: "-" - onClicked: { - steamDesktopWidthSlider.value -= 1.0 - } - } - - MySlider { - id: steamDesktopWidthSlider - from: 0.1 - to: 32.0 - stepSize: 0.1 - value: 1.0 - Layout.fillWidth: true - onPositionChanged: { - var val = this.from + ( this.position * (this.to - this.from)) - steamDesktopWidthText.text = val.toFixed(1) - } - onValueChanged: { - UtilitiesTabController.setSteamDesktopOverlayWidth(value, false) - steamDesktopWidthText.text = value.toFixed(1) - } - } - - MyPushButton2 { - id: steamDesktopWidthPlusButton - Layout.preferredWidth: 40 - text: "+" - onClicked: { - steamDesktopWidthSlider.value += 1.0 - } - } - - MyTextField { - id: steamDesktopWidthText - text: "0.0" - keyBoardUID: 611 - Layout.preferredWidth: 100 - Layout.leftMargin: 10 - horizontalAlignment: Text.AlignHCenter - function onInputEvent(input) { - var val = parseFloat(input) - if (!isNaN(val)) { - if (val < 0.1) { - val = 0.1 - } - steamDesktopWidthSlider.value = val - UtilitiesTabController.setSteamDesktopOverlayWidth(val, false) - } - text = UtilitiesTabController.steamDesktopOverlayWidth.toFixed(1) - } - } - } - } - } } MediaControllerKeys { @@ -338,56 +32,5 @@ MyStackViewPage { Layout.fillHeight: true } - Component.onCompleted: { - alarmClockToggle.checked = UtilitiesTabController.alarmEnabled - alarmDontAnnoyToggle.checked = !UtilitiesTabController.alarmIsModal - setAlarmHourText(UtilitiesTabController.alarmTimeHour) - setAlarmMinuteText(UtilitiesTabController.alarmTimeMinute) - alarmGroupBox.visible = !OverlayController.desktopMode - keyboardGroupBox.visible = !OverlayController.desktopMode - steamDesktopGroupBox.visible = UtilitiesTabController.steamDesktopOverlayAvailable - if (steamDesktopGroupBox.visible) { - steamDesktopWidthSlider.value = UtilitiesTabController.steamDesktopOverlayWidth - } - } - - Connections { - target: UtilitiesTabController - onAlarmEnabledChanged: { - alarmClockToggle.checked = UtilitiesTabController.alarmEnabled - } - onAlarmIsModalChanged: { - alarmDontAnnoyToggle.checked = !UtilitiesTabController.alarmIsModal - } - onAlarmTimeHourChanged: { - setAlarmHourText(UtilitiesTabController.alarmTimeHour) - } - onAlarmTimeMinuteChanged: { - setAlarmMinuteText(UtilitiesTabController.alarmTimeMinute) - } - onSteamDesktopOverlayAvailableChanged: { - steamDesktopGroupBox.visible = UtilitiesTabController.steamDesktopOverlayAvailable - if (steamDesktopGroupBox.visible) { - steamDesktopWidthSlider.value = UtilitiesTabController.steamDesktopOverlayWidth - } - } - onSteamDesktopOverlayWidthChanged: { - steamDesktopWidthSlider.value = UtilitiesTabController.steamDesktopOverlayWidth - } - } - } - function setAlarmHourText(value) { - if (value < 9) { - alarmClockHourText.text = "0" + value - } else { - alarmClockHourText.text = value - } - } - function setAlarmMinuteText(value) { - if (value < 9) { - alarmClockMinuteText.text = "0" + value - } else { - alarmClockMinuteText.text = value - } } }