@@ -95,6 +95,11 @@ Rectangle {
9595 property: "lockedVisible"
9696 value: lockedVisibleCheckBox.checked
9797 }
98+ Binding {
99+ target: launcherLoader.item
100+ property: "privateMode"
101+ value: privateModeCheckBox.checked
102+ }
98103 Binding {
99104 target: launcherLoader.item
100105 property: "panelWidth"
@@ -120,6 +125,20 @@ Rectangle {
120125 }
121126 }
122127
128+ RowLayout {
129+ CheckBox {
130+ id: privateModeCheckBox
131+ checked: false
132+ }
133+ Label {
134+ text: "Private mode (lockscreen locked)"
135+ AbstractButton {
136+ anchors.fill: parent
137+ onClicked: lockedVisibleCheckBox.checked = !lockedVisibleCheckBox.checked
138+ }
139+ }
140+ }
141+
123142 Slider {
124143 id: widthSlider
125144 Layout.fillWidth: true
@@ -1493,6 +1512,29 @@ Rectangle {
14931512 compare(launcher.state, "visibleTemporary");
14941513 }
14951514
1515+ function test_hideQuicklistItemsInPrivateModel_data() {
1516+ return [
1517+ { tag: "private mode", private: true },
1518+ { tag: "normal mode", private: false }
1519+ ];
1520+ }
1521+
1522+ function test_hideQuicklistItemsInPrivateModel(data) {
1523+ privateModeCheckBox.checked = data.private;
1524+
1525+ revealByEdgePush();
1526+
1527+ var item = findChild(launcher, "launcherDelegate4");
1528+ var quickListShape = findChild(launcher, "quickListShape")
1529+
1530+ mousePress(item)
1531+ tryCompare(quickListShape, "visible", true)
1532+
1533+ var repeater = findChild(launcher, "popoverRepeater");
1534+ print("model is", LauncherModel)
1535+ tryCompare(repeater, "count", LauncherModel.get(4).quickList.count - (data.private ? 1 : 0))
1536+ }
1537+
14961538 function test_hintOnSizeChange() {
14971539 var oldSize = launcher.panelWidth;
14981540 launcher.maxPanelX = -launcher.panelWidth;