/usr/lib/x86_64-linux-gnu/qt5/qml/org/kde/kirigami.2/Action.qml is in qml-module-org-kde-kirigami2 5.44.0-0ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 | /*
* Copyright 2016 Marco Martin <mart@kde.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU Library General Public License as
* published by the Free Software Foundation; either version 2 or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Library General Public License for more details
*
* You should have received a copy of the GNU Library General Public
* License along with this program; if not, write to the
* Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import QtQuick 2.7
import "private"
/**
* An item that represents an abstract Action
*
* @inherit QtObject
*/
QtObject {
id: root
/**
* Emitted whenever a action's checked property changes.
* This usually happens at the same time as triggered.
* @param checked
*/
signal toggled(bool checked)
/**
* Emitted when either the menu item or its bound action have been activated. Includes the object that triggered the event if relevant (e.g. a Button).
* You shouldn't need to emit this signal, use trigger() instead.
* @param source Object that triggered the event if relevant, often null
*/
signal triggered(QtObject source)
/**
* visible: bool
* True (default) when the graphic representation of the action
* is supposed to be visible.
* It's up to the action representation to honor this property.
*/
property bool visible: true
/**
* checkable: bool
* Whether action can be checked, or toggled. Defaults to false.
*/
property bool checkable: false
/**
* checked: bool
* Whether the action is checked. Defaults to false.
*/
property bool checked: false
/**
* enabled: bool
* Whether the action is enabled, and can be triggered. Defaults to true.
*/
property bool enabled: true
/**
* iconName: string
* Sets the icon name for the action. This will pick the icon with the given name from the current theme.
*/
property alias iconName: iconGroup.name
/**
* iconSource: string
* Sets the icon file or resource url for the action. Defaults to the empty URL. Use this if you want a specific file rather than an icon from the theme
*/
property alias iconSource: iconGroup.source
/**
* metadata for the icon, such as width/height.name and source
* * name This property holds the name of the icon to use.
* The icon will be loaded from the platform theme.
* If the icon is found in the theme, it will always be used;
* even if icon.source is also set. If the icon is not found,
* icon.source will be used instead.
* For more information on theme icons, see QIcon::fromTheme().
*
* * source This property holds the name of the icon to use.
* The icon will be loaded as a regular image.
* If icon.name is set and refers to a valid theme icon,
* it will always be used instead of this property.
*
* * width This property holds the width of the icon.
* The icon's width will never exceed this value,
* though it will shrink when necessary.
* height This property holds the height of the icon.
* The icon's height will never exceed this value,
* though it will shrink when necessary.
*
* *color This property holds the color of the icon.
* The icon is tinted with the specified color, unless the color is set to "transparent".
*/
property ActionIconGroup icon: ActionIconGroup {
id: iconGroup
}
/**
* shortcut : keysequence
* Shortcut bound to the action. The keysequence can be a string or a Qt standard key.
*/
property alias shortcut: shortcutItem.sequence
/**
* Text for the action. This text will show as the button text, or as title in a menu item, depending from the way the developer will choose to represent it
*/
property string text
/**
* A tooltip text to be shown when hovering the control bound to this action. Not all controls support tooltips on all platforms
*/
property string tooltip
/**
* children: list<Action>
* A list of children actions.
* Useful for tree-like menus
* @code
* Action {
* text: "Tools"
* Action {
* text: "Action1"
* }
* Action {
* text: "Action2"
* }
* }
* @endcode
*/
default property alias children: root.__children
property list<QtObject> __children
property Shortcut __shortcut: Shortcut {
property bool checked: false
id: shortcutItem
enabled: root.enabled
onActivated: root.trigger();
}
function trigger(source) {
if (!enabled) {
return;
}
root.triggered(source);
if (root.checkable) {
root.checked = !root.checked;
root.toggled(root.checked);
}
}
onCheckedChanged: root.toggled(root.checked);
}
|