@@ -93,6 +93,31 @@ Item {
93 onClicked: launcherLoader.item.inverted = !launcherLoader.item.inverted
93 onClicked: launcherLoader.item.inverted = !launcherLoader.item.inverted
94 Layout.fillWidth: true
94 Layout.fillWidth: true
102+ onClicked: LauncherModel.setAlerting(LauncherModel.get(parseInt(appIdEntry.displayText)).appId, true)
107+ anchors.verticalCenter: parent.verticalCenter
113+ Layout.fillWidth: true
118+ onClicked: LauncherModel.setAlerting(LauncherModel.get(parseInt(appIdEntry.displayText)).appId, false)
98 SignalSpy {
123 SignalSpy {
@@ -169,6 +194,16 @@ Item {
169 tryCompare(panel, "x", -panel.width, 1000);
194 tryCompare(panel, "x", -panel.width, 1000);
197+ function waitForWiggleToStart(appIcon) {
198+ verify(appIcon != undefined)
199+ tryCompare(appIcon, "wiggling", true, 1000, "wiggle-anim should not be in stopped state")
202+ function waitForWiggleToStop(appIcon) {
203+ verify(appIcon != undefined)
204+ tryCompare(appIcon, "wiggling", false, 1000, "wiggle-anim should not be in running state")
172 function positionLauncherListAtBeginning() {
207 function positionLauncherListAtBeginning() {
173 var listView = testCase.findChild(launcherLoader.item, "launcherListView");
208 var listView = testCase.findChild(launcherLoader.item, "launcherListView");
174 listView.contentY = -listView.topMargin;
209 listView.contentY = -listView.topMargin;
@@ -636,5 +671,114 @@ Item {
636 tryCompare(launcher, "state", "", 1000, "Launcher didn't hide after moving mouse away from it");
671 tryCompare(launcher, "state", "", 1000, "Launcher didn't hide after moving mouse away from it");
637 waitUntilLauncherDisappears();
672 waitUntilLauncherDisappears();
675+ function test_alertPeekingIcon() {
676+ var listView = findChild(launcher, "launcherListView")
677+ verify(listView != undefined)
678+ LauncherModel.setAlerting(LauncherModel.get(5).appId, true)
679+ tryCompare(listView, "peekingIndex", 5, 1000, "Wrong appId set as peeking-index")
680+ LauncherModel.setAlerting(LauncherModel.get(5).appId, false)
681+ tryCompare(listView, "peekingIndex", -1, 1000, "peeking-index should be -1")
684+ function test_alertHidingIcon() {
685+ var listView = findChild(launcher, "launcherListView")
686+ verify(listView != undefined)
687+ var appIcon6 = findChild(launcher, "launcherDelegate6")
688+ verify(appIcon6 != undefined)
689+ LauncherModel.setAlerting(LauncherModel.get(6).appId, true)
690+ waitForWiggleToStart(appIcon6)
691+ LauncherModel.setAlerting(LauncherModel.get(6).appId, false)
692+ waitForWiggleToStop(appIcon6)
693+ tryCompare(appIcon6, "x", 0, 1000, "x-value of appId #6 should not be non-zero")
694+ waitForRendering(listView)
697+ function test_alertIgnoreFocusedApp() {
698+ LauncherModel.setAlerting(LauncherModel.get(0).appId, true)
699+ compare(LauncherModel.get(0).alerting, false, "Focused app should not have the alert-state set")
702+ function test_alertOnlyOnePeekingIcon() {
703+ var listView = findChild(launcher, "launcherListView")
704+ verify(listView != undefined)
705+ LauncherModel.setAlerting(LauncherModel.get(3).appId, true)
706+ LauncherModel.setAlerting(LauncherModel.get(1).appId, true)
707+ LauncherModel.setAlerting(LauncherModel.get(5).appId, true)
708+ tryCompare(listView, "peekingIndex", 3, 1000, "Wrong appId set as peeking-index")
709+ LauncherModel.setAlerting(LauncherModel.get(1).appId, false)
710+ LauncherModel.setAlerting(LauncherModel.get(3).appId, false)
711+ LauncherModel.setAlerting(LauncherModel.get(5).appId, false)
712+ tryCompare(listView, "peekingIndex", -1, 1000, "peeking-index should be -1")
713+ waitForRendering(listView)
716+ function test_alertMultipleApps() {
717+ LauncherModel.setAlerting(LauncherModel.get(1).appId, true)
718+ LauncherModel.setAlerting(LauncherModel.get(3).appId, true)
719+ LauncherModel.setAlerting(LauncherModel.get(5).appId, true)
720+ LauncherModel.setAlerting(LauncherModel.get(7).appId, true)
721+ compare(LauncherModel.get(1).alerting, true, "Alert-state of appId #1 should not be false")
722+ compare(LauncherModel.get(3).alerting, true, "Alert-state of appId #3 should not be false")
723+ compare(LauncherModel.get(5).alerting, true, "Alert-state of appId #5 should not be false")
724+ compare(LauncherModel.get(7).alerting, true, "Alert-state of appId #7 should not be false")
725+ LauncherModel.setAlerting(LauncherModel.get(1).appId, false)
726+ LauncherModel.setAlerting(LauncherModel.get(3).appId, false)
727+ LauncherModel.setAlerting(LauncherModel.get(5).appId, false)
728+ LauncherModel.setAlerting(LauncherModel.get(7).appId, false)
729+ compare(LauncherModel.get(1).alerting, false, "Alert-state of appId #1 should not be true")
730+ compare(LauncherModel.get(3).alerting, false, "Alert-state of appId #1 should not be true")
731+ compare(LauncherModel.get(5).alerting, false, "Alert-state of appId #1 should not be true")
732+ compare(LauncherModel.get(7).alerting, false, "Alert-state of appId #1 should not be true")
735+ function test_alertMoveIconIntoView() {
736+ dragLauncherIntoView();
737+ var appIcon1 = findChild(launcher, "launcherDelegate1");
738+ var appIcon7 = findChild(launcher, "launcherDelegate7");
739+ LauncherModel.setAlerting(LauncherModel.get(1).appId, true)
740+ tryCompare(appIcon1, "angle", 0, 1000, "angle of appId #1 should not be non-zero")
741+ waitForWiggleToStart(appIcon1)
742+ LauncherModel.setAlerting(LauncherModel.get(7).appId, true)
743+ tryCompare(appIcon7, "angle", 0, 1000, "angle of appId #7 should not be non-zero")
744+ waitForWiggleToStart(appIcon7)
745+ LauncherModel.setAlerting(LauncherModel.get(1).appId, false)
746+ waitForWiggleToStop(appIcon1)
747+ LauncherModel.setAlerting(LauncherModel.get(7).appId, false)
748+ waitForWiggleToStop(appIcon7)
751+ function test_alertWigglePeekDrag() {
752+ var appIcon5 = findChild(launcher, "launcherDelegate5");
753+ var listView = findChild(launcher, "launcherListView")
754+ verify(listView != undefined)
755+ LauncherModel.setAlerting(LauncherModel.get(5).appId, true)
756+ tryCompare(listView, "peekingIndex", 5, 1000, "Wrong appId set as peeking-index")
757+ waitForWiggleToStart(appIcon5)
758+ tryCompare(appIcon5, "wiggling", true, 1000, "appId #6 should not be still")
759+ dragLauncherIntoView();
760+ tryCompare(listView, "peekingIndex", -1, 1000, "peeking-index should be -1")
761+ LauncherModel.setAlerting(LauncherModel.get(5).appId, false)
762+ waitForWiggleToStop(appIcon5)
763+ tryCompare(appIcon5, "wiggling", false, 1000, "appId #1 should not be wiggling")
766+ function test_alertViaCountAndCountVisible() {
767+ dragLauncherIntoView();
768+ var appIcon1 = findChild(launcher, "launcherDelegate1")
769+ var oldCount = LauncherModel.get(1).count
770+ LauncherModel.setCount(LauncherModel.get(1).appId, 42)
771+ tryCompare(appIcon1, "wiggling", false, 1000, "appId #1 should be still")
772+ LauncherModel.setCountVisible(LauncherModel.get(1).appId, 1)
773+ tryCompare(appIcon1, "wiggling", true, 1000, "appId #1 should not be still")
774+ LauncherModel.setAlerting(LauncherModel.get(1).appId, false)
775+ waitForWiggleToStop(appIcon1)
776+ LauncherModel.setCount(LauncherModel.get(1).appId, 4711)
777+ tryCompare(appIcon1, "wiggling", true, 1000, "appId #1 should not be still")
778+ LauncherModel.setAlerting(LauncherModel.get(1).appId, false)
779+ waitForWiggleToStop(appIcon1)
780+ LauncherModel.setCountVisible(LauncherModel.get(1).appId, 0)
781+ LauncherModel.setCount(LauncherModel.get(1).appId, oldCount)