on d345593 help sign in
unity8/tests/mocks/Unity/Indicators/ModelActionRootState.qml
59 lines 2.4 kB history raw
1/*
2 * Copyright 2013-2016 Canonical Ltd.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU Lesser 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 Lesser General Public License for more details.
12 *
13 * You should have received a copy of the GNU Lesser General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 *
16 * Authors:
17 * Nick Dedekind <nick.dedekind@canonical.com>
18 */
20import QtQuick 2.4
22Item {
23 property var menu: null
24 property bool valid: cachedState !== undefined
25 property string title: cachedState && cachedState.hasOwnProperty("title") ? cachedState["title"] : ""
26 property string leftLabel: cachedState && cachedState.hasOwnProperty("pre-label") ? cachedState["pre-label"] : ""
27 property string rightLabel: cachedState && cachedState.hasOwnProperty("label") ? cachedState["label"] : ""
28 property var icons: cachedState && cachedState.hasOwnProperty("icons") ? cachedState["icons"] : []
29 property string accessibleName: cachedState && cachedState.hasOwnProperty("accessible-desc") ? cachedState["accessible-desc"] : ""
30 property bool indicatorVisible: cachedState && cachedState.hasOwnProperty("visible") ? cachedState["visible"] : true
32 property var cachedState: menu ? menu.get(0, "actionState") : undefined
33 property string submenuAction: {
34 if (!menu) return "";
35 var ext = menu.get(0, "ext");
36 var submenuVar = ext ? ext["submenu-action"] : undefined;
37 return submenuVar ? submenuVar : ""
38 }
39 Connections {
40 target: menu
41 onModelDataChanged: {
42 cachedState = menu.get(0, "actionState");
44 var ext = menu.get(0, "ext");
45 var submenuVar = ext ? ext["submenu-action"] : undefined;
46 submenuAction = submenuVar ? submenuVar : ""
47 }
48 }
50 signal updated
52 onValidChanged: updated()
53 onTitleChanged: updated()
54 onLeftLabelChanged: updated()
55 onRightLabelChanged: updated()
56 onIconsChanged: updated()
57 onAccessibleNameChanged: updated()
58 onIndicatorVisibleChanged: updated()