diff options
author | Matthew Barnes <mbarnes@redhat.com> | 2009-05-10 11:50:43 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2009-05-10 11:50:43 +0800 |
commit | 92e942499bffca812dcbc229f6c88ebb640e403a (patch) | |
tree | 88eff8cf45f83728f264c4f90582950452dee497 /shell/test | |
parent | e18f9eb725e0be78db138e9eb0d58ed4d3370c82 (diff) | |
download | gsoc2013-evolution-92e942499bffca812dcbc229f6c88ebb640e403a.tar gsoc2013-evolution-92e942499bffca812dcbc229f6c88ebb640e403a.tar.gz gsoc2013-evolution-92e942499bffca812dcbc229f6c88ebb640e403a.tar.bz2 gsoc2013-evolution-92e942499bffca812dcbc229f6c88ebb640e403a.tar.lz gsoc2013-evolution-92e942499bffca812dcbc229f6c88ebb640e403a.tar.xz gsoc2013-evolution-92e942499bffca812dcbc229f6c88ebb640e403a.tar.zst gsoc2013-evolution-92e942499bffca812dcbc229f6c88ebb640e403a.zip |
Fix bugs caused by EShellBackend changes.
Diffstat (limited to 'shell/test')
-rw-r--r-- | shell/test/Makefile.am | 3 | ||||
-rw-r--r-- | shell/test/e-test-shell-backend.c | 255 | ||||
-rw-r--r-- | shell/test/e-test-shell-backend.h | 67 | ||||
-rw-r--r-- | shell/test/e-test-shell-module.c | 192 | ||||
-rw-r--r-- | shell/test/e-test-shell-view.c | 1 |
5 files changed, 324 insertions, 194 deletions
diff --git a/shell/test/Makefile.am b/shell/test/Makefile.am index 3656b5b782..3b98d1b9ce 100644 --- a/shell/test/Makefile.am +++ b/shell/test/Makefile.am @@ -10,7 +10,8 @@ INCLUDES = \ $(EVOLUTION_TEST_CFLAGS) libevolution_test_la_SOURCES = \ - e-test-shell-module.c \ + e-test-shell-backend.c \ + e-test-shell-backend.h \ e-test-shell-view.c \ e-test-shell-view.h diff --git a/shell/test/e-test-shell-backend.c b/shell/test/e-test-shell-backend.c new file mode 100644 index 0000000000..cdceb603d1 --- /dev/null +++ b/shell/test/e-test-shell-backend.c @@ -0,0 +1,255 @@ +/* + * e-test-shell-backend.c + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) version 3. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the program; if not, see <http://www.gnu.org/licenses/> + * + * + * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com) + * + */ + +#include "e-test-shell-backend.h" + +#include <glib/gi18n.h> + +#include <e-shell.h> +#include <e-shell-window.h> + +#include "e-test-shell-view.h" + +#define E_TEST_SHELL_BACKEND_GET_PRIVATE(obj) \ + (G_TYPE_INSTANCE_GET_PRIVATE \ + ((obj), E_TYPE_TEST_SHELL_BACKEND, ETestShellBackendPrivate)) + +struct _ETestShellBackendPrivate { + gint placeholder; +}; + +/* Module Entry Point */ +void e_module_load (GTypeModule *type_module); +void e_module_unload (GTypeModule *type_module); + +GType e_test_shell_backend_type = 0; +static gpointer parent_class; + +static void +action_test_item_new_cb (GtkAction *action, + EShellWindow *shell_window) +{ + g_debug ("%s", G_STRFUNC); +} + +static void +action_test_source_new_cb (GtkAction *action, + EShellWindow *shell_window) +{ + g_debug ("%s", G_STRFUNC); +} + +static GtkActionEntry item_entries[] = { + + { "test-item-new", + "document-new", + NC_("New", "_Test Item"), + NULL, + N_("Create a new test item"), + G_CALLBACK (action_test_item_new_cb) } +}; + +static GtkActionEntry source_entries[] = { + + { "test-source-new", + "folder-new", + NC_("New", "Test _Source"), + NULL, + N_("Create a new test source"), + G_CALLBACK (action_test_source_new_cb) } +}; + +static void +test_shell_backend_start (EShellBackend *shell_backend) +{ + g_debug ("%s", G_STRFUNC); +} + +static gboolean +test_shell_backend_is_busy (EShellBackend *shell_backend) +{ + g_debug ("%s", G_STRFUNC); + + return FALSE; +} + +static gboolean +test_shell_backend_shutdown (EShellBackend *shell_backend) +{ + g_debug ("%s", G_STRFUNC); + + return TRUE; +} + +static gboolean +test_shell_backend_migrate (EShellBackend *shell_backend, + gint major, + gint minor, + gint micro, + GError **error) +{ + g_debug ("%s (from %d.%d.%d)", G_STRFUNC, major, minor, micro); + + return TRUE; +} + +static gboolean +test_shell_backend_handle_uri_cb (EShellBackend *shell_backend, + const gchar *uri) +{ + g_debug ("%s (uri=%s)", G_STRFUNC, uri); + + return FALSE; +} + +static void +test_shell_backend_send_receive_cb (EShellBackend *shell_backend, + GtkWindow *parent_window) +{ + g_debug ("%s (window=%p)", G_STRFUNC, parent_window); +} + +static void +test_shell_backend_window_created_cb (EShellBackend *shell_backend, + GtkWindow *window) +{ + const gchar *backend_name; + + g_debug ("%s (%s)", G_STRFUNC, G_OBJECT_TYPE_NAME (window)); + + if (!E_IS_SHELL_WINDOW (window)) + return; + + backend_name = E_SHELL_BACKEND_GET_CLASS (shell_backend)->name; + + e_shell_window_register_new_item_actions ( + E_SHELL_WINDOW (window), backend_name, + item_entries, G_N_ELEMENTS (item_entries)); + + e_shell_window_register_new_source_actions ( + E_SHELL_WINDOW (window), backend_name, + source_entries, G_N_ELEMENTS (source_entries)); +} + +static void +test_shell_backend_window_destroyed_cb (EShellBackend *shell_backend) +{ + g_debug ("%s", G_STRFUNC); +} + +void +test_shell_backend_constructed (GObject *object) +{ + EShell *shell; + EShellBackend *shell_backend; + + shell_backend = E_SHELL_BACKEND (object); + shell = e_shell_backend_get_shell (shell_backend); + + g_signal_connect_swapped ( + shell, "handle-uri", + G_CALLBACK (test_shell_backend_handle_uri_cb), + shell_backend); + + g_signal_connect_swapped ( + shell, "send-receive", + G_CALLBACK (test_shell_backend_send_receive_cb), + shell_backend); + + g_signal_connect_swapped ( + shell, "window-created", + G_CALLBACK (test_shell_backend_window_created_cb), + shell_backend); + + g_signal_connect_swapped ( + shell, "window-destroyed", + G_CALLBACK (test_shell_backend_window_destroyed_cb), + shell_backend); +} + +static void +test_shell_backend_class_init (ETestShellBackendClass *class) +{ + GObjectClass *object_class; + EShellBackendClass *shell_backend_class; + + parent_class = g_type_class_peek_parent (class); + g_type_class_add_private (class, sizeof (ETestShellBackendPrivate)); + + object_class = G_OBJECT_CLASS (class); + object_class->constructed = test_shell_backend_constructed; + + shell_backend_class = E_SHELL_BACKEND_CLASS (class); + shell_backend_class->shell_view_type = E_TYPE_TEST_SHELL_VIEW; + shell_backend_class->name = "test"; + shell_backend_class->aliases = "monkey"; + shell_backend_class->schemes = ""; + shell_backend_class->sort_order = 100; + shell_backend_class->start = test_shell_backend_start; + shell_backend_class->is_busy = test_shell_backend_is_busy; + shell_backend_class->shutdown = test_shell_backend_shutdown; + shell_backend_class->migrate = test_shell_backend_migrate; +} + +static void +test_shell_backend_init (ETestShellBackend *test_shell_backend) +{ + test_shell_backend->priv = + E_TEST_SHELL_BACKEND_GET_PRIVATE (test_shell_backend); +} + +GType +e_test_shell_backend_get_type (GTypeModule *type_module) +{ + if (e_test_shell_backend_type == 0) { + const GTypeInfo type_info = { + sizeof (ETestShellBackendClass), + (GBaseInitFunc) NULL, + (GBaseFinalizeFunc) NULL, + (GClassInitFunc) test_shell_backend_class_init, + (GClassFinalizeFunc) NULL, + NULL, /* class_data */ + sizeof (ETestShellBackend), + 0, /* n_preallocs */ + (GInstanceInitFunc) test_shell_backend_init, + NULL /* value_table */ + }; + + e_test_shell_backend_type = + g_type_module_register_type ( + type_module, E_TYPE_SHELL_BACKEND, + "ETestShellBackend", &type_info, 0); + } + + return e_test_shell_backend_type; +} + +void +e_module_load (GTypeModule *type_module) +{ + e_test_shell_backend_get_type (type_module); + e_test_shell_view_get_type (type_module); +} + +void +e_module_unload (GTypeModule *type_module) +{ +} diff --git a/shell/test/e-test-shell-backend.h b/shell/test/e-test-shell-backend.h new file mode 100644 index 0000000000..ccb04be7c2 --- /dev/null +++ b/shell/test/e-test-shell-backend.h @@ -0,0 +1,67 @@ +/* + * e-test-shell-backend.c + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) version 3. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the program; if not, see <http://www.gnu.org/licenses/> + * + * + * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com) + * + */ + +#ifndef E_TEST_SHELL_BACKEND_H +#define E_TEST_SHELL_BACKEND_H + +#include <shell/e-shell-backend.h> + +/* Standard GObject macros */ +#define E_TYPE_TEST_SHELL_BACKEND \ + (e_test_shell_backend_type) +#define E_TEST_SHELL_BACKEND(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST \ + ((obj), E_TYPE_TEST_SHELL_BACKEND, ETestShellBackend)) +#define E_TEST_SHELL_BACKEND_CLASS(cls) \ + (G_TYPE_CHECK_CLASS_CAST \ + ((cls), E_TYPE_TEST_SHELL_BACKEND, ETestShellBackendClass)) +#define E_IS_TEST_SHELL_BACKEND(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE \ + ((obj), E_TYPE_TEST_SHELL_BACKEND)) +#define E_IS_TEST_SHELL_BACKEND_CLASS(cls) \ + (G_TYPE_CHECK_CLASS_TYPE \ + ((cls), E_TYPE_TEST_SHELL_BACKEND)) +#define E_TEST_SHELL_BACKEND_GET_CLASS(obj) \ + (G_TYPE_INSTANCE_GET_CLASS \ + ((obj), E_TYPE_TEST_SHELL_BACKEND, ETestShellBackendClass)) + +G_BEGIN_DECLS + +extern GType e_test_shell_backend_type; + +typedef struct _ETestShellBackend ETestShellBackend; +typedef struct _ETestShellBackendClass ETestShellBackendClass; +typedef struct _ETestShellBackendPrivate ETestShellBackendPrivate; + +struct _ETestShellBackend { + EShellBackend parent; + ETestShellBackendPrivate *priv; +}; + +struct _ETestShellBackendClass { + EShellBackendClass parent_class; +}; + +GType e_test_shell_backend_get_type (GTypeModule *type_module); + +G_END_DECLS + +#endif /* E_TEST_SHELL_BACKEND_H */ diff --git a/shell/test/e-test-shell-module.c b/shell/test/e-test-shell-module.c deleted file mode 100644 index d579f46499..0000000000 --- a/shell/test/e-test-shell-module.c +++ /dev/null @@ -1,192 +0,0 @@ -/* - * e-test-shell-backend.c - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) version 3. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with the program; if not, see <http://www.gnu.org/licenses/> - * - * - * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com) - * - */ - -#include <glib/gi18n.h> - -#include <e-shell.h> -#include <e-shell-backend.h> -#include <e-shell-window.h> - -#include "e-test-shell-view.h" - -#define MODULE_NAME "test" -#define MODULE_ALIASES "monkey" -#define MODULE_SCHEMES "" -#define MODULE_SORT_ORDER 100 - -/* Module Entry Point */ -void e_shell_backend_init (GTypeModule *type_module); - -static void -action_test_item_new_cb (GtkAction *action, - EShellWindow *shell_window) -{ - g_debug ("%s", G_STRFUNC); -} - -static void -action_test_source_new_cb (GtkAction *action, - EShellWindow *shell_window) -{ - g_debug ("%s", G_STRFUNC); -} - -static GtkActionEntry item_entries[] = { - - { "test-item-new", - "document-new", - NC_("New", "_Test Item"), - NULL, - N_("Create a new test item"), - G_CALLBACK (action_test_item_new_cb) } -}; - -static GtkActionEntry source_entries[] = { - - { "test-source-new", - "folder-new", - NC_("New", "Test _Source"), - NULL, - N_("Create a new test source"), - G_CALLBACK (action_test_source_new_cb) } -}; - -static void -test_module_start (EShellBackend *shell_backend) -{ - g_debug ("%s", G_STRFUNC); -} - -static gboolean -test_module_is_busy (EShellBackend *shell_backend) -{ - g_debug ("%s", G_STRFUNC); - - return FALSE; -} - -static gboolean -test_module_shutdown (EShellBackend *shell_backend) -{ - g_debug ("%s", G_STRFUNC); - - return TRUE; -} - -static gboolean -test_module_migrate (EShellBackend *shell_backend, - gint major, - gint minor, - gint micro, - GError **error) -{ - g_debug ("%s (from %d.%d.%d)", G_STRFUNC, major, minor, micro); - - return TRUE; -} - -static gboolean -test_module_handle_uri_cb (EShellBackend *shell_backend, - const gchar *uri) -{ - g_debug ("%s (uri=%s)", G_STRFUNC, uri); - - return FALSE; -} - -static void -test_module_send_receive_cb (EShellBackend *shell_backend, - GtkWindow *parent_window) -{ - g_debug ("%s (window=%p)", G_STRFUNC, parent_window); -} - -static void -test_module_window_created_cb (EShellBackend *shell_backend, - GtkWindow *window) -{ - const gchar *module_name; - - g_debug ("%s (%s)", G_STRFUNC, G_OBJECT_TYPE_NAME (window)); - - if (!E_IS_SHELL_WINDOW (window)) - return; - - module_name = G_TYPE_MODULE (shell_backend)->name; - - e_shell_window_register_new_item_actions ( - E_SHELL_WINDOW (window), module_name, - item_entries, G_N_ELEMENTS (item_entries)); - - e_shell_window_register_new_source_actions ( - E_SHELL_WINDOW (window), module_name, - source_entries, G_N_ELEMENTS (source_entries)); -} - -static void -test_module_window_destroyed_cb (EShellBackend *shell_backend) -{ - g_debug ("%s", G_STRFUNC); -} - -static EShellBackendInfo module_info = { - - MODULE_NAME, - MODULE_ALIASES, - MODULE_SCHEMES, - MODULE_SORT_ORDER, - - /* Methods */ - test_module_start, - test_module_is_busy, - test_module_shutdown, - test_module_migrate -}; - -void -e_shell_backend_init (GTypeModule *type_module) -{ - EShell *shell; - EShellBackend *shell_backend; - - shell_backend = E_SHELL_BACKEND (type_module); - shell = e_shell_backend_get_shell (shell_backend); - - e_shell_backend_set_info ( - shell_backend, &module_info, - e_test_shell_view_get_type (type_module)); - - g_signal_connect_swapped ( - shell, "handle-uri", - G_CALLBACK (test_module_handle_uri_cb), shell_backend); - - g_signal_connect_swapped ( - shell, "send-receive", - G_CALLBACK (test_module_send_receive_cb), shell_backend); - - g_signal_connect_swapped ( - shell, "window-created", - G_CALLBACK (test_module_window_created_cb), shell_backend); - - g_signal_connect_swapped ( - shell, "window-destroyed", - G_CALLBACK (test_module_window_destroyed_cb), shell_backend); -} diff --git a/shell/test/e-test-shell-view.c b/shell/test/e-test-shell-view.c index de9d8f38ec..a7326af687 100644 --- a/shell/test/e-test-shell-view.c +++ b/shell/test/e-test-shell-view.c @@ -117,7 +117,6 @@ test_shell_view_class_init (ETestShellViewClass *class, shell_view_class = E_SHELL_VIEW_CLASS (class); shell_view_class->label = "Test"; shell_view_class->icon_name = "face-monkey"; - shell_view_class->type_module = type_module; shell_view_class->toggled = test_shell_view_toggled; } |