diff options
Diffstat (limited to 'shell/e-shell.c')
-rw-r--r-- | shell/e-shell.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/shell/e-shell.c b/shell/e-shell.c index 71eaec483d..c875dcb5cf 100644 --- a/shell/e-shell.c +++ b/shell/e-shell.c @@ -54,6 +54,7 @@ enum { }; enum { + EVENT, HANDLE_URI, SEND_RECEIVE, WINDOW_CREATED, @@ -356,6 +357,14 @@ shell_class_init (EShellClass *class) G_PARAM_READWRITE | G_PARAM_CONSTRUCT)); + signals[EVENT] = g_signal_new ( + "event", + G_OBJECT_CLASS_TYPE (object_class), + G_SIGNAL_RUN_FIRST | G_SIGNAL_DETAILED | G_SIGNAL_ACTION, + 0, NULL, NULL, + g_cclosure_marshal_VOID__VOID, + G_TYPE_NONE, 0); + signals[HANDLE_URI] = g_signal_new ( "handle-uri", G_OBJECT_CLASS_TYPE (object_class), @@ -615,6 +624,19 @@ e_shell_get_preferences_window (void) return preferences_window; } +void +e_shell_event (EShell *shell, + const gchar *event_name) +{ + GQuark detail; + + g_return_if_fail (E_IS_SHELL (shell)); + g_return_if_fail (event_name != NULL); + + detail = g_quark_from_string (event_name); + g_signal_emit (shell, signals[EVENT], detail); +} + gboolean e_shell_is_busy (EShell *shell) { |