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.