diff --git a/src/res/img/main_menu_icons/audio_tab_icon.svg b/src/res/img/main_menu_icons/audio_tab_icon.svg new file mode 100644 index 0000000..110df6f --- /dev/null +++ b/src/res/img/main_menu_icons/audio_tab_icon.svg @@ -0,0 +1,12 @@ + + + + + + + diff --git a/src/res/img/main_menu_icons/bindings_tab_icon.svg b/src/res/img/main_menu_icons/bindings_tab_icon.svg new file mode 100644 index 0000000..4526825 --- /dev/null +++ b/src/res/img/main_menu_icons/bindings_tab_icon.svg @@ -0,0 +1,14 @@ + + + + + + + + diff --git a/src/res/img/main_menu_icons/chaperone_tab_icon.svg b/src/res/img/main_menu_icons/chaperone_tab_icon.svg new file mode 100644 index 0000000..54c94c7 --- /dev/null +++ b/src/res/img/main_menu_icons/chaperone_tab_icon.svg @@ -0,0 +1,12 @@ + + + + + + + diff --git a/src/res/img/main_menu_icons/motion_tab_icon.svg b/src/res/img/main_menu_icons/motion_tab_icon.svg new file mode 100644 index 0000000..a5b2ca8 --- /dev/null +++ b/src/res/img/main_menu_icons/motion_tab_icon.svg @@ -0,0 +1,14 @@ + + + + + + + + diff --git a/src/res/img/main_menu_icons/offsets_tab_icon.svg b/src/res/img/main_menu_icons/offsets_tab_icon.svg new file mode 100644 index 0000000..5c7d0d9 --- /dev/null +++ b/src/res/img/main_menu_icons/offsets_tab_icon.svg @@ -0,0 +1,13 @@ + + + + + + + diff --git a/src/res/img/main_menu_icons/settings_tab_icon.svg b/src/res/img/main_menu_icons/settings_tab_icon.svg new file mode 100644 index 0000000..7079354 --- /dev/null +++ b/src/res/img/main_menu_icons/settings_tab_icon.svg @@ -0,0 +1,17 @@ + + + + + + + diff --git a/src/res/img/main_menu_icons/space_fix_tab_icon.svg b/src/res/img/main_menu_icons/space_fix_tab_icon.svg new file mode 100644 index 0000000..f9d375e --- /dev/null +++ b/src/res/img/main_menu_icons/space_fix_tab_icon.svg @@ -0,0 +1,12 @@ + + + + + + + diff --git a/src/res/img/main_menu_icons/statistics_tab_icon.svg b/src/res/img/main_menu_icons/statistics_tab_icon.svg new file mode 100644 index 0000000..d92e219 --- /dev/null +++ b/src/res/img/main_menu_icons/statistics_tab_icon.svg @@ -0,0 +1,13 @@ + + + + + + + diff --git a/src/res/img/main_menu_icons/steamvr_tab_icon.svg b/src/res/img/main_menu_icons/steamvr_tab_icon.svg new file mode 100644 index 0000000..11f8ead --- /dev/null +++ b/src/res/img/main_menu_icons/steamvr_tab_icon.svg @@ -0,0 +1,12 @@ + + + + + + + diff --git a/src/res/img/main_menu_icons/utilities_tab_icon.svg b/src/res/img/main_menu_icons/utilities_tab_icon.svg new file mode 100644 index 0000000..59e5480 --- /dev/null +++ b/src/res/img/main_menu_icons/utilities_tab_icon.svg @@ -0,0 +1,12 @@ + + + + + + + diff --git a/src/res/img/main_menu_icons/video_tab_icon.svg b/src/res/img/main_menu_icons/video_tab_icon.svg new file mode 100644 index 0000000..fcdccb5 --- /dev/null +++ b/src/res/img/main_menu_icons/video_tab_icon.svg @@ -0,0 +1,12 @@ + + + + + + + diff --git a/src/res/qml/RootPage.qml b/src/res/qml/RootPage.qml index 9b1f6e8..798db2e 100644 --- a/src/res/qml/RootPage.qml +++ b/src/res/qml/RootPage.qml @@ -28,8 +28,9 @@ MyStackViewPage { spacing: 10 MyPushButton { id: steamVRButton + iconPath: "qrc:/main_menu_icons/steamvr_tab_icon" activationSoundEnabled: false - text: "SteamVR" + text: " SteamVR" Layout.fillWidth: true onClicked: { MyResources.playFocusChangedSound() @@ -39,8 +40,9 @@ MyStackViewPage { MyPushButton { id: chaperoneButton + iconPath: "qrc:/main_menu_icons/chaperone_tab_icon" activationSoundEnabled: false - text: "Chaperone" + text: " Chaperone" Layout.fillWidth: true onClicked: { MyResources.playFocusChangedSound() @@ -50,8 +52,9 @@ MyStackViewPage { MyPushButton { id: playSpaceButton + iconPath: "qrc:/main_menu_icons/offsets_tab_icon" activationSoundEnabled: false - text: "Offsets" + text: " Offsets" Layout.fillWidth: true onClicked: { MyResources.playFocusChangedSound() @@ -61,8 +64,9 @@ MyStackViewPage { MyPushButton { id: motionButton + iconPath: "qrc:/main_menu_icons/motion_tab_icon" activationSoundEnabled: false - text: "Motion" + text: " Motion" Layout.fillWidth: true onClicked: { MyResources.playFocusChangedSound() @@ -72,8 +76,9 @@ MyStackViewPage { MyPushButton { id: fixFloorButton + iconPath: "qrc:/main_menu_icons/space_fix_tab_icon" activationSoundEnabled: false - text: "Space Fix" + text: " Space Fix" Layout.fillWidth: true onClicked: { MyResources.playFocusChangedSound() @@ -83,8 +88,9 @@ MyStackViewPage { MyPushButton { id: audioButton + iconPath: "qrc:/main_menu_icons/audio_tab_icon" activationSoundEnabled: false - text: "Audio" + text: " Audio" Layout.fillWidth: true onClicked: { MyResources.playFocusChangedSound() @@ -94,8 +100,9 @@ MyStackViewPage { MyPushButton { id: videoButton + iconPath: "qrc:/main_menu_icons/video_tab_icon" activationSoundEnabled: false - text: "Video" + text: " Video" Layout.fillWidth: true onClicked: { MyResources.playFocusChangedSound() @@ -105,8 +112,9 @@ MyStackViewPage { MyPushButton { id: utilitiesButton + iconPath: "qrc:/main_menu_icons/utilities_tab_icon" activationSoundEnabled: false - text: "Utilities" + text: " Utilities" Layout.fillWidth: true onClicked: { MyResources.playFocusChangedSound() @@ -127,8 +135,9 @@ MyStackViewPage { MyPushButton { id: statisticsButton + iconPath: "qrc:/main_menu_icons/statistics_tab_icon" activationSoundEnabled: false - text: "Statistics" + text: " Statistics" Layout.fillWidth: true onClicked: { MyResources.playFocusChangedSound() @@ -143,8 +152,9 @@ MyStackViewPage { MyPushButton { id: bindingsButton + iconPath: "qrc:/main_menu_icons/bindings_tab_icon" activationSoundEnabled: false - text: "Bindings" + text: " Bindings" Layout.fillWidth: true onClicked: { MyResources.playFocusChangedSound() @@ -154,8 +164,9 @@ MyStackViewPage { MyPushButton { id: settingsButton + iconPath: "qrc:/main_menu_icons/settings_tab_icon" activationSoundEnabled: false - text: "Settings" + text: " Settings" Layout.fillWidth: true onClicked: { MyResources.playFocusChangedSound() diff --git a/src/res/qml/common/MyPushButton.qml b/src/res/qml/common/MyPushButton.qml index cd55ad8..4784575 100644 --- a/src/res/qml/common/MyPushButton.qml +++ b/src/res/qml/common/MyPushButton.qml @@ -3,6 +3,10 @@ import QtQuick.Controls 2.0 import "." // QTBUG-34418, singletons require explicit import to load qmldir file Button { + // Overload this + // Empty string = no icon + property string iconPath: "" + property bool activationSoundEnabled: true hoverEnabled: true contentItem: MyText { @@ -15,6 +19,12 @@ Button { color: parent.down ? "#406288" : (parent.activeFocus ? "#365473" : "#2c435d") } + Image { + source: iconPath + height: parent.height + width: height + } + onHoveredChanged: { if (hovered) { forceActiveFocus() diff --git a/src/res/resources.qrc b/src/res/resources.qrc index 22cbb86..782a64c 100644 --- a/src/res/resources.qrc +++ b/src/res/resources.qrc @@ -20,4 +20,17 @@ img/bindings/bindings.png + + img/main_menu_icons/audio_tab_icon.svg + img/main_menu_icons/bindings_tab_icon.svg + img/main_menu_icons/chaperone_tab_icon.svg + img/main_menu_icons/motion_tab_icon.svg + img/main_menu_icons/offsets_tab_icon.svg + img/main_menu_icons/settings_tab_icon.svg + img/main_menu_icons/space_fix_tab_icon.svg + img/main_menu_icons/statistics_tab_icon.svg + img/main_menu_icons/steamvr_tab_icon.svg + img/main_menu_icons/utilities_tab_icon.svg + img/main_menu_icons/video_tab_icon.svg + \ No newline at end of file