Massive performance boost

This commit is contained in:
Zach Fox 2017-03-14 16:22:16 -07:00
parent 5da0dfc4ac
commit 0a6bcd7fca
2 changed files with 43 additions and 22 deletions

View file

@ -79,14 +79,13 @@ Item {
} }
StateImage { StateImage {
id: infoHoverImage; id: infoHoverImage;
visible: avatarImageMouseArea.containsMouse ? true : false; visible: false;
imageURL: "../../images/info-icon-2-state.svg"; imageURL: "../../images/info-icon-2-state.svg";
size: 32; size: 32;
buttonState: 1; buttonState: 1;
anchors.centerIn: parent; anchors.centerIn: parent;
} }
MouseArea { MouseArea {
id: avatarImageMouseArea;
anchors.fill: parent anchors.fill: parent
enabled: selected || isMyCard; enabled: selected || isMyCard;
hoverEnabled: enabled hoverEnabled: enabled
@ -94,6 +93,8 @@ Item {
userInfoViewer.url = defaultBaseUrl + "/users/" + userName; userInfoViewer.url = defaultBaseUrl + "/users/" + userName;
userInfoViewer.visible = true; userInfoViewer.visible = true;
} }
onEntered: infoHoverImage.visible = true;
onExited: infoHoverImage.visible = false;
} }
} }
@ -124,7 +125,7 @@ Item {
anchors.leftMargin: avatarImage.visible ? 5 : 0; anchors.leftMargin: avatarImage.visible ? 5 : 0;
anchors.rightMargin: 5; anchors.rightMargin: 5;
// Style // Style
color: myDisplayNameMouseArea.containsMouse ? hifi.colors.lightGrayText : hifi.colors.textFieldLightBackground color: hifi.colors.textFieldLightBackground
border.color: hifi.colors.blueHighlight border.color: hifi.colors.blueHighlight
border.width: 0 border.width: 0
TextInput { TextInput {
@ -165,7 +166,6 @@ Item {
} }
} }
MouseArea { MouseArea {
id: myDisplayNameMouseArea;
anchors.fill: parent anchors.fill: parent
hoverEnabled: true hoverEnabled: true
onClicked: { onClicked: {
@ -182,6 +182,8 @@ Item {
pal.currentlyEditingDisplayName = true pal.currentlyEditingDisplayName = true
myDisplayNameText.autoScroll = true; myDisplayNameText.autoScroll = true;
} }
onEntered: myDisplayName.color = hifi.colors.lightGrayText;
onExited: myDisplayName.color = hifi.colors.textFieldLightBackground;
} }
// Edit pencil glyph // Edit pencil glyph
HiFiGlyphs { HiFiGlyphs {
@ -226,13 +228,20 @@ Item {
// Text Positioning // Text Positioning
verticalAlignment: Text.AlignTop verticalAlignment: Text.AlignTop
// Style // Style
color: (displayNameTextMouseArea.containsMouse || userNameTextMouseArea.containsMouse) ? hifi.colors.blueHighlight : hifi.colors.darkGray; color: hifi.colors.darkGray;
MouseArea { MouseArea {
id: displayNameTextMouseArea;
anchors.fill: parent anchors.fill: parent
enabled: selected && pal.activeTab == "nearbyTab" && thisNameCard.userName !== ""; enabled: selected && pal.activeTab == "nearbyTab" && thisNameCard.userName !== "";
hoverEnabled: enabled hoverEnabled: enabled
onClicked: pal.sendToScript({method: 'goToUser', params: thisNameCard.userName}); onClicked: pal.sendToScript({method: 'goToUser', params: thisNameCard.userName});
onEntered: {
displayNameText.color = hifi.colors.blueHighlight;
userNameText.color = hifi.colors.blueHighlight;
}
onExited: {
displayNameText.color = hifi.colors.darkGray
userNameText.color = hifi.colors.greenShadow;
}
} }
} }
TextMetrics { TextMetrics {
@ -309,14 +318,20 @@ Item {
// Text Positioning // Text Positioning
verticalAlignment: Text.AlignBottom verticalAlignment: Text.AlignBottom
// Style // Style
color: (pal.activeTab == "nearbyTab" && (displayNameTextMouseArea.containsMouse || userNameTextMouseArea.containsMouse)) color: hifi.colors.greenShadow;
? hifi.colors.blueHighlight : hifi.colors.greenShadow;
MouseArea { MouseArea {
id: userNameTextMouseArea;
anchors.fill: parent anchors.fill: parent
enabled: selected && pal.activeTab == "nearbyTab" && thisNameCard.userName !== ""; enabled: selected && pal.activeTab == "nearbyTab" && thisNameCard.userName !== "";
hoverEnabled: enabled hoverEnabled: enabled
onClicked: pal.sendToScript({method: 'goToUser', params: thisNameCard.userName}); onClicked: pal.sendToScript({method: 'goToUser', params: thisNameCard.userName});
onEntered: {
displayNameText.color = hifi.colors.blueHighlight;
userNameText.color = hifi.colors.blueHighlight;
}
onExited: {
displayNameText.color = hifi.colors.darkGray;
userNameText.color = hifi.colors.greenShadow;
}
} }
} }
// VU Meter // VU Meter

View file

@ -346,13 +346,12 @@ Rectangle {
text: "[?]"; text: "[?]";
size: connectionsTabSelectorText.size + 6; size: connectionsTabSelectorText.size + 6;
font.capitalization: Font.AllUppercase; font.capitalization: Font.AllUppercase;
color: connectionsTabSelectorMouseArea.containsMouse ? hifi.colors.redAccent : hifi.colors.redHighlight; color: hifi.colors.redHighlight;
horizontalAlignment: Text.AlignHCenter; horizontalAlignment: Text.AlignHCenter;
verticalAlignment: Text.AlignVCenter; verticalAlignment: Text.AlignVCenter;
anchors.fill: parent; anchors.fill: parent;
} }
MouseArea { MouseArea {
id: connectionsTabSelectorMouseArea;
anchors.fill: parent; anchors.fill: parent;
hoverEnabled: true; hoverEnabled: true;
onClicked: letterbox(hifi.glyphs.question, onClicked: letterbox(hifi.glyphs.question,
@ -361,6 +360,8 @@ Rectangle {
"When your availability is set to Everyone, Connections can see your username and location.<br><br>" + "When your availability is set to Everyone, Connections can see your username and location.<br><br>" +
"<font color='green'>Green borders around profile pictures are <b>Friends</b>.</font><br>" + "<font color='green'>Green borders around profile pictures are <b>Friends</b>.</font><br>" +
"When your availability is set to Friends, only Friends can see your username and location."); "When your availability is set to Friends, only Friends can see your username and location.");
onEntered: connectionsHelpText.color = hifi.colors.redAccent;
onExited: connectionsHelpText.color = hifi.colors.redHighlight;
} }
} }
} }
@ -703,7 +704,6 @@ Rectangle {
} }
// This Rectangle refers to the [?] popup button next to "NAMES" // This Rectangle refers to the [?] popup button next to "NAMES"
Rectangle { Rectangle {
id: helpText;
color: hifi.colors.tableBackgroundLight; color: hifi.colors.tableBackgroundLight;
width: 20; width: 20;
height: hifi.dimensions.tableHeaderHeight - 2; height: hifi.dimensions.tableHeaderHeight - 2;
@ -712,16 +712,16 @@ Rectangle {
anchors.topMargin: 1; anchors.topMargin: 1;
anchors.leftMargin: actionButtonWidth + nearbyNameCardWidth/2 + displayNameHeaderMetrics.width/2 + 6; anchors.leftMargin: actionButtonWidth + nearbyNameCardWidth/2 + displayNameHeaderMetrics.width/2 + 6;
RalewayRegular { RalewayRegular {
id: helpText;
text: "[?]"; text: "[?]";
size: hifi.fontSizes.tableHeading + 2; size: hifi.fontSizes.tableHeading + 2;
font.capitalization: Font.AllUppercase; font.capitalization: Font.AllUppercase;
color: helpTextMouseArea.containsMouse ? hifi.colors.baseGrayHighlight : hifi.colors.darkGray; color: hifi.colors.darkGray;
horizontalAlignment: Text.AlignHCenter; horizontalAlignment: Text.AlignHCenter;
verticalAlignment: Text.AlignVCenter; verticalAlignment: Text.AlignVCenter;
anchors.fill: parent; anchors.fill: parent;
} }
MouseArea { MouseArea {
id: helpTextMouseArea;
anchors.fill: parent; anchors.fill: parent;
hoverEnabled: true; hoverEnabled: true;
onClicked: letterbox(hifi.glyphs.question, onClicked: letterbox(hifi.glyphs.question,
@ -733,6 +733,8 @@ Rectangle {
"If you can see someone's username, you can GoTo them by selecting them in the PAL, then clicking their name.<br>" + "If you can see someone's username, you can GoTo them by selecting them in the PAL, then clicking their name.<br>" +
"<br>If someone's display name isn't set, a unique <b>session display name</b> is assigned to them.<br>" + "<br>If someone's display name isn't set, a unique <b>session display name</b> is assigned to them.<br>" +
"<br>Administrators of this domain can also see the <b>username</b> or <b>machine ID</b> associated with each avatar present."); "<br>Administrators of this domain can also see the <b>username</b> or <b>machine ID</b> associated with each avatar present.");
onEntered: helpText.color = hifi.colors.baseGrayHighlight;
onExited: helpText.color = hifi.colors.darkGray;
} }
} }
// This Rectangle refers to the [?] popup button next to "ADMIN" // This Rectangle refers to the [?] popup button next to "ADMIN"
@ -750,19 +752,20 @@ Rectangle {
text: "[?]"; text: "[?]";
size: hifi.fontSizes.tableHeading + 2; size: hifi.fontSizes.tableHeading + 2;
font.capitalization: Font.AllUppercase; font.capitalization: Font.AllUppercase;
color: adminHelpTextMouseArea.containsMouse ? "#94132e" : hifi.colors.redHighlight; color: hifi.colors.redHighlight;
horizontalAlignment: Text.AlignHCenter; horizontalAlignment: Text.AlignHCenter;
verticalAlignment: Text.AlignVCenter; verticalAlignment: Text.AlignVCenter;
anchors.fill: parent; anchors.fill: parent;
} }
MouseArea { MouseArea {
id: adminHelpTextMouseArea;
anchors.fill: parent; anchors.fill: parent;
hoverEnabled: true; hoverEnabled: true;
onClicked: letterbox(hifi.glyphs.question, onClicked: letterbox(hifi.glyphs.question,
"Admin Actions", "Admin Actions",
"<b>Silence</b> mutes a user's microphone. Silenced users can unmute themselves by clicking &quot;UNMUTE&quot; on their toolbar.<br><br>" + "<b>Silence</b> mutes a user's microphone. Silenced users can unmute themselves by clicking &quot;UNMUTE&quot; on their toolbar.<br><br>" +
"<b>Ban</b> removes a user from this domain and prevents them from returning. Admins can un-ban users from the Sandbox Domain Settings page."); "<b>Ban</b> removes a user from this domain and prevents them from returning. Admins can un-ban users from the Sandbox Domain Settings page.");
onEntered: adminHelpText.color = "#94132e";
onExited: adminHelpText.color = hifi.colors.redHighlight;
} }
} }
} // "Nearby" Tab } // "Nearby" Tab
@ -887,13 +890,14 @@ Rectangle {
// Text Positioning // Text Positioning
verticalAlignment: Text.AlignVCenter verticalAlignment: Text.AlignVCenter
// Style // Style
color: connectionsLocationDataMouseArea.containsMouse ? hifi.colors.blueHighlight : hifi.colors.darkGray; color: hifi.colors.darkGray;
MouseArea { MouseArea {
id: connectionsLocationDataMouseArea;
anchors.fill: parent anchors.fill: parent
hoverEnabled: enabled hoverEnabled: enabled
enabled: connectionsNameCard.selected && pal.activeTab == "connectionsTab" enabled: connectionsNameCard.selected && pal.activeTab == "connectionsTab"
onClicked: pal.sendToScript({method: 'goToUser', params: model.userName}); onClicked: pal.sendToScript({method: 'goToUser', params: model.userName});
onEntered: connectionsLocationData.color = hifi.colors.blueHighlight;
onExited: connectionsLocationData.color = hifi.colors.darkGray;
} }
} }
@ -981,7 +985,7 @@ Rectangle {
} }
Item { Item {
id: closeButton id: closeButtonContainer
anchors { anchors {
top: parent.top; top: parent.top;
right: parent.right; right: parent.right;
@ -990,6 +994,7 @@ Rectangle {
width: parent.width/2; width: parent.width/2;
FiraSansSemiBold { FiraSansSemiBold {
id: closeButton;
// Properties // Properties
text: "CLOSE"; text: "CLOSE";
elide: Text.ElideRight; elide: Text.ElideRight;
@ -1001,12 +1006,13 @@ Rectangle {
verticalAlignment: Text.AlignVCenter verticalAlignment: Text.AlignVCenter
horizontalAlignment: Text.AlignHCenter; horizontalAlignment: Text.AlignHCenter;
// Style // Style
color: closeButtonMouseArea.containsMouse ? hifi.colors.redAccent : hifi.colors.redHighlight; color: hifi.colors.redHighlight;
MouseArea { MouseArea {
id: closeButtonMouseArea;
anchors.fill: parent anchors.fill: parent
hoverEnabled: enabled hoverEnabled: enabled
onClicked: userInfoViewer.visible = false; onClicked: userInfoViewer.visible = false;
onEntered: closeButton.color = hifi.colors.redAccent;
onExited: closeButton.color = hifi.colors.redHighlight;
} }
} }
} }
@ -1014,7 +1020,7 @@ Rectangle {
Item { Item {
id: urlBar id: urlBar
anchors { anchors {
top: closeButton.bottom; top: closeButtonContainer.bottom;
left: parent.left; left: parent.left;
right: parent.right; right: parent.right;
} }