InfGtkPermissionsDialog

InfGtkPermissionsDialog — A dialog to view and modify the ACL of a directory node

Stability Level

Unstable, unless otherwise indicated

Synopsis

#include <libinfgtk/inf-gtk-permissions-dialog.h>

                    InfGtkPermissionsDialog;
struct              InfGtkPermissionsDialogClass;
InfGtkPermissionsDialog * inf_gtk_permissions_dialog_new
                                                        (GtkWindow *parent,
                                                         GtkDialogFlags dialog_flags,
                                                         InfBrowser *browser,
                                                         const InfBrowserIter *iter);
void                inf_gtk_permissions_dialog_set_node (InfGtkPermissionsDialog *dialog,
                                                         InfBrowser *browser,
                                                         const InfBrowserIter *iter);

Object Hierarchy

  GObject
   +----GInitiallyUnowned
         +----GtkObject
               +----GtkWidget
                     +----GtkContainer
                           +----GtkBin
                                 +----GtkWindow
                                       +----GtkDialog
                                             +----InfGtkPermissionsDialog

Implemented Interfaces

InfGtkPermissionsDialog implements AtkImplementorIface and GtkBuildable.

Properties

  "browser"                  InfBrowser*           : Read / Write / Construct Only
  "browser-iter"             InfBrowserIter*       : Read / Write / Construct Only

Description

InfGtkPermissionsDialog is a dialog widget which allows to view and modify the ACL of a node in a infinote directory. It shows a list of all available users and allows the permissions for each of them to be changed, using a InfGtkAclSheetView widget.

If the "can-query-acl" permission is not granted for the local user, the dialog only shows the permissions for the default user and the local user. The dialog also comes with a status text to inform the user why certain functionality is not available.

The dialog class reacts to changes to the ACL in real time, and also if the node that is being monitored is removed.

Details

InfGtkPermissionsDialog

typedef struct _InfGtkPermissionsDialog InfGtkPermissionsDialog;

InfGtkPermissionsDialog is an opaque data type. You should only access it via the public API functions.


struct InfGtkPermissionsDialogClass

struct InfGtkPermissionsDialogClass {
};

This structure does not contain any public fields.


inf_gtk_permissions_dialog_new ()

InfGtkPermissionsDialog * inf_gtk_permissions_dialog_new
                                                        (GtkWindow *parent,
                                                         GtkDialogFlags dialog_flags,
                                                         InfBrowser *browser,
                                                         const InfBrowserIter *iter);

Creates a new InfGtkPermissionsDialog, showing the ACL for the node iter points to inside browser. If browser is NULL, iter must be NULL, too. In that case no permissions are shown, and the node to be shown can be set later with inf_gtk_permissions_dialog_set_node().

parent :

Parent GtkWindow of the dialog.

dialog_flags :

Flags for the dialog, see GtkDialogFlags.

browser :

The InfBrowser containing the node to show permissions for, or NULL.

iter :

An iterator pointing to the node to show permissions for, or NULL.

Returns :

A new InfGtkPermissionsDialog. Free with gtk_widget_destroy() when no longer needed.

inf_gtk_permissions_dialog_set_node ()

void                inf_gtk_permissions_dialog_set_node (InfGtkPermissionsDialog *dialog,
                                                         InfBrowser *browser,
                                                         const InfBrowserIter *iter);

Changes the node the dialog shows permissions for. To unset the node, both browser and iter should be NULL.

dialog :

A InfGtkPermissionsDialog.

browser :

The InfBrowser containing the node to show permissions for, or NULL.

iter :

An iterator pointing to the node to show permissions for, or NULL.

Property Details

The "browser" property

  "browser"                  InfBrowser*           : Read / Write / Construct Only

The browser with the node for which to show the permissions.


The "browser-iter" property

  "browser-iter"             InfBrowserIter*       : Read / Write / Construct Only

An iterator pointing to the node inside the browser for which to show the permissions.