Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria (garetxe@gmail.com) |
Safe Haskell | None |
Language | Haskell2010 |
GtkLockButton is a widget that can be used in control panels or
preference dialogs to allow users to obtain and revoke authorizations
needed to operate the controls. The required authorization is represented
by a Permission
object. Concrete implementations of Permission
may use
PolicyKit or some other authorization framework. To obtain a PolicyKit-based
Permission
, 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 LockButton
:text-lock
, LockButton
:text-unlock
,
LockButton
:tooltip-lock
, LockButton
:tooltip-unlock
and
LockButton
:tooltip-not-authorized
properties.
Synopsis
- newtype LockButton = LockButton (ManagedPtr LockButton)
- class GObject o => IsLockButton o
- toLockButton :: (MonadIO m, IsLockButton o) => o -> m LockButton
- noLockButton :: Maybe LockButton
- lockButtonGetPermission :: (HasCallStack, MonadIO m, IsLockButton a) => a -> m Permission
- lockButtonNew :: (HasCallStack, MonadIO m, IsPermission a) => Maybe a -> m LockButton
- lockButtonSetPermission :: (HasCallStack, MonadIO m, IsLockButton a, IsPermission b) => a -> Maybe b -> m ()
- clearLockButtonPermission :: (MonadIO m, IsLockButton o) => o -> m ()
- constructLockButtonPermission :: (IsLockButton o, IsPermission a) => a -> IO (GValueConstruct o)
- getLockButtonPermission :: (MonadIO m, IsLockButton o) => o -> m Permission
- setLockButtonPermission :: (MonadIO m, IsLockButton o, IsPermission a) => o -> a -> m ()
- clearLockButtonTextLock :: (MonadIO m, IsLockButton o) => o -> m ()
- constructLockButtonTextLock :: IsLockButton o => Text -> IO (GValueConstruct o)
- getLockButtonTextLock :: (MonadIO m, IsLockButton o) => o -> m (Maybe Text)
- setLockButtonTextLock :: (MonadIO m, IsLockButton o) => o -> Text -> m ()
- clearLockButtonTextUnlock :: (MonadIO m, IsLockButton o) => o -> m ()
- constructLockButtonTextUnlock :: IsLockButton o => Text -> IO (GValueConstruct o)
- getLockButtonTextUnlock :: (MonadIO m, IsLockButton o) => o -> m (Maybe Text)
- setLockButtonTextUnlock :: (MonadIO m, IsLockButton o) => o -> Text -> m ()
- clearLockButtonTooltipLock :: (MonadIO m, IsLockButton o) => o -> m ()
- constructLockButtonTooltipLock :: IsLockButton o => Text -> IO (GValueConstruct o)
- getLockButtonTooltipLock :: (MonadIO m, IsLockButton o) => o -> m (Maybe Text)
- setLockButtonTooltipLock :: (MonadIO m, IsLockButton o) => o -> Text -> m ()
- clearLockButtonTooltipNotAuthorized :: (MonadIO m, IsLockButton o) => o -> m ()
- constructLockButtonTooltipNotAuthorized :: IsLockButton o => Text -> IO (GValueConstruct o)
- getLockButtonTooltipNotAuthorized :: (MonadIO m, IsLockButton o) => o -> m (Maybe Text)
- setLockButtonTooltipNotAuthorized :: (MonadIO m, IsLockButton o) => o -> Text -> m ()
- clearLockButtonTooltipUnlock :: (MonadIO m, IsLockButton o) => o -> m ()
- constructLockButtonTooltipUnlock :: IsLockButton o => Text -> IO (GValueConstruct o)
- getLockButtonTooltipUnlock :: (MonadIO m, IsLockButton o) => o -> m (Maybe Text)
- setLockButtonTooltipUnlock :: (MonadIO m, IsLockButton o) => o -> Text -> m ()
Exported types
newtype LockButton Source #
Memory-managed wrapper type.
Instances
GObject LockButton Source # | |
Defined in GI.Gtk.Objects.LockButton gobjectType :: LockButton -> IO GType # | |
IsImplementorIface LockButton Source # | |
Defined in GI.Gtk.Objects.LockButton | |
IsObject LockButton Source # | |
Defined in GI.Gtk.Objects.LockButton | |
IsActionable LockButton Source # | |
Defined in GI.Gtk.Objects.LockButton | |
IsActivatable LockButton Source # | |
Defined in GI.Gtk.Objects.LockButton | |
IsBuildable LockButton Source # | |
Defined in GI.Gtk.Objects.LockButton | |
IsBin LockButton Source # | |
Defined in GI.Gtk.Objects.LockButton | |
IsButton LockButton Source # | |
Defined in GI.Gtk.Objects.LockButton | |
IsContainer LockButton Source # | |
Defined in GI.Gtk.Objects.LockButton | |
IsWidget LockButton Source # | |
Defined in GI.Gtk.Objects.LockButton | |
IsLockButton LockButton Source # | |
Defined in GI.Gtk.Objects.LockButton |
class GObject o => IsLockButton o Source #
Type class for types which can be safely cast to LockButton
, for instance with toLockButton
.
Instances
(GObject a, (UnknownAncestorError LockButton a :: Constraint)) => IsLockButton a Source # | |
Defined in GI.Gtk.Objects.LockButton | |
IsLockButton LockButton Source # | |
Defined in GI.Gtk.Objects.LockButton |
toLockButton :: (MonadIO m, IsLockButton o) => o -> m LockButton Source #
Cast to LockButton
, for types for which this is known to be safe. For general casts, use castTo
.
noLockButton :: Maybe LockButton Source #
A convenience alias for Nothing
:: Maybe
LockButton
.
Methods
getPermission
lockButtonGetPermission Source #
:: (HasCallStack, MonadIO m, IsLockButton a) | |
=> a |
|
-> m Permission | Returns: the |
Obtains the Permission
object that controls button
.
Since: 3.2
new
:: (HasCallStack, MonadIO m, IsPermission a) | |
=> Maybe a |
|
-> m LockButton | Returns: a new |
Creates a new lock button which reflects the permission
.
Since: 3.2
setPermission
lockButtonSetPermission Source #
:: (HasCallStack, MonadIO m, IsLockButton a, IsPermission b) | |
=> a |
|
-> Maybe b |
|
-> m () |
Sets the Permission
object that controls button
.
Since: 3.2
Properties
permission
No description available in the introspection data.
clearLockButtonPermission :: (MonadIO m, IsLockButton o) => o -> m () Source #
Set the value of the “permission
” property to Nothing
.
When overloading is enabled, this is equivalent to
clear
#permission
constructLockButtonPermission :: (IsLockButton o, IsPermission a) => a -> IO (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “permission
” property. This is rarely needed directly, but it is used by new
.
getLockButtonPermission :: (MonadIO m, IsLockButton o) => o -> m Permission Source #
Get the value of the “permission
” property.
When overloading is enabled, this is equivalent to
get
lockButton #permission
setLockButtonPermission :: (MonadIO m, IsLockButton o, IsPermission a) => o -> a -> m () Source #
Set the value of the “permission
” property.
When overloading is enabled, this is equivalent to
set
lockButton [ #permission:=
value ]
textLock
No description available in the introspection data.
clearLockButtonTextLock :: (MonadIO m, IsLockButton o) => o -> m () Source #
Set the value of the “text-lock
” property to Nothing
.
When overloading is enabled, this is equivalent to
clear
#textLock
constructLockButtonTextLock :: IsLockButton o => Text -> IO (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “text-lock
” property. This is rarely needed directly, but it is used by new
.
getLockButtonTextLock :: (MonadIO m, IsLockButton o) => o -> m (Maybe Text) Source #
Get the value of the “text-lock
” property.
When overloading is enabled, this is equivalent to
get
lockButton #textLock
setLockButtonTextLock :: (MonadIO m, IsLockButton o) => o -> Text -> m () Source #
Set the value of the “text-lock
” property.
When overloading is enabled, this is equivalent to
set
lockButton [ #textLock:=
value ]
textUnlock
No description available in the introspection data.
clearLockButtonTextUnlock :: (MonadIO m, IsLockButton o) => o -> m () Source #
Set the value of the “text-unlock
” property to Nothing
.
When overloading is enabled, this is equivalent to
clear
#textUnlock
constructLockButtonTextUnlock :: IsLockButton o => Text -> IO (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “text-unlock
” property. This is rarely needed directly, but it is used by new
.
getLockButtonTextUnlock :: (MonadIO m, IsLockButton o) => o -> m (Maybe Text) Source #
Get the value of the “text-unlock
” property.
When overloading is enabled, this is equivalent to
get
lockButton #textUnlock
setLockButtonTextUnlock :: (MonadIO m, IsLockButton o) => o -> Text -> m () Source #
Set the value of the “text-unlock
” property.
When overloading is enabled, this is equivalent to
set
lockButton [ #textUnlock:=
value ]
tooltipLock
No description available in the introspection data.
clearLockButtonTooltipLock :: (MonadIO m, IsLockButton o) => o -> m () Source #
Set the value of the “tooltip-lock
” property to Nothing
.
When overloading is enabled, this is equivalent to
clear
#tooltipLock
constructLockButtonTooltipLock :: IsLockButton o => Text -> IO (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “tooltip-lock
” property. This is rarely needed directly, but it is used by new
.
getLockButtonTooltipLock :: (MonadIO m, IsLockButton o) => o -> m (Maybe Text) Source #
Get the value of the “tooltip-lock
” property.
When overloading is enabled, this is equivalent to
get
lockButton #tooltipLock
setLockButtonTooltipLock :: (MonadIO m, IsLockButton o) => o -> Text -> m () Source #
Set the value of the “tooltip-lock
” property.
When overloading is enabled, this is equivalent to
set
lockButton [ #tooltipLock:=
value ]
tooltipNotAuthorized
No description available in the introspection data.
clearLockButtonTooltipNotAuthorized :: (MonadIO m, IsLockButton o) => o -> m () Source #
Set the value of the “tooltip-not-authorized
” property to Nothing
.
When overloading is enabled, this is equivalent to
clear
#tooltipNotAuthorized
constructLockButtonTooltipNotAuthorized :: IsLockButton o => Text -> IO (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “tooltip-not-authorized
” property. This is rarely needed directly, but it is used by new
.
getLockButtonTooltipNotAuthorized :: (MonadIO m, IsLockButton o) => o -> m (Maybe Text) Source #
Get the value of the “tooltip-not-authorized
” property.
When overloading is enabled, this is equivalent to
get
lockButton #tooltipNotAuthorized
setLockButtonTooltipNotAuthorized :: (MonadIO m, IsLockButton o) => o -> Text -> m () Source #
Set the value of the “tooltip-not-authorized
” property.
When overloading is enabled, this is equivalent to
set
lockButton [ #tooltipNotAuthorized:=
value ]
tooltipUnlock
No description available in the introspection data.
clearLockButtonTooltipUnlock :: (MonadIO m, IsLockButton o) => o -> m () Source #
Set the value of the “tooltip-unlock
” property to Nothing
.
When overloading is enabled, this is equivalent to
clear
#tooltipUnlock
constructLockButtonTooltipUnlock :: IsLockButton o => Text -> IO (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “tooltip-unlock
” property. This is rarely needed directly, but it is used by new
.
getLockButtonTooltipUnlock :: (MonadIO m, IsLockButton o) => o -> m (Maybe Text) Source #
Get the value of the “tooltip-unlock
” property.
When overloading is enabled, this is equivalent to
get
lockButton #tooltipUnlock
setLockButtonTooltipUnlock :: (MonadIO m, IsLockButton o) => o -> Text -> m () Source #
Set the value of the “tooltip-unlock
” property.
When overloading is enabled, this is equivalent to
set
lockButton [ #tooltipUnlock:=
value ]