Commit db763ecf authored by Aleksi Suomalainen's avatar Aleksi Suomalainen

[alarms] Raise alarms windows to the top, like phone calls.

parent 99bdf156
...@@ -41,6 +41,7 @@ Compositor { ...@@ -41,6 +41,7 @@ Compositor {
// The application window that was most recently topmost // The application window that was most recently topmost
property Item topmostApplicationWindow property Item topmostApplicationWindow
property Item topmostAlarmWindow
function windowToFront(winId) { function windowToFront(winId) {
var o = root.windowForId(winId) var o = root.windowForId(winId)
...@@ -112,6 +113,10 @@ Compositor { ...@@ -112,6 +113,10 @@ Compositor {
id: notificationLayer id: notificationLayer
z: 6 z: 6
} }
Item {
id: alarmsLayer
z: 7
}
} }
ScreenGestureArea { ScreenGestureArea {
...@@ -286,12 +291,13 @@ Compositor { ...@@ -286,12 +291,13 @@ Compositor {
onDisplayOff: setCurrentWindow(root.homeWindow) onDisplayOff: setCurrentWindow(root.homeWindow)
onWindowAdded: { onWindowAdded: {
console.log("Compositor: Window added \"" + window.title + "\"") console.log("Compositor: Window added \"" + window.title + "\"" + " category: " + window.category)
var isHomeWindow = window.isInProcess && root.homeWindow == null && window.title === "Home" var isHomeWindow = window.isInProcess && root.homeWindow == null && window.title === "Home"
var isDialogWindow = window.category === "dialog" var isDialogWindow = window.category === "dialog"
var isNotificationWindow = window.category == "notification" var isNotificationWindow = window.category == "notification"
var isOverlayWindow = window.category == "overlay" var isOverlayWindow = window.category == "overlay"
var isAlarmWindow = window.category == "alarm"
var parent = null var parent = null
if (window.category == "cover") { if (window.category == "cover") {
window.visible = false window.visible = false
...@@ -303,6 +309,8 @@ Compositor { ...@@ -303,6 +309,8 @@ Compositor {
parent = notificationLayer parent = notificationLayer
} else if (isOverlayWindow){ } else if (isOverlayWindow){
parent = overlayLayer parent = overlayLayer
} else if (isAlarmWindow) {
parent = alarmsLayer
} else { } else {
parent = appLayer parent = appLayer
} }
...@@ -320,15 +328,22 @@ Compositor { ...@@ -320,15 +328,22 @@ Compositor {
} else if (isDialogWindow){ } else if (isDialogWindow){
setCurrentWindow(window) setCurrentWindow(window)
} else if (isAlarmWindow){
root.topmostAlarmWindow = window
w = mysticWrapper.createObject(parent, {window: window})
window.userData = w
setCurrentWindow(w)
} else { } else {
if (!root.topmostAlarmWindow) {
w = mysticWrapper.createObject(parent, {window: window}) w = mysticWrapper.createObject(parent, {window: window})
window.userData = w window.userData = w
setCurrentWindow(w) setCurrentWindow(w)
} }
} }
}
onWindowRemoved: { onWindowRemoved: {
if (debug) console.log("Compositor: Window removed \"" + window.title + "\"") console.log("Compositor: Window removed \"" + window.title + "\"")
var w = window.userData; var w = window.userData;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment