21 import QtQuick.Controls.Private 1.0
22 import
"templates/private"
23 import org.kde.kirigami 1.0 as Kirigami
24 import QtGraphicalEffects 1.0
98 AbstractApplicationWindow {
111 property alias pageStack: __pageStack
114 wideScreen: width >= applicationWindow().pageStack.defaultColumnWidth*2
121 bottomMargin: ((Qt.platform.os ==
"android" || Qt.platform.os ==
"ios") || !Qt.inputMethod.visible) ? 0 : Qt.inputMethod.keyboardRectangle.height
122 onBottomMarginChanged: {
123 if (bottomMargin > 0) {
124 root.reachableMode =
false;
129 onCurrentIndexChanged: root.reachableMode =
false;
132 if (root.contextDrawer && root.contextDrawer.opened && root.contextDrawer.modal) {
133 root.contextDrawer.close();
134 }
else if (root.globalDrawer && root.globalDrawer.opened && root.globalDrawer.modal) {
135 root.globalDrawer.close();
137 var backEvent = {accepted:
false}
138 if (root.pageStack.currentIndex >= 1) {
139 root.pageStack.currentItem.backRequested(backEvent);
140 if (!backEvent.accepted) {
141 if (root.pageStack.depth > 1) {
142 root.pageStack.currentIndex = Math.max(0, root.pageStack.currentIndex - 1);
143 backEvent.accepted =
true;
148 if (Settings.isMobile && !backEvent.accepted && Qt.platform.os !==
"ios") {
154 if (event.key == Qt.Key_Back ||
155 (event.key === Qt.Key_Left && (event.modifiers & Qt.AltModifier))) {
156 event.accepted =
true;
164 color: Kirigami.Theme.backgroundColor
169 Component.onCompleted: {
170 if (root.header === undefined) {
171 var component = Qt.createComponent(Qt.resolvedUrl(
"./ApplicationHeader.qml"));
172 root.header = component.createObject(root.contentItem.parent);