on xenial help sign in
Don't treat scope as active when preview open to inhibit model updates and reset processing on previewData changes. Fixes: 1275832
commit461f112d0d70426f895357d211c5313f59598a3b authorMichał Sawicz <michal.sawicz@canonical.com> dateTue 4 Feb 2014, 14:08 (13 years ago) parent10380938546967
4 files changed+23−1
qml/Dash/DashPreview.qml+2 qml/Dash/GenericScopeView.qml+1−1 tests/qmltests/Dash/tst_GenericPreview.qml+8 tests/qmltests/Dash/tst_GenericScopeView.qml+12
qml/Dash/DashPreview.qml+2
@@ -57,6 +57,8 @@ Item {
5757 }
5858 }
5959
60+ onPreviewDataChanged: showProcessingAction = false
61+
6062 MouseArea {
6163 anchors.fill: parent
6264 }
qml/Dash/GenericScopeView.qml+1−1
@@ -56,7 +56,7 @@ FocusScope {
5656 Binding {
5757 target: scope
5858 property: "isActive"
59− value: isCurrent
59+ value: isCurrent && !previewListView.onScreen
6060 }
6161
6262 Timer {
tests/qmltests/Dash/tst_GenericPreview.qml+8
@@ -113,5 +113,13 @@ Item {
113113 compare(value.text, dataObject.infoHints[i].value)
114114 }
115115 }
116+
117+ function test_showProcessing() {
118+ var button = findChild(genericPreview, "button1");
119+ mouseClick(button, 1, 1);
120+ tryCompare(genericPreview, "showProcessingAction", true);
121+ genericPreview.previewDataChanged();
122+ tryCompare(genericPreview, "showProcessingAction", false);
123+ }
116124 }
117125}
tests/qmltests/Dash/tst_GenericScopeView.qml+12
@@ -86,6 +86,18 @@ Item {
8686 tryCompare(previewListView, "open", false);
8787 }
8888
89+ function test_isActive() {
90+ tryCompare(genericScopeView.scope, "isActive", false)
91+ genericScopeView.isCurrent = true
92+ tryCompare(genericScopeView.scope, "isActive", true)
93+ previewListView.open = true
94+ tryCompare(genericScopeView.scope, "isActive", false)
95+ previewListView.open = false
96+ tryCompare(genericScopeView.scope, "isActive", true)
97+ genericScopeView.isCurrent = false
98+ tryCompare(genericScopeView.scope, "isActive", false)
99+ }
100+
89101 function test_showDash() {
90102 previewListView.open = true;
91103 tryCompare(openEffect, "live", true);