diff --git a/interface/resources/qml/hifi/simplifiedUI/settingsApp/SettingsApp.qml b/interface/resources/qml/hifi/simplifiedUI/settingsApp/SettingsApp.qml
index adb8344902..1f48d1d753 100644
--- a/interface/resources/qml/hifi/simplifiedUI/settingsApp/SettingsApp.qml
+++ b/interface/resources/qml/hifi/simplifiedUI/settingsApp/SettingsApp.qml
@@ -17,6 +17,7 @@ import "./audio" as AudioSettings
import "./general" as GeneralSettings
import "./vr" as VrSettings
import "./dev" as DevSettings
+import "./about" as AboutSettings
Rectangle {
property string activeTabView: "generalTabView"
@@ -76,6 +77,10 @@ Rectangle {
tabTitle: "VR"
tabViewName: "vrTabView"
}
+ ListElement {
+ tabTitle: "About"
+ tabViewName: "aboutTabView"
+ }
ListElement {
tabTitle: "Dev"
tabViewName: "devTabView"
@@ -103,7 +108,7 @@ Rectangle {
delegate: Item {
visible: model.tabTitle !== "Dev" || (model.tabTitle === "Dev" && root.developerModeEnabled)
- width: tabTitleText.paintedWidth + 64
+ width: tabTitleText.paintedWidth + 32
height: parent.height
HifiStylesUit.GraphikRegular {
@@ -163,6 +168,12 @@ Rectangle {
anchors.fill: parent
}
+ AboutSettings.About {
+ id: aboutTabViewContainer
+ visible: activeTabView === "aboutTabView"
+ anchors.fill: parent
+ }
+
SimplifiedControls.VerticalScrollBar {
parent: {
if (activeTabView === "generalTabView") {
@@ -173,6 +184,8 @@ Rectangle {
vrTabViewContainer
} else if (activeTabView === "devTabView") {
devTabViewContainer
+ } else if (activeTabView === "aboutTabView") {
+ aboutTabViewContainer
}
}
}
diff --git a/interface/resources/qml/hifi/simplifiedUI/settingsApp/about/About.qml b/interface/resources/qml/hifi/simplifiedUI/settingsApp/about/About.qml
new file mode 100644
index 0000000000..76ab762a6b
--- /dev/null
+++ b/interface/resources/qml/hifi/simplifiedUI/settingsApp/about/About.qml
@@ -0,0 +1,218 @@
+//
+// About.qml
+//
+// Created by Zach Fox on 2019-06-18
+// Copyright 2019 High Fidelity, Inc.
+//
+// Distributed under the Apache License, Version 2.0.
+// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
+//
+
+import QtQuick 2.10
+import QtQuick.Controls 2.3
+import "../../simplifiedConstants" as SimplifiedConstants
+import "../../simplifiedControls" as SimplifiedControls
+import stylesUit 1.0 as HifiStylesUit
+import QtQuick.Layouts 1.3
+
+Flickable {
+ id: root
+ contentWidth: parent.width
+ contentHeight: aboutColumnLayout.height
+ clip: true
+
+ onVisibleChanged: {
+ if (visible) {
+ root.contentX = 0;
+ root.contentY = 0;
+ }
+ }
+
+
+ SimplifiedConstants.SimplifiedConstants {
+ id: simplifiedUI
+ }
+
+
+ ColumnLayout {
+ id: aboutColumnLayout
+ anchors.left: parent.left
+ anchors.leftMargin: 26
+ anchors.right: parent.right
+ anchors.rightMargin: 26
+ anchors.top: parent.top
+ spacing: 0
+
+ Image {
+ source: "images/logo.png"
+ Layout.alignment: Qt.AlignHCenter
+ Layout.topMargin: 16
+ Layout.preferredWidth: 200
+ Layout.preferredHeight: 150
+ fillMode: Image.PreserveAspectFit
+ mipmap: true
+ }
+
+ ColumnLayout {
+ id: platformInfoContainer
+ Layout.preferredWidth: parent.width
+ Layout.bottomMargin: 24
+ spacing: 0
+
+ HifiStylesUit.GraphikSemiBold {
+ text: "Version " + Window.checkVersion()
+ Layout.alignment: Qt.AlignHCenter
+ Layout.maximumWidth: parent.width
+ height: paintedHeight
+ size: 16
+ color: simplifiedUI.colors.text.white
+ wrapMode: Text.Wrap
+ }
+
+ HifiStylesUit.GraphikSemiBold {
+ text: "Platform Info"
+ Layout.maximumWidth: parent.width
+ Layout.topMargin: 8
+ Layout.bottomMargin: 8
+ height: paintedHeight
+ size: 22
+ color: simplifiedUI.colors.text.white
+ wrapMode: Text.Wrap
+ }
+
+ HifiStylesUit.GraphikRegular {
+ text: "Computer Vendor/Model:"
+ Layout.maximumWidth: parent.width
+ height: paintedHeight
+ size: 16
+ color: simplifiedUI.colors.text.white
+ wrapMode: Text.Wrap
+
+ Component.onCompleted: {
+ var computer = JSON.parse(PlatformInfo.getComputer());
+ var computerVendor = computer.vendor;
+ if (computerVendor.length === 0) {
+ computerVendor = "Unknown";
+ }
+ var computerModel = computer.model;
+ if (computerModel.length === 0) {
+ computerModel = "Unknown";
+ }
+
+ text = "Computer Vendor/Model: " + computerVendor + "/" + computerModel;
+ }
+ }
+
+ HifiStylesUit.GraphikRegular {
+ text: "Profiled Platform Tier: " + PlatformInfo.getTierProfiled()
+ Layout.maximumWidth: parent.width
+ height: paintedHeight
+ size: 16
+ color: simplifiedUI.colors.text.white
+ wrapMode: Text.Wrap
+ }
+
+ HifiStylesUit.GraphikRegular {
+ text: "OS Type: " + PlatformInfo.getOperatingSystemType()
+ Layout.maximumWidth: parent.width
+ height: paintedHeight
+ size: 16
+ color: simplifiedUI.colors.text.white
+ wrapMode: Text.Wrap
+ }
+
+ HifiStylesUit.GraphikRegular {
+ text: "CPU: " + PlatformInfo.getCPUBrand()
+ Layout.maximumWidth: parent.width
+ height: paintedHeight
+ size: 16
+ color: simplifiedUI.colors.text.white
+ wrapMode: Text.Wrap
+ }
+
+ HifiStylesUit.GraphikRegular {
+ text: "# CPUs: " + PlatformInfo.getNumCPUs()
+ Layout.maximumWidth: parent.width
+ height: paintedHeight
+ size: 16
+ color: simplifiedUI.colors.text.white
+ wrapMode: Text.Wrap
+ }
+
+ HifiStylesUit.GraphikRegular {
+ text: "# CPU Cores: " + PlatformInfo.getNumLogicalCores()
+ Layout.maximumWidth: parent.width
+ height: paintedHeight
+ size: 16
+ color: simplifiedUI.colors.text.white
+ wrapMode: Text.Wrap
+ }
+
+ HifiStylesUit.GraphikRegular {
+ text: "RAM: " + PlatformInfo.getTotalSystemMemoryMB() + " MB"
+ Layout.maximumWidth: parent.width
+ height: paintedHeight
+ size: 16
+ color: simplifiedUI.colors.text.white
+ wrapMode: Text.Wrap
+ }
+
+ HifiStylesUit.GraphikRegular {
+ text: "GPU: " + PlatformInfo.getGraphicsCardType()
+ Layout.maximumWidth: parent.width
+ height: paintedHeight
+ size: 16
+ color: simplifiedUI.colors.text.white
+ wrapMode: Text.Wrap
+ }
+
+ HifiStylesUit.GraphikRegular {
+ text: "VR Hand Controllers: " + (PlatformInfo.hasRiftControllers() ? "Rift" : (PlatformInfo.hasViveControllers() ? "Vive" : "None"))
+ Layout.maximumWidth: parent.width
+ height: paintedHeight
+ size: 16
+ color: simplifiedUI.colors.text.white
+ wrapMode: Text.Wrap
+ }
+
+ SimplifiedControls.Button {
+ Layout.topMargin: 8
+ width: 200
+ height: 32
+ text: "Copy to Clipboard"
+
+ onClicked: {
+ Window.copyToClipboard(root.buildPlatformInfoTextToCopy());
+ }
+ }
+ }
+ }
+
+ function buildPlatformInfoTextToCopy() {
+ var textToCopy = "**About Interface**\n";
+ textToCopy += "Interface Version: " + Window.checkVersion() + "\n";
+ textToCopy += "\n**Platform Info**\n";
+
+ var computer = JSON.parse(PlatformInfo.getComputer());
+ var computerVendor = computer.vendor;
+ if (computerVendor.length === 0) {
+ computerVendor = "Unknown";
+ }
+ var computerModel = computer.model;
+ if (computerModel.length === 0) {
+ computerModel = "Unknown";
+ }
+
+ textToCopy += "Computer Vendor/Model: " + computerVendor + "/" + computerModel + "\n";
+ textToCopy += "Profiled Platform Tier: " + PlatformInfo.getTierProfiled() + "\n";
+ textToCopy += "OS Type: " + PlatformInfo.getOperatingSystemType() + "\n";
+ textToCopy += "CPU: " + PlatformInfo.getCPUBrand() + "\n";
+ textToCopy += "# CPUs: " + PlatformInfo.getNumCPUs() + "\n";
+ textToCopy += "# CPU Cores: " + PlatformInfo.getNumLogicalCores() + "\n";
+ textToCopy += "RAM: " + PlatformInfo.getTotalSystemMemoryMB() + " MB\n";
+ textToCopy += "GPU: " + PlatformInfo.getGraphicsCardType() + "\n";
+ textToCopy += "VR Hand Controllers: " + (PlatformInfo.hasRiftControllers() ? "Rift" : (PlatformInfo.hasViveControllers() ? "Vive" : "None"));
+
+ return textToCopy;
+ }
+}
diff --git a/interface/resources/qml/hifi/simplifiedUI/settingsApp/about/images/logo.png b/interface/resources/qml/hifi/simplifiedUI/settingsApp/about/images/logo.png
new file mode 100644
index 0000000000..d480da86dd
Binary files /dev/null and b/interface/resources/qml/hifi/simplifiedUI/settingsApp/about/images/logo.png differ