EShellWindow

EShellWindow — the main window

Properties

gchar * active-view Read / Write
EAlertBar * alert-bar Read
EFocusTracker * focus-tracker Read
gchar * geometry Write / Construct Only
gboolean safe-mode Read / Write / Construct
EShell * shell Read / Write / Construct Only
gboolean sidebar-visible Read / Write
gboolean switcher-visible Read / Write
gboolean taskbar-visible Read / Write
gboolean toolbar-visible Read / Write
GtkUIManager * ui-manager Read

Types and Values

struct EShellWindow

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkContainer
                ╰── GtkBin
                    ╰── GtkWindow
                        ╰── EShellWindow

Implemented Interfaces

EShellWindow implements AtkImplementorIface, GtkBuildable, EAlertSink and EExtensible.

Includes

#include <shell/e-shell-window.h>

Description

Functions

e_shell_window_new ()

GtkWidget *
e_shell_window_new (EShell *shell,
                    gboolean safe_mode,
                    const gchar *geometry);

Returns a new EShellWindow.

It's up to the various EShellView<!-- -->'s to define exactly what "safe mode" means, but the EShell usually puts the initial EShellWindow into "safe mode" if detects the previous Evolution session crashed.

The initial view for the window is determined by GSettings key <filename>/org/gnome/evolution/shell/default-component-id</filename>. Or, if the GSettings key is not set or can't be read, the first view in the switcher is used.

Parameters

shell

an EShell

 

safe_mode

whether to initialize the window to "safe mode"

 

geometry

initial window geometry string, or NULL

 

Returns

a new EShellWindow


e_shell_window_get_shell ()

EShell *
e_shell_window_get_shell (EShellWindow *shell_window);

Returns the EShell that was passed to e_shell_window_new().

Parameters

shell_window

an EShellWindow

 

Returns

the EShell


e_shell_window_is_main_instance ()

gboolean
e_shell_window_is_main_instance (EShellWindow *shell_window);

Returns, whether the shell_window is the main instance, which is the window which was created as the first shell_window .

Parameters

shell_window

an EShellWindow

 

Returns

whether the shell_window is the main instance


e_shell_window_get_shell_view ()

struct _EShellView *
e_shell_window_get_shell_view (EShellWindow *shell_window,
                               const gchar *view_name);

Returns the EShellView named view_name (see the <structfield>name</structfield> field in EShellBackendInfo). This will also instantiate the EShellView the first time it's requested. To reduce resource consumption, Evolution tries to delay instantiating shell views until the user switches to them. So in general, only the active view name, as returned by e_shell_window_get_active_view(), should be requested.

The function emits a “shell-view-created” signal with view_name as the signal detail when it instantiates an EShellView.

Parameters

shell_window

an EShellWindow

 

view_name

name of a shell view

 

Returns

the requested EShellView, or NULL if no such view is registered


e_shell_window_peek_shell_view ()

struct _EShellView *
e_shell_window_peek_shell_view (EShellWindow *shell_window,
                                const gchar *view_name);

Returns the EShellView named view_name (see the <structfield>name</structfield> field in EShellBackendInfo), or NULL if the requested view has not yet been instantiated. Unlike e_shell_window_get_shell_view(), this function will not instantiate the view itself.

Parameters

shell_window

an EShellWindow

 

view_name

name of a shell view

 

Returns

the requested EShellView, or NULL if no such view is instantiated


e_shell_window_get_shell_view_action ()

GtkAction *
e_shell_window_get_shell_view_action (EShellWindow *shell_window,
                                      const gchar *view_name);

Returns the switcher action for view_name .

An EShellWindow creates a GtkRadioAction for each registered subclass of EShellView. This action gets passed to the EShellSwitcher, which displays a button that proxies the action. When the EShellView named view_name is active, the action's icon becomes the shell_window icon.

Parameters

shell_window

an EShellWindow

 

view_name

name of a shell view

 

Returns

the switcher action for the EShellView named view_name , or NULL if no such shell view exists


e_shell_window_get_alert_bar ()

GtkWidget *
e_shell_window_get_alert_bar (EShellWindow *shell_window);

Returns the EAlertBar used to display informational and error messages.

Parameters

shell_window

an EShellWindow

 

Returns

the EAlertBar for shell_window


e_shell_window_get_focus_tracker ()

EFocusTracker *
e_shell_window_get_focus_tracker (EShellWindow *shell_window);

Returns shell_window <!-- -->'s focus tracker, which directs Cut, Copy, Paste and Select All main menu activations to the appropriate editable or selectable widget.

Parameters

shell_window

an EShellWindow

 

Returns

the EFocusTracker for shell_window


e_shell_window_get_ui_manager ()

GtkUIManager *
e_shell_window_get_ui_manager (EShellWindow *shell_window);

Returns shell_window <!-- -->'s user interface manager, which manages the window's menus and toolbars via GtkAction<!-- -->s. This is the mechanism by which shell views and plugins can extend Evolution's menus and toolbars.

Parameters

shell_window

an EShellWindow

 

Returns

the GtkUIManager for shell_window


e_shell_window_get_action ()

GtkAction *
e_shell_window_get_action (EShellWindow *shell_window,
                           const gchar *action_name);

Returns the GtkAction named action_name in shell_window <!-- -->'s user interface manager, or NULL if no such action exists.

Parameters

shell_window

an EShellWindow

 

action_name

the name of an action

 

Returns

the GtkAction named action_name


e_shell_window_get_action_group ()

GtkActionGroup *
e_shell_window_get_action_group (EShellWindow *shell_window,
                                 const gchar *group_name);

Returns the GtkActionGroup named group_name in shell_window <!-- -->'s user interface manager, or NULL if no such action group exists.

Parameters

shell_window

an EShellWindow

 

group_name

the name of an action group

 

Returns

the GtkActionGroup named group_name


e_shell_window_get_managed_widget ()

GtkWidget *
e_shell_window_get_managed_widget (EShellWindow *shell_window,
                                   const gchar *widget_path);

Looks up a widget in shell_window <!-- -->'s user interface manager by following a path. See gtk_ui_manager_get_widget() for more information about paths.

Parameters

shell_window

an EShellWindow

 

widget_path

path in the UI definintion

 

Returns

the widget found by following the path, or NULL if no widget was found


e_shell_window_get_active_view ()

const gchar *
e_shell_window_get_active_view (EShellWindow *shell_window);

Returns the name of the active EShellView.

Parameters

shell_window

an EShellWindow

 

Returns

the name of the active view


e_shell_window_set_active_view ()

void
e_shell_window_set_active_view (EShellWindow *shell_window,
                                const gchar *view_name);

Switches shell_window to the EShellView named view_name , causing the entire content of shell_window to change. This is typically called as a result of the user clicking one of the switcher buttons.

The name of the newly activated shell view is also written to GSettings key <filename>/org/gnome/evolution/shell/default-component-id</filename>. This makes the active shell view persistent across Evolution sessions. It also causes new shell windows created within the current Evolution session to open to the most recently selected shell view.

Parameters

shell_window

an EShellWindow

 

view_name

the name of the shell view to switch to

 

e_shell_window_get_safe_mode ()

gboolean
e_shell_window_get_safe_mode (EShellWindow *shell_window);

Returns TRUE if shell_window is in "safe mode".

It's up to the various EShellView<!-- -->'s to define exactly what "safe mode" means. The shell_window simply manages the "safe mode" state.

Parameters

shell_window

an EShellWindow

 

Returns

TRUE if shell_window is in "safe mode"


e_shell_window_set_safe_mode ()

void
e_shell_window_set_safe_mode (EShellWindow *shell_window,
                              gboolean safe_mode);

If TRUE, puts shell_window into "safe mode".

It's up to the various EShellView<!-- -->'s to define exactly what "safe mode" means. The shell_window simply manages the "safe mode" state.

Parameters

shell_window

an EShellWindow

 

safe_mode

whether to put shell_window into "safe mode"

 

e_shell_window_add_action_group ()

void
e_shell_window_add_action_group (EShellWindow *shell_window,
                                 const gchar *group_name);

Creates a new GtkActionGroup and adds it to shell_window <!-- -->'s user interface manager. This also takes care of details like setting the translation domain.

Parameters

shell_window

an EShellWindow

 

group_name

the name of the new action group

 

e_shell_window_get_sidebar_visible ()

gboolean
e_shell_window_get_sidebar_visible (EShellWindow *shell_window);

Returns TRUE if shell_window <!-- -->'s side bar is visible.

Parameters

shell_window

an EShellWindow

 

Returns

TRUE is the side bar is visible


e_shell_window_set_sidebar_visible ()

void
e_shell_window_set_sidebar_visible (EShellWindow *shell_window,
                                    gboolean sidebar_visible);

Makes shell_window <!-- -->'s side bar visible or invisible.

Parameters

shell_window

an EShellWindow

 

sidebar_visible

whether the side bar should be visible

 

e_shell_window_get_switcher_visible ()

gboolean
e_shell_window_get_switcher_visible (EShellWindow *shell_window);

Returns TRUE if shell_window <!-- -->'s switcher buttons are visible.

Parameters

shell_window

an EShellWindow

 

Returns

TRUE is the switcher buttons are visible


e_shell_window_set_switcher_visible ()

void
e_shell_window_set_switcher_visible (EShellWindow *shell_window,
                                     gboolean switcher_visible);

Makes shell_window <!-- -->'s switcher buttons visible or invisible.

Parameters

shell_window

an EShellWindow

 

switcher_visible

whether the switcher buttons should be visible

 

e_shell_window_get_taskbar_visible ()

gboolean
e_shell_window_get_taskbar_visible (EShellWindow *shell_window);

Returns TRUE if shell_window <!-- -->'s task bar is visible.

Parameters

shell_window

an EShellWindow

 

Returns

TRUE is the task bar is visible


e_shell_window_set_taskbar_visible ()

void
e_shell_window_set_taskbar_visible (EShellWindow *shell_window,
                                    gboolean taskbar_visible);

Makes shell_window <!-- -->'s task bar visible or invisible.

Parameters

shell_window

an EShellWindow

 

taskbar_visible

whether the task bar should be visible

 

e_shell_window_get_toolbar_visible ()

gboolean
e_shell_window_get_toolbar_visible (EShellWindow *shell_window);

Returns TRUE if shell_window <!-- -->'s tool bar is visible.

Parameters

shell_window

an EShellWindow

 

Returns

TRUE if the tool bar is visible


e_shell_window_set_toolbar_visible ()

void
e_shell_window_set_toolbar_visible (EShellWindow *shell_window,
                                    gboolean toolbar_visible);

Makes shell_window <!-- -->'s tool bar visible or invisible.

Parameters

shell_window

an EShellWindow

 

toolbar_visible

whether the tool bar should be visible

 

EShellWindowConnetClientFunc ()

void
(*EShellWindowConnetClientFunc) (EShellWindow *shell_window,
                                 EClient *client,
                                 gpointer user_data);

e_shell_window_connect_client ()

void
e_shell_window_connect_client (EShellWindow *shell_window,
                               ESource *source,
                               const gchar *extension_name,
                               EShellWindowConnetClientFunc connected_cb,
                               gpointer user_data,
                               GDestroyNotify destroy_user_data);

Get's an EClient from shell's EClientCache in a dedicated thread, thus the operation doesn't block UI. The connected_cb is called in the main thread, but only when the operation succeeded. Any failure is propageted to UI.

Parameters

shell_window

an EShellWindow

 

source

an ESource to connect to

 

extension_name

an extension name

 

connected_cb

a callback to be called when the client is opened

 

user_data

a user data passed to connected_cb

 

destroy_user_data

callback to free user_data when no longer needed.

[allow none]

Since: 3.16


e_shell_window_register_new_item_actions ()

void
e_shell_window_register_new_item_actions
                               (EShellWindow *shell_window,
                                const gchar *backend_name,
                                GtkActionEntry *entries,
                                guint n_entries);

Registers a list of GtkAction<!-- -->s to appear in shell_window <!-- -->'s "New" menu and toolbar button. This function should be called from an EShell<!-- -->'s “window-added” signal handler. The EShellBackend calling this function should pass its own name for the backend_name argument (i.e. the <structfield>name</structfield> field from its own EShellBackendInfo).

The registered GtkAction<!-- -->s should be for creating individual items such as an email message or a calendar appointment. The action labels should be marked for translation with the "New" context using the NC_() macro.

Parameters

shell_window

an EShellWindow

 

backend_name

name of an EShellBackend

 

entries

an array of GtkActionEntry<!-- -->s

 

n_entries

number of elements in the array

 

e_shell_window_register_new_source_actions ()

void
e_shell_window_register_new_source_actions
                               (EShellWindow *shell_window,
                                const gchar *backend_name,
                                GtkActionEntry *entries,
                                guint n_entries);

Registers a list of GtkAction<!-- -->s to appear in shell_window <!-- -->'s "New" menu and toolbar button. This function should be called from an EShell<!-- -->'s “window-added” signal handler. The EShellBackend calling this function should pass its own name for the backend_name argument (i.e. the <structfield>name</structfield> field from its own EShellBackendInfo).

The registered GtkAction<!-- -->s should be for creating item containers such as an email folder or a calendar. The action labels should be marked for translation with the "New" context using the NC_() macro.

Parameters

shell_window

an EShellWindow

 

backend_name

name of an EShellBackend

 

entries

an array of GtkActionEntry<!-- -->s

 

n_entries

number of elements in the array

 

Types and Values

struct EShellWindow

struct EShellWindow;

Contains only private data that should be read and manipulated using the functions below.

Property Details

The “active-view” property

  “active-view”              gchar *

Name of the active EShellView.

Flags: Read / Write

Default value: NULL


The “alert-bar” property

  “alert-bar”                EAlertBar *

Displays informational and error messages.

Flags: Read


The “focus-tracker” property

  “focus-tracker”            EFocusTracker *

The shell window's EFocusTracker.

Flags: Read


The “geometry” property

  “geometry”                 gchar *

User-specified initial window geometry string.

Flags: Write / Construct Only

Default value: NULL


The “safe-mode” property

  “safe-mode”                gboolean

Whether the shell window is in safe mode.

Flags: Read / Write / Construct

Default value: FALSE


The “shell” property

  “shell”                    EShell *

The EShell singleton.

Flags: Read / Write / Construct Only


The “sidebar-visible” property

  “sidebar-visible”          gboolean

Whether the shell window's side bar is visible.

Flags: Read / Write

Default value: TRUE


The “switcher-visible” property

  “switcher-visible”         gboolean

Whether the shell window's switcher buttons are visible.

Flags: Read / Write

Default value: TRUE


The “taskbar-visible” property

  “taskbar-visible”          gboolean

Whether the shell window's task bar is visible.

Flags: Read / Write

Default value: TRUE


The “toolbar-visible” property

  “toolbar-visible”          gboolean

Whether the shell window's tool bar is visible.

Flags: Read / Write

Default value: TRUE


The “ui-manager” property

  “ui-manager”               GtkUIManager *

The shell window's GtkUIManager.

Flags: Read

Signal Details

The “close-alert” signal

void
user_function (EShellWindow *shell_window,
               gpointer      user_data)

Closes either one EShellView-specific EAlert or else one global EAlert. This signal is bound to the Escape key.

Parameters

shell_window

the EShellWindow which emitted the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “shell-view-created” signal

void
user_function (EShellWindow *shell_window,
               EShellView   *shell_view,
               gpointer      user_data)

Emitted when a new EShellView is instantiated by way of e_shell_window_get_shell_view(). The signal detail denotes the new view name, which can be used to obtain notification of when a particular EShellView is created.

Parameters

shell_window

the EShellWindow which emitted the signal

 

shell_view

the new EShellView

 

user_data

user data set when the signal handler was connected.

 

Flags: Has Details