diff --git a/interface/resources/icons/tablet-mute-icon.svg b/interface/resources/icons/tablet-mute-icon.svg
new file mode 100644
index 0000000000..dc626845e6
--- /dev/null
+++ b/interface/resources/icons/tablet-mute-icon.svg
@@ -0,0 +1,18 @@
+
+
+
diff --git a/interface/resources/icons/tablet-unmute-icon.svg b/interface/resources/icons/tablet-unmute-icon.svg
new file mode 100644
index 0000000000..34a33a3535
--- /dev/null
+++ b/interface/resources/icons/tablet-unmute-icon.svg
@@ -0,0 +1,19 @@
+
+
+
diff --git a/interface/resources/qml/hifi/tablet/Tablet.qml b/interface/resources/qml/hifi/tablet/Tablet.qml
index 59bcb511e9..c6b38b538f 100644
--- a/interface/resources/qml/hifi/tablet/Tablet.qml
+++ b/interface/resources/qml/hifi/tablet/Tablet.qml
@@ -1,25 +1,148 @@
import QtQuick 2.0
-import "../../styles-uit/"
+import QtGraphicalEffects 1.0
Item {
- id: item1
+ id: tablet
+
+ property double miclevel: 0.8
+
width: 480
height: 720
Rectangle {
- id: bg
- anchors.bottom: parent.bottom
- anchors.bottomMargin: 0
+ id: bgAudio
+ height: 90
+ gradient: Gradient {
+ GradientStop {
+ position: 0
+ color: "#6b6b6b"
+ }
+
+ GradientStop {
+ position: 1
+ color: "#595959"
+ }
+ }
anchors.right: parent.right
anchors.rightMargin: 0
anchors.left: parent.left
anchors.leftMargin: 0
- anchors.top: parent.top
anchors.topMargin: 0
+ anchors.top: parent.top
+
+ Row {
+ id: rowAudio1
+ height: parent.height
+ anchors.topMargin: 0
+ anchors.top: parent.top
+ anchors.leftMargin: 30
+ anchors.left: parent.left
+ anchors.rightMargin: 30
+ anchors.right: parent.right
+ spacing: 5
+
+ Rectangle {
+ id: muteButton
+ width: 128
+ height: 40
+ color: "#464646"
+ anchors.verticalCenter: parent.verticalCenter
+ Text {
+ id: muteText
+ color: "#ffffff"
+ text: "MUTE"
+ z: 1
+ verticalAlignment: Text.AlignVCenter
+ anchors.horizontalCenter: parent.horizontalCenter
+ font.pixelSize: 16
+ anchors.verticalCenter: parent.verticalCenter
+ horizontalAlignment: Text.AlignHCenter
+ font.bold: true
+ }
+ MouseArea {
+ anchors.fill: parent
+ hoverEnabled: true
+ onEntered: {
+ console.log("Mute Botton Hovered!");
+ parent.color = "#2d2d2d";
+ parent.border.width = 2;
+ parent.border.color = "#ffffff";
+ }
+ onExited: {
+ console.log("Mute Botton Unhovered!");
+ parent.color = "#464646";
+ parent.border.width = 0;
+ }
+
+ onClicked: {
+ console.log("Mute Button Clicked! current tablet state: " + tablet.state );
+ if (tablet.state === "muted state") {
+ tablet.state = "base state";
+ } else {
+ tablet.state = "muted state";
+ }
+ }
+ }
+ }
+
+ Image {
+ id: muteIcon
+ width: 40
+ height: 40
+ source: "../../../icons/tablet-mute-icon.svg"
+ anchors.verticalCenter: parent.verticalCenter
+ }
+
+ Item {
+ id: item1
+ width: 225
+ height: 10
+ anchors.verticalCenter: parent.verticalCenter
+ Rectangle {
+ id: audioBarBase
+ color: "#333333"
+ radius: 5
+ anchors.fill: parent
+ }
+ Rectangle {
+ id: audioBarMask
+ width: parent.width * tablet.miclevel
+ color: "#333333"
+ radius: 5
+ anchors.bottom: parent.bottom
+ anchors.bottomMargin: 0
+ anchors.top: parent.top
+ anchors.topMargin: 0
+ anchors.left: parent.left
+ anchors.leftMargin: 0
+ }
+ LinearGradient {
+ anchors.fill: audioBarMask
+ source: audioBarMask
+ start: Qt.point(0, 0)
+ end: Qt.point(225, 0)
+ gradient: Gradient {
+ GradientStop {
+ position: 0
+ color: "#00b8ff"
+ }
+ GradientStop {
+ position: 1
+ color: "#ff2d73"
+ }
+ }
+ }
+ }
+ }
+ }
+
+ Rectangle {
+ id: bgMain
gradient: Gradient {
GradientStop {
position: 0
- color: "#7c7c7c"
+ color: "#787878"
+
}
GradientStop {
@@ -27,50 +150,77 @@ Item {
color: "#000000"
}
}
+ anchors.bottom: parent.bottom
+ anchors.bottomMargin: 0
+ anchors.right: parent.right
+ anchors.rightMargin: 0
+ anchors.left: parent.left
+ anchors.leftMargin: 0
+ anchors.top: bgAudio.bottom
+ anchors.topMargin: 0
Flow {
- id: flow
+ id: flowMain
spacing: 12
anchors.right: parent.right
- anchors.rightMargin: 17
+ anchors.rightMargin: 30
anchors.left: parent.left
- anchors.leftMargin: 17
+ anchors.leftMargin: 30
anchors.bottom: parent.bottom
- anchors.bottomMargin: 8
+ anchors.bottomMargin: 30
anchors.top: parent.top
- anchors.topMargin: 123
- }
-
- Image {
- id: muteIcon
- x: 205
- width: 70
- height: 70
- anchors.horizontalCenter: parent.horizontalCenter
- anchors.top: parent.top
- anchors.topMargin: 28
- fillMode: Image.Stretch
- source: "../../../icons/circle.svg"
-
- RalewaySemiBold {
- id: muteText
- x: 15
- y: 27
- color: "#ffffff"
- text: qsTr("MUTE")
- horizontalAlignment: Text.AlignHCenter
- font.pixelSize: 14
- }
+ anchors.topMargin: 30
}
Component.onCompleted: {
- console.log("AJT: Tablet.onCompleted!");
- // AJT: test flow by adding buttons
+ console.log("Tablet.onCompleted!");
var component = Qt.createComponent("TabletButton.qml");
- for (var i = 0; i < 10; i++) {
- component.createObject(flow);
+ var buttons = [];
+ for (var i = 0; i < 9; i++) {
+ buttons.push(component.createObject(flowMain));
}
+
+ // set button color
+ var green = "#1FC6A6";
+ var lightblue = "#00B4EF";
+ buttons[3].color = lightblue;
+ buttons[4].color = lightblue;
+ buttons[5].color = lightblue;
+ buttons[6].color = green;
+ buttons[7].color = green;
+ buttons[8].color = green;
+
+ // set button text
+ buttons[0].text = "GO TO";
+ buttons[1].text = "BUBBLE";
+ buttons[2].text = "MENU";
+ buttons[3].text = "MARKET";
+ buttons[4].text = "SWITCH";
+ buttons[5].text = "PAUSE";
+ buttons[6].text = "EDIT";
+ buttons[7].text = "SNAP";
+ buttons[8].text = "SCRIPTS";
}
}
+ states: [
+ State {
+ name: "muted state"
+
+ PropertyChanges {
+ target: muteText
+ text: "UNMUTE"
+ }
+
+ PropertyChanges {
+ target: muteIcon
+ source: "../../../icons/tablet-unmute-icon.svg"
+ }
+
+ PropertyChanges {
+ target: tablet
+ miclevel: 0
+ }
+ }
+ ]
}
diff --git a/interface/resources/qml/hifi/tablet/TabletButton.qml b/interface/resources/qml/hifi/tablet/TabletButton.qml
index a1d17cf423..75f5423f41 100644
--- a/interface/resources/qml/hifi/tablet/TabletButton.qml
+++ b/interface/resources/qml/hifi/tablet/TabletButton.qml
@@ -1,28 +1,93 @@
import QtQuick 2.0
-import "../../styles-uit/"
+import QtGraphicalEffects 1.0
-Rectangle {
+Item {
id: tabletButton
- width: 140
- height: 140
- color: "#1794c3"
+ property string color: "#1080B8"
+ property string text: "EDIT"
+ property string icon: "icons/edit-icon.svg"
+ width: 132
+ height: 132
+
+ Rectangle {
+ id: buttonBg
+ color: tabletButton.color
+ border.width: 0
+ border.color: "#00000000"
+ anchors.right: parent.right
+ anchors.rightMargin: 0
+ anchors.left: parent.left
+ anchors.leftMargin: 0
+ anchors.bottom: parent.bottom
+ anchors.bottomMargin: 0
+ anchors.top: parent.top
+ anchors.topMargin: 0
+ }
Image {
id: icon
- x: 40
- y: 30
width: 60
height: 60
- source: "../../../icons/edit-icon.svg"
+ anchors.bottom: text.top
+ anchors.bottomMargin: 5
+ anchors.horizontalCenter: parent.horizontalCenter
+ fillMode: Image.Stretch
+ source: "../../../" + tabletButton.icon
}
- RalewaySemiBold {
+ Text {
id: text
- x: 50
- y: 96
color: "#ffffff"
- text: qsTr("EDIT")
- horizontalAlignment: Text.AlignHCenter
+ text: tabletButton.text
+ font.bold: true
font.pixelSize: 18
+ anchors.bottom: parent.bottom
+ anchors.bottomMargin: 20
+ anchors.horizontalCenter: parent.horizontalCenter
+ horizontalAlignment: Text.AlignHCenter
}
+
+ DropShadow {
+ id: dropshadow
+ anchors.fill: parent
+ horizontalOffset: 0
+ verticalOffset: 3
+ color: "#aa000000"
+ radius: 20
+ z: -1
+ samples: 41
+ source: buttonBg
+ }
+
+ MouseArea {
+ anchors.fill: parent
+ hoverEnabled: true
+ onEntered: {
+ console.log("Tablet Button Hovered!");
+ tabletButton.state = "hover state";
+ }
+ onExited: {
+ console.log("Tablet Button Unhovered!");
+ tabletButton.state = "base state";
+ }
+ }
+
+ states: [
+ State {
+ name: "hover state"
+
+ PropertyChanges {
+ target: buttonBg
+ border.width: 2
+ border.color: "#ffffff"
+ }
+ PropertyChanges {
+ target: dropshadow
+ verticalOffset: 0
+ color: "#ffffff"
+ }
+ }
+ ]
}
+
+