Fix focused display zooming issue
This commit is contained in:
parent
2b85ba5e3a
commit
7dbb235756
|
|
@ -90,20 +90,13 @@ Node {
|
||||||
const unfocusedDisplay = breezyDesktop.displayAtIndex(unfocusedIndex);
|
const unfocusedDisplay = breezyDesktop.displayAtIndex(unfocusedIndex);
|
||||||
zoomOutAnimation.target = unfocusedDisplay;
|
zoomOutAnimation.target = unfocusedDisplay;
|
||||||
zoomOutAnimation.target.targetDistance = effect.allDisplaysDistance;
|
zoomOutAnimation.target.targetDistance = effect.allDisplaysDistance;
|
||||||
zoomOutAnimation.onFinished.connect(function() {
|
|
||||||
unfocusedDisplay.monitorDistance = allDisplaysDistanceBinding;
|
|
||||||
});
|
|
||||||
zoomOutAnimation.start();
|
zoomOutAnimation.start();
|
||||||
} else {
|
} else {
|
||||||
if (unfocusedIndex === -1) {
|
if (unfocusedIndex === -1) {
|
||||||
zoomInAnimation.target = focusedDisplay;
|
zoomInAnimation.target = focusedDisplay;
|
||||||
focusedDisplay.targetDistance = effect.focusedDisplayDistance;
|
focusedDisplay.targetDistance = effect.focusedDisplayDistance;
|
||||||
zoomInAnimation.onFinished.connect(function() {
|
|
||||||
focusedDisplay.monitorDistance = focusedDisplayDistanceBinding;
|
|
||||||
});
|
|
||||||
zoomInAnimation.start();
|
zoomInAnimation.start();
|
||||||
} else {
|
} else {
|
||||||
const focusedDisplay = breezyDesktop.displayAtIndex(focusedIndex);
|
|
||||||
zoomInSeqAnimation.target = focusedDisplay;
|
zoomInSeqAnimation.target = focusedDisplay;
|
||||||
focusedDisplay.targetDistance = effect.focusedDisplayDistance;
|
focusedDisplay.targetDistance = effect.focusedDisplayDistance;
|
||||||
|
|
||||||
|
|
@ -111,11 +104,6 @@ Node {
|
||||||
zoomOutSeqAnimation.target = unfocusedDisplay;
|
zoomOutSeqAnimation.target = unfocusedDisplay;
|
||||||
zoomOutSeqAnimation.target.targetDistance = effect.allDisplaysDistance;
|
zoomOutSeqAnimation.target.targetDistance = effect.allDisplaysDistance;
|
||||||
|
|
||||||
zoomOnFocusSequence.onFinished.connect(function() {
|
|
||||||
focusedDisplay.monitorDistance = focusedDisplayDistanceBinding;
|
|
||||||
unfocusedDisplay.monitorDistance = allDisplaysDistanceBinding;
|
|
||||||
});
|
|
||||||
|
|
||||||
zoomOnFocusSequence.start();
|
zoomOnFocusSequence.start();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -131,6 +119,12 @@ Node {
|
||||||
to: effect.allDisplaysDistance
|
to: effect.allDisplaysDistance
|
||||||
duration: 150
|
duration: 150
|
||||||
running: false
|
running: false
|
||||||
|
onFinished: {
|
||||||
|
const unfocusedDisplay = zoomInAnimation.target;
|
||||||
|
if (unfocusedDisplay) {
|
||||||
|
unfocusedDisplay.monitorDistance = Qt.binding(function() { return effect.allDisplaysDistance; });
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
NumberAnimation {
|
NumberAnimation {
|
||||||
|
|
@ -139,11 +133,27 @@ Node {
|
||||||
to: effect.focusedDisplayDistance
|
to: effect.focusedDisplayDistance
|
||||||
duration: 300
|
duration: 300
|
||||||
running: false
|
running: false
|
||||||
|
onFinished: {
|
||||||
|
const focusedDisplay = zoomInAnimation.target;
|
||||||
|
if (focusedDisplay) {
|
||||||
|
focusedDisplay.monitorDistance = Qt.binding(function() { return effect.focusedDisplayDistance; });
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
SequentialAnimation {
|
SequentialAnimation {
|
||||||
id: zoomOnFocusSequence
|
id: zoomOnFocusSequence
|
||||||
running: false
|
running: false
|
||||||
|
onFinished: {
|
||||||
|
const focusedDisplay = zoomInSeqAnimation.target;
|
||||||
|
if (focusedDisplay) {
|
||||||
|
focusedDisplay.monitorDistance = Qt.binding(function() { return effect.focusedDisplayDistance; });
|
||||||
|
}
|
||||||
|
const unfocusedDisplay = zoomOutSeqAnimation.target;
|
||||||
|
if (unfocusedDisplay) {
|
||||||
|
unfocusedDisplay.monitorDistance = Qt.binding(function() { return effect.allDisplaysDistance; });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
NumberAnimation {
|
NumberAnimation {
|
||||||
id: zoomOutSeqAnimation
|
id: zoomOutSeqAnimation
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue