Sets our main struct and passes it to the parent class.
Creates a new lock button which reflects the @permission.
Get the main Gtk struct
Obtains the GPermission object that controls @button.
the main Gtk struct as a void*
Sets the GPermission object that controls @button.
the main Gtk struct
the main Gtk struct
Get the main Gtk struct
the main Gtk struct as a void*
Gets the child widget of @button.
Returns whether the button has a frame.
Returns the icon name of the button.
Fetches the text from the label of the button.
gets whether underlines are interpreted as mnemonics.
Sets the child widget of @button.
Sets the style of the button.
Adds a GtkImage with the given icon name as a child.
Sets the text of the label of the button to @label.
Sets whether to use underlines as mnemonics.
Emitted to animate press then release.
Emitted when the button has been activated (pressed and released).
GtkLockButton is a widget to obtain and revoke authorizations needed to operate the controls.
It is typically used in preference dialogs or control panels.
The required authorization is represented by a GPermission object. Concrete implementations of GPermission may use PolicyKit or some other authorization framework. To obtain a PolicyKit-based GPermission, use polkit_permission_new().
If the user is not currently allowed to perform the action, but can obtain the permission, the widget looks like this:
and the user can click the button to request the permission. Depending on the platform, this may pop up an authentication dialog or ask the user to authenticate in some other way. Once the user has obtained the permission, the widget changes to this:
and the permission can be dropped again by clicking the button. If the user is not able to obtain the permission at all, the widget looks like this:
If the user has the permission and cannot drop it, the button is hidden.
The text (and tooltips) that are shown in the various cases can be adjusted with the [property@Gtk.LockButton:text-lock], [property@Gtk.LockButton:text-unlock], [property@Gtk.LockButton:tooltip-lock], [property@Gtk.LockButton:tooltip-unlock] and [property@Gtk.LockButton:tooltip-not-authorized] properties.