KAuthorized Class
Header: | #include <KAuthorized> |
CMake: | find_package(KF6 REQUIRED COMPONENTS Config) target_link_libraries(mytarget PRIVATE KF6::ConfigCore) |
Inherits: | QObject |
Public Types
enum | GenericAction { OPEN_WITH, EDITFILETYPE, OPTIONS_SHOW_TOOLBAR, SWITCH_APPLICATION_LANGUAGE, BOOKMARKS } |
enum | GenericRestriction { SHELL_ACCESS, GHNS, LINEEDIT_REVEAL_PASSWORD, LINEEDIT_TEXT_COMPLETION, MOVABLE_TOOLBARS, RUN_DESKTOP_FILES } |
Static Public Members
bool | authorize(KAuthorized::GenericRestriction action) |
bool | authorize(const QString &action) |
bool | authorizeAction(KAuthorized::GenericAction action) |
bool | authorizeAction(const QString &action) |
bool | authorizeControlModule(const QString &pluginId) |
Detailed Description
The functions in this namespace provide the core of the Kiosk action restriction system; the KIO and KXMLGui frameworks build on this.
The relevant settings are read from the application's KSharedConfig instance, so actions can be disabled on a per-application or global basis (by using the kdeglobals file).
Member Type Documentation
enum KAuthorized::GenericAction
@since 5.88
enum KAuthorized::GenericRestriction
The enum values lower cased represent the action that is authorized For example the SHELL_ACCESS value is converted to the "shell_access" string.
@since 5.88
Member Function Documentation
[static invokable]
bool KAuthorized::authorize(KAuthorized::GenericRestriction action)
Returns whether the user is permitted to perform a common action. The enum values lower cased represent the action that is passed in to @p authorize(QString)
@overload @since 5.88
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
[static invokable]
bool KAuthorized::authorize(const QString &action)
* Returns whether the user is permitted to perform a certain action. * * All settings are read from the "[KDE Action Restrictions]" group. * For example, if kdeglobals contains * @verbatim [KDE Action Restrictions][$i] shell_access=false @endverbatim * then * @code * KAuthorized::authorize("shell_access"); * @endcode * will return @c false. * * This method is intended for actions that do not necessarily have a * one-to-one correspondence with a menu or toolbar item (ie: a QAction * in a KXMLGui application). "shell_access" is an example of such a * "generic" action. * * The convention for actions like "File->New" is to prepend the action * name with "action/", for example "action/file_new". This is what * authorizeAction() does. * * @param action The name of the action. * @return @c true if the action is authorized, @c false * otherwise. * * @see authorizeAction()
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
[static invokable]
bool KAuthorized::authorizeAction(KAuthorized::GenericAction action)
Overload to authorize common actions.
@overload @since 5.88
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
[static invokable]
bool KAuthorized::authorizeAction(const QString &action)
* Returns whether the user is permitted to perform a certain action. * * This behaves like authorize(), except that "action/" is prepended to * @p action. So if kdeglobals contains * @verbatim [KDE Action Restrictions][$i] action/file_new=false @endverbatim * then * @code * KAuthorized::authorizeAction("file_new"); * @endcode * will return @c false. * * KXMLGui-based applications should not normally need to call this * function, as KActionCollection will do it automatically. * * @param action The name of a QAction action. * @return @c true if the QAction is authorized, @c false * otherwise. * @since 5.24 * * @see authorize()
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
[static invokable]
bool KAuthorized::authorizeControlModule(const QString &pluginId)
* Returns whether the user is permitted to use a certain control module. * * All settings are read from the "[KDE Control Module Restrictions]" * group. For example, if kdeglobals contains * @verbatim [KDE Control Module Restrictions][$i] kcm_desktop-settings=false @endverbatim * then * @code * KAuthorized::authorizeControlModule("kcm_desktop-settings"); * @endcode * will return @c false. * * @param pluginId The desktop menu ID for the control module. * @return @c true if access to the module is authorized, @c false otherwise. *
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.