2019-12-19 22:46:16 +11:00
|
|
|
// SPDX-License-Identifier: LGPL-3.0-or-later
|
|
|
|
|
2019-09-09 02:17:42 +10:00
|
|
|
import QtQuick 2.12
|
|
|
|
import QtQuick.Controls 2.12
|
2020-04-01 23:01:13 +11:00
|
|
|
import CppUtils 0.1
|
2019-09-09 02:17:42 +10:00
|
|
|
|
|
|
|
Popup {
|
|
|
|
id: popup
|
|
|
|
modal: true
|
2019-09-09 20:44:06 +10:00
|
|
|
focus: true
|
2019-09-09 02:17:42 +10:00
|
|
|
padding: 0
|
2019-12-08 01:59:43 +11:00
|
|
|
margins: theme.spacing
|
2019-09-09 02:17:42 +10:00
|
|
|
|
2020-06-25 22:32:08 +10:00
|
|
|
// FIXME: Qt 5.15: `anchors.centerIn: Overlay.overlay` + transition broken
|
|
|
|
x: (parent.width - width) / 2
|
|
|
|
y: (parent.height - height) / 2
|
|
|
|
|
2019-09-09 02:17:42 +10:00
|
|
|
enter: Transition {
|
2019-12-16 19:42:41 +11:00
|
|
|
HNumberAnimation { property: "scale"; from: 0; to: 1; overshoot: 4 }
|
2019-09-09 02:17:42 +10:00
|
|
|
}
|
|
|
|
|
|
|
|
exit: Transition {
|
|
|
|
HNumberAnimation { property: "scale"; to: 0 }
|
|
|
|
}
|
|
|
|
|
|
|
|
background: Rectangle {
|
|
|
|
color: theme.controls.popup.background
|
|
|
|
}
|
2019-12-12 03:42:59 +11:00
|
|
|
|
2020-03-16 09:01:56 +11:00
|
|
|
Overlay.modal: Rectangle {
|
|
|
|
color: "transparent"
|
|
|
|
|
|
|
|
HColorAnimation on color { to: theme.controls.popup.windowOverlay }
|
|
|
|
}
|
|
|
|
|
2019-12-12 23:39:26 +11:00
|
|
|
onAboutToShow: previouslyFocused = window.activeFocusItem
|
2020-04-01 23:01:13 +11:00
|
|
|
onOpened: {
|
|
|
|
window.visiblePopups[uuid] = this
|
|
|
|
window.visibleMenusChanged()
|
|
|
|
}
|
|
|
|
onClosed: {
|
|
|
|
if (focusOnClosed) focusOnClosed.forceActiveFocus()
|
|
|
|
delete window.visiblePopups[uuid]
|
|
|
|
window.visibleMenusChanged()
|
|
|
|
}
|
2019-12-12 23:39:26 +11:00
|
|
|
|
|
|
|
|
|
|
|
property var previouslyFocused: null
|
2019-12-21 01:29:45 +11:00
|
|
|
property Item focusOnClosed: previouslyFocused
|
2019-12-12 03:42:59 +11:00
|
|
|
|
|
|
|
readonly property int maximumPreferredWidth:
|
|
|
|
window.width - leftMargin - rightMargin - leftInset - rightInset
|
|
|
|
|
|
|
|
readonly property int maximumPreferredHeight:
|
|
|
|
window.height - topMargin - bottomMargin - topInset - bottomInset
|
2020-04-01 23:01:13 +11:00
|
|
|
|
|
|
|
readonly property string uuid: CppUtils.uuid()
|
2019-09-09 02:17:42 +10:00
|
|
|
}
|