aboutsummaryrefslogtreecommitdiffstats
path: root/shell/e-shell.c
diff options
context:
space:
mode:
Diffstat (limited to 'shell/e-shell.c')
-rw-r--r--shell/e-shell.c22
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)
{