on bionic help sign in
unity8/qml/Components/ShellDialog.qml
71 lines 2.1 kB history raw
1/*
2 * Copyright (C) 2014-2017 Canonical, Ltd.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; version 3.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
17import QtQuick 2.4
19import Ubuntu.Components 1.3
20import Ubuntu.Components.Themes 1.3
21import Ubuntu.Components.Popups 1.3
22import Utils 0.1
24/*
25 A Dialog configured for use as a proper in-scene Dialog
27 This is a helper component for Dialogs.qml, thus some assumptions
28 on context are (or will be) made here.
29 */
30Dialog {
31 automaticOrientation: false
33 // NB: PopupBase, Dialog's superclass, will check for the existence of this property
34 property bool reparentToRootItem: false
36 default property alias columnContents: column.data
38 onVisibleChanged: { if (!visible && dialogLoader) { dialogLoader.active = false; } }
40 focus: true
42 // FIXME: this is a hack because Dialog subtheming seems broken atm
43 // https://bugs.launchpad.net/ubuntu/+source/ubuntu-ui-toolkit/+bug/1555548
44 ThemeSettings {
45 id: themeHack
46 }
48 Component.onCompleted: {
49 themeHack.palette.normal.overlay = "white";
50 themeHack.palette.normal.overlayText = UbuntuColors.slate;
51 __foreground.theme = themeHack
52 show();
53 }
55 TabFocusFence {
56 width: parent.width
57 height: column.height
58 focus: true
59 Column {
60 id: column
61 width: parent.width
62 spacing: units.gu(2)
63 }
64 Keys.onDownPressed: {
65 event.accepted = focusNext();
66 }
67 Keys.onUpPressed: {
68 event.accepted = focusPrev();
69 }
70 }