on xenial help sign in
add focus animation
0dff68fMichael Zanetti
qml/Stages/DesktopSpread.qml+5
@@ -30,6 +30,8 @@ FocusScope {
30 readonly property alias ready: blurLayer.ready
30 readonly property alias ready: blurLayer.ready
31 readonly property alias highlightedIndex: spreadRepeater.highlightedIndex
31 readonly property alias highlightedIndex: spreadRepeater.highlightedIndex
32
32
33+ signal playFocusAnimation(int index)
34+
33 function show() {
35 function show() {
34 spreadContainer.animateIn = true;
36 spreadContainer.animateIn = true;
35 root.state = "altTab";
37 root.state = "altTab";
@@ -93,6 +95,9 @@ FocusScope {
93
95
94 function focusSelected() {
96 function focusSelected() {
95 if (spreadRepeater.highlightedIndex != -1) {
97 if (spreadRepeater.highlightedIndex != -1) {
98+ if (spreadContainer.visible) {
99+ root.playFocusAnimation(spreadRepeater.highlightedIndex)
100+ }
96 var application = ApplicationManager.get(spreadRepeater.highlightedIndex);
101 var application = ApplicationManager.get(spreadRepeater.highlightedIndex);
97 ApplicationManager.requestFocusApplication(application.appId);
102 ApplicationManager.requestFocusApplication(application.appId);
98 }
103 }
qml/Stages/DesktopStage.qml+17
@@ -333,6 +333,19 @@ AbstractStage {
333 ApplicationManager.focusApplication(appId);
333 ApplicationManager.focusApplication(appId);
334 }
334 }
335
335
336+ function playFocusAnimation() {
337+ focusAnimation.start()
338+ }
339+
340+ UbuntuNumberAnimation {
341+ id: focusAnimation
342+ target: appDelegate
343+ property: "scale"
344+ from: 0.98
345+ to: 1
346+ duration: UbuntuAnimation.SnapDuration
347+ }
348+
336 states: [
349 states: [
337 State {
350 State {
338 name: "fullscreen"; when: decoratedWindow.fullscreen
351 name: "fullscreen"; when: decoratedWindow.fullscreen
@@ -495,5 +508,9 @@ AbstractStage {
495 workspace: appContainer
508 workspace: appContainer
496 focus: state == "altTab"
509 focus: state == "altTab"
497 altTabPressed: root.altTabPressed
510 altTabPressed: root.altTabPressed
511+
512+ onPlayFocusAnimation: {
513+ appRepeater.itemAt(index).playFocusAnimation();
514+ }
498 }
515 }
499}
516}