Add icons for main menu buttons, ability for buttons in general
The current interface is almost exclusively in written English. This makes usage of the program more difficult for people who can't distinguish English words, or remember specific VR/English technical terminology. Adding small icons to main menu items will make it easier for the aforementioned groups to use the application. This also adds the ability for buttons in general to have a custom icon, if necessary.
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#FFFFFF;}
|
||||
.st1{fill:none;}
|
||||
</style>
|
||||
<path class="st0" d="M3,9v6h4l5,5V4L7,9H3z M16.5,12c0-1.8-1-3.3-2.5-4V16C15.5,15.3,16.5,13.8,16.5,12z M14,3.2v2.1
|
||||
c2.9,0.9,5,3.5,5,6.7s-2.1,5.9-5,6.7v2.1c4-0.9,7-4.5,7-8.8S18,4.1,14,3.2z"/>
|
||||
<path class="st1" d="M0,0h24v24H0V0z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 667 B |
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#FFFFFF;}
|
||||
</style>
|
||||
<g>
|
||||
<path class="st0" d="M21.6,6.3V19c0,1.9-1.6,3.5-3.5,3.5h-6.4c-0.9,0-1.8-0.4-2.5-1l-6.9-7c0,0,1.1-1.1,1.1-1.1
|
||||
c0.2-0.2,0.4-0.3,0.7-0.3c0.2,0,0.4,0.1,0.5,0.1c0,0,3.8,2.2,3.8,2.2V5c0-0.7,0.6-1.3,1.3-1.3s1.3,0.6,1.3,1.3v6.1H12V2.8
|
||||
c0-0.7,0.6-1.3,1.3-1.3s1.3,0.6,1.3,1.3v8.3h0.9V3.7c0-0.7,0.6-1.3,1.3-1.3s1.3,0.6,1.3,1.3v7.4H19V6.3C19,5.6,19.6,5,20.3,5
|
||||
S21.6,5.6,21.6,6.3z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 807 B |
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#FFFFFF;}
|
||||
.st1{fill:none;}
|
||||
</style>
|
||||
<path class="st0" d="M13,7h-2v2h2V7z M13,11h-2v2h2V11z M17,11h-2v2h2V11z M3,3v18h18V3H3z M19,19H5V5h14V19z M13,15h-2v2h2V15z
|
||||
M9,11H7v2h2V11z"/>
|
||||
<path class="st1" d="M0,0h24v24H0V0z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 622 B |
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#FFFFFF;}
|
||||
.st1{fill:none;}
|
||||
</style>
|
||||
<path class="st0" d="M15.5,5.5l-1.8,1.8L12,5.5l-1.8,1.8L8.5,5.5L12,2L15.5,5.5z M18.5,15.5l-1.8-1.8l1.8-1.8l-1.8-1.8l1.8-1.8
|
||||
L22,12L18.5,15.5z M8.5,18.5l1.8-1.8l1.8,1.8l1.8-1.8l1.8,1.8L12,22L8.5,18.5z M5.5,8.5l1.8,1.8L5.5,12l1.8,1.8l-1.8,1.8L2,12
|
||||
L5.5,8.5z"/>
|
||||
<circle class="st0" cx="12" cy="12" r="3"/>
|
||||
<path class="st1" d="M0,0h24v24H0V0z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 783 B |
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:none;}
|
||||
.st1{fill:#FFFFFF;}
|
||||
</style>
|
||||
<path class="st0" d="M0,0h24v24H0V0z"/>
|
||||
<path class="st1" d="M20,2H4C2.9,2,2,2.9,2,4v16c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2V4C22,2.9,21.1,2,20,2z M8,20H4v-4h4V20z M8,14
|
||||
H4v-4h4V14z M8,8H4V4h4V8z M14,20h-4v-4h4V20z M14,14h-4v-4h4V14z M14,8h-4V4h4V8z M20,20h-4v-4h4V20z M20,14h-4v-4h4V14z M20,8h-4
|
||||
V4h4V8z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 745 B |
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:none;}
|
||||
.st1{fill:#FFFFFF;}
|
||||
</style>
|
||||
<path class="st0" d="M0,0h24v24H0V0z"/>
|
||||
<path class="st1" d="M12,10c-1.1,0-2,0.9-2,2s0.9,2,2,2s2-0.9,2-2S13.1,10,12,10z M19,3H5C3.9,3,3,3.9,3,5v14c0,1.1,0.9,2,2,2h14
|
||||
c1.1,0,2-0.9,2-2V5C21,3.9,20.1,3,19,3z M17.3,12c0,0.2,0,0.5,0,0.7l1.5,1.2c0.1,0.1,0.2,0.3,0.1,0.4l-1.4,2.4
|
||||
c-0.1,0.1-0.3,0.2-0.4,0.1l-1.7-0.7c-0.4,0.3-0.8,0.5-1.2,0.7l-0.3,1.9c0,0.2-0.2,0.3-0.4,0.3h-2.8c-0.2,0-0.3-0.1-0.4-0.3L10,16.9
|
||||
c-0.4-0.2-0.8-0.4-1.2-0.7l-1.7,0.7c-0.2,0.1-0.3,0-0.4-0.1l-1.4-2.4c-0.1-0.1-0.1-0.3,0.1-0.4l1.5-1.2c0-0.2-0.1-0.5-0.1-0.7
|
||||
s0-0.5,0.1-0.7l-1.5-1.2C5.2,10,5.1,9.9,5.2,9.7l1.4-2.4c0.1-0.2,0.3-0.2,0.4-0.2l1.7,0.7C9.2,7.6,9.6,7.3,10,7.1l0.3-1.8
|
||||
c0-0.2,0.2-0.3,0.4-0.3h2.8c0.2,0,0.3,0.1,0.4,0.3L14,7.1c0.4,0.2,0.8,0.4,1.2,0.7l1.7-0.7c0.2-0.1,0.3,0,0.4,0.2l1.4,2.4
|
||||
c0.1,0.1,0,0.3-0.1,0.4l-1.5,1.2C17.2,11.5,17.3,11.8,17.3,12z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:none;}
|
||||
.st1{fill:#FFFFFF;}
|
||||
</style>
|
||||
<path class="st0" d="M0,0h24v24H0V0z"/>
|
||||
<path class="st1" d="M3,5H1v16c0,1.1,0.9,2,2,2h16v-2H3V5z M21,1H7C5.9,1,5,1.9,5,3v14c0,1.1,0.9,2,2,2h14c1.1,0,2-0.9,2-2V3
|
||||
C23,1.9,22.1,1,21,1z M21,17H7V3h14V17z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 641 B |
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#FFFFFF;}
|
||||
.st1{fill:none;}
|
||||
</style>
|
||||
<path class="st0" d="M4,10.5c-0.8,0-1.5,0.7-1.5,1.5s0.7,1.5,1.5,1.5s1.5-0.7,1.5-1.5S4.8,10.5,4,10.5z M4,4.5
|
||||
C3.2,4.5,2.5,5.2,2.5,6S3.2,7.5,4,7.5S5.5,6.8,5.5,6S4.8,4.5,4,4.5z M4,16.5c-0.8,0-1.5,0.7-1.5,1.5s0.7,1.5,1.5,1.5
|
||||
s1.5-0.7,1.5-1.5S4.8,16.5,4,16.5z M7,19h14v-2H7V19z M7,13h14v-2H7V13z M7,5v2h14V5H7z"/>
|
||||
<path class="st1" d="M0,0h24v24H0V0z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 788 B |
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:none;}
|
||||
.st1{fill:#FFFFFF;}
|
||||
</style>
|
||||
<path class="st0" d="M0,0h24v24H0V0z"/>
|
||||
<path class="st1" d="M3,17v2h6v-2H3z M3,5v2h10V5H3z M13,21v-2h8v-2h-8v-2h-2v6H13z M7,9v2H3v2h4v2h2V9H7z M21,13v-2H11v2H21z M15,9
|
||||
h2V7h4V5h-4V3h-2V9z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 629 B |
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:none;}
|
||||
.st1{fill:#FFFFFF;}
|
||||
</style>
|
||||
<path class="st0" d="M0,0h24v24H0V0z"/>
|
||||
<path class="st1" d="M22.7,19l-9.1-9.1c0.9-2.3,0.4-5-1.5-6.9c-2-2-5-2.4-7.4-1.3L9,6L6,9L1.6,4.7c-1.2,2.4-0.7,5.4,1.3,7.4
|
||||
c1.9,1.9,4.6,2.4,6.9,1.5l9.1,9.1c0.4,0.4,1,0.4,1.4,0l2.3-2.3C23.1,20,23.1,19.3,22.7,19z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 689 B |
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#FFFFFF;}
|
||||
.st1{fill:none;}
|
||||
</style>
|
||||
<path class="st0" d="M21,3H3C1.9,3,1,3.9,1,5v12c0,1.1,0.9,2,2,2h5v2h8v-2h5c1.1,0,2-0.9,2-2l0-12C23,3.9,22.1,3,21,3z M21,17H3V5
|
||||
h18V17z"/>
|
||||
<path class="st1" d="M0,0h24v24H0V0z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 615 B |
@@ -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()
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -20,4 +20,17 @@
|
||||
<qresource prefix="/bindings">
|
||||
<file alias="bindings">img/bindings/bindings.png</file>
|
||||
</qresource>
|
||||
<qresource prefix="/main_menu_icons">
|
||||
<file alias="audio_tab_icon">img/main_menu_icons/audio_tab_icon.svg</file>
|
||||
<file alias="bindings_tab_icon">img/main_menu_icons/bindings_tab_icon.svg</file>
|
||||
<file alias="chaperone_tab_icon">img/main_menu_icons/chaperone_tab_icon.svg</file>
|
||||
<file alias="motion_tab_icon">img/main_menu_icons/motion_tab_icon.svg</file>
|
||||
<file alias="offsets_tab_icon">img/main_menu_icons/offsets_tab_icon.svg</file>
|
||||
<file alias="settings_tab_icon">img/main_menu_icons/settings_tab_icon.svg</file>
|
||||
<file alias="space_fix_tab_icon">img/main_menu_icons/space_fix_tab_icon.svg</file>
|
||||
<file alias="statistics_tab_icon">img/main_menu_icons/statistics_tab_icon.svg</file>
|
||||
<file alias="steamvr_tab_icon">img/main_menu_icons/steamvr_tab_icon.svg</file>
|
||||
<file alias="utilities_tab_icon">img/main_menu_icons/utilities_tab_icon.svg</file>
|
||||
<file alias="video_tab_icon">img/main_menu_icons/video_tab_icon.svg</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||