aboutsummaryrefslogtreecommitdiffstats
path: root/src/imports
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@qt.io>2017-04-11 16:42:12 +0200
committerJ-P Nurmi <jpnurmi@qt.io>2017-04-11 18:33:32 +0000
commit53a101f35b76ccea0e8a6bd00055259811df41d1 (patch)
treea757b336e9c63ec0d4e8a79c06341c7c33451806 /src/imports
parent4503d45b93721e516e949419f3b9c6b796a7c13e (diff)
QQuickIconLabel: create icon and label items lazily
Before: Average: 120.2 frames; using samples; MedianAll=120; StdDev=0.447214, CoV=0.00372058 After: Average: 129.8 frames; using samples; MedianAll=130; StdDev=0.447214, CoV=0.00344541 Task-number: QTBUG-59746 Change-Id: I44b521688cd60e7e287968828f9d4062cc642a0d Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
Diffstat (limited to 'src/imports')
-rw-r--r--src/imports/controls/Button.qml22
-rw-r--r--src/imports/controls/ToolButton.qml17
-rw-r--r--src/imports/controls/material/Button.qml21
-rw-r--r--src/imports/controls/material/ToolButton.qml19
-rw-r--r--src/imports/controls/universal/Button.qml18
-rw-r--r--src/imports/controls/universal/ToolButton.qml18
6 files changed, 29 insertions, 86 deletions
diff --git a/src/imports/controls/Button.qml b/src/imports/controls/Button.qml
index 8a98bbad..438265d1 100644
--- a/src/imports/controls/Button.qml
+++ b/src/imports/controls/Button.qml
@@ -62,22 +62,12 @@ T.Button {
mirrored: control.mirrored
display: control.display
- icon: IconImage {
- name: control.icon.name
- source: control.icon.source
- sourceSize.width: control.icon.width
- sourceSize.height: control.icon.height
- color: control.icon.color
- }
- label: Text {
- text: control.text
- font: control.font
- opacity: enabled || control.highlighted || control.checked ? 1 : 0.3
- color: control.checked || control.highlighted ?
- Default.textLightColor :
- (control.visualFocus ? Default.focusColor : (control.down ? Default.textDarkColor : Default.textColor))
- elide: Text.ElideRight
- }
+ icon: control.icon
+ text: control.text
+ font: control.font
+ color: Color.transparent(control.checked || control.highlighted ? Default.textLightColor :
+ control.visualFocus ? Default.focusColor : control.down ? Default.textDarkColor : Default.textColor,
+ enabled || control.highlighted || control.checked ? 1 : 0.3)
}
background: Rectangle {
diff --git a/src/imports/controls/ToolButton.qml b/src/imports/controls/ToolButton.qml
index e31f45a0..184bbfad 100644
--- a/src/imports/controls/ToolButton.qml
+++ b/src/imports/controls/ToolButton.qml
@@ -60,19 +60,10 @@ T.ToolButton {
mirrored: control.mirrored
display: control.display
- icon: IconImage {
- name: control.icon.name
- source: control.icon.source
- sourceSize.width: control.icon.width
- sourceSize.height: control.icon.height
- color: control.icon.color
- }
- label: Text {
- text: control.text
- font: control.font
- color: control.enabled ? (control.visualFocus ? Default.focusColor : Default.textDarkColor) : Default.textDisabledLightColor
- elide: Text.ElideRight
- }
+ icon: control.icon
+ text: control.text
+ font: control.font
+ color: control.enabled ? (control.visualFocus ? Default.focusColor : Default.textDarkColor) : Default.textDisabledLightColor
}
background: Rectangle {
diff --git a/src/imports/controls/material/Button.qml b/src/imports/controls/material/Button.qml
index 0142dacf..9e21c8a0 100644
--- a/src/imports/controls/material/Button.qml
+++ b/src/imports/controls/material/Button.qml
@@ -69,21 +69,12 @@ T.Button {
mirrored: control.mirrored
display: control.display
- icon: IconImage {
- name: control.icon.name
- source: control.icon.source
- sourceSize.width: control.icon.width
- sourceSize.height: control.icon.height
- color: control.icon.color
- }
- label: Text {
- text: control.text
- font: control.font
- color: !control.enabled ? control.Material.hintTextColor :
- control.flat && control.highlighted ? control.Material.accentColor :
- control.highlighted ? control.Material.primaryHighlightedTextColor : control.Material.foreground
- elide: Text.ElideRight
- }
+ icon: control.icon
+ text: control.text
+ font: control.font
+ color: !control.enabled ? control.Material.hintTextColor :
+ control.flat && control.highlighted ? control.Material.accentColor :
+ control.highlighted ? control.Material.primaryHighlightedTextColor : control.Material.foreground
}
// TODO: Add a proper ripple/ink effect for mouse/touch input and focus state
diff --git a/src/imports/controls/material/ToolButton.qml b/src/imports/controls/material/ToolButton.qml
index 4f0fdc9b..c794a468 100644
--- a/src/imports/controls/material/ToolButton.qml
+++ b/src/imports/controls/material/ToolButton.qml
@@ -62,20 +62,11 @@ T.ToolButton {
mirrored: control.mirrored
display: control.display
- icon: IconImage {
- name: control.icon.name
- source: control.icon.source
- sourceSize.width: control.icon.width
- sourceSize.height: control.icon.height
- color: control.icon.color
- }
- label: Text {
- text: control.text
- font: control.font
- color: !control.enabled ? control.Material.hintTextColor :
- control.checked || control.highlighted ? control.Material.accent : control.Material.foreground
- elide: Text.ElideRight
- }
+ icon: control.icon
+ text: control.text
+ font: control.font
+ color: !control.enabled ? control.Material.hintTextColor :
+ control.checked || control.highlighted ? control.Material.accent : control.Material.foreground
}
background: Ripple {
diff --git a/src/imports/controls/universal/Button.qml b/src/imports/controls/universal/Button.qml
index d2f4f10d..44f86a38 100644
--- a/src/imports/controls/universal/Button.qml
+++ b/src/imports/controls/universal/Button.qml
@@ -65,20 +65,10 @@ T.Button {
mirrored: control.mirrored
display: control.display
- icon: IconImage {
- name: control.icon.name
- source: control.icon.source
- sourceSize.width: control.icon.width
- sourceSize.height: control.icon.height
- color: control.icon.color
- }
- label: Text {
- text: control.text
- font: control.font
- elide: Text.ElideRight
- opacity: enabled ? 1.0 : 0.2
- color: control.Universal.foreground
- }
+ icon: control.icon
+ text: control.text
+ font: control.font
+ color: Color.transparent(control.Universal.foreground, enabled ? 1.0 : 0.2)
}
background: Rectangle {
diff --git a/src/imports/controls/universal/ToolButton.qml b/src/imports/controls/universal/ToolButton.qml
index 5a2e98fd..3b349717 100644
--- a/src/imports/controls/universal/ToolButton.qml
+++ b/src/imports/controls/universal/ToolButton.qml
@@ -63,20 +63,10 @@ T.ToolButton {
mirrored: control.mirrored
display: control.display
- icon: IconImage {
- name: control.icon.name
- source: control.icon.source
- sourceSize.width: control.icon.width
- sourceSize.height: control.icon.height
- color: control.icon.color
- }
- label: Text {
- text: control.text
- font: control.font
- elide: Text.ElideRight
- opacity: enabled ? 1.0 : 0.2
- color: control.Universal.foreground
- }
+ icon: control.icon
+ text: control.text
+ font: control.font
+ color: Color.transparent(control.Universal.foreground, enabled ? 1.0 : 0.2)
}
background: Rectangle {