diff options
Diffstat (limited to 'addressbook/gui')
-rw-r--r-- | addressbook/gui/component/addressbook.c | 6 | ||||
-rw-r--r-- | addressbook/gui/widgets/e-addressbook-view.c | 33 | ||||
-rw-r--r-- | addressbook/gui/widgets/e-addressbook-view.h | 12 |
3 files changed, 42 insertions, 9 deletions
diff --git a/addressbook/gui/component/addressbook.c b/addressbook/gui/component/addressbook.c index c57a721249..0392caf3b6 100644 --- a/addressbook/gui/component/addressbook.c +++ b/addressbook/gui/component/addressbook.c @@ -19,7 +19,6 @@ #include <ebook/e-book.h> #include <gal/util/e-util.h> #include <gal/widgets/e-unicode.h> -#include "widgets/menus/gal-view-menus.h" #include "addressbook/gui/search/e-addressbook-search-dialog.h" #include "addressbook/gui/widgets/e-addressbook-view.h" @@ -321,7 +320,6 @@ control_activate (BonoboControl *control, AddressbookView *view) { Bonobo_UIContainer remote_ui_container; - GalViewMenus *views; remote_ui_container = bonobo_control_get_remote_ui_container (control); bonobo_ui_component_set_container (uic, remote_ui_container); @@ -341,9 +339,7 @@ control_activate (BonoboControl *control, "evolution-addressbook"); #endif - views = gal_view_menus_new(); - gal_view_menus_apply(views, uic, NULL); - gtk_object_unref(GTK_OBJECT(views)); + e_addressbook_view_setup_menus (view->view, uic); update_view_type (view); diff --git a/addressbook/gui/widgets/e-addressbook-view.c b/addressbook/gui/widgets/e-addressbook-view.c index d0d6984faf..2eab704e37 100644 --- a/addressbook/gui/widgets/e-addressbook-view.c +++ b/addressbook/gui/widgets/e-addressbook-view.c @@ -29,6 +29,8 @@ #include <gal/e-table/e-table-model.h> #include <gal/widgets/e-scroll-frame.h> #include <gal/widgets/e-popup-menu.h> +#include "widgets/menus/gal-view-menus.h" +#include <gal/menus/gal-view-factory-etable.h> #include "e-addressbook-model.h" @@ -673,6 +675,37 @@ e_contact_print_button(GnomeDialog *dialog, gint button, gpointer data) } void +e_addressbook_view_setup_menus (EAddressbookView *view, + BonoboUIComponent *uic) +{ + GalViewCollection *collection; + GalViewMenus *views; + GalViewFactory *factory; + ETableSpecification *spec; + + collection = gal_view_collection_new(); + + spec = e_table_specification_new(); + e_table_specification_load_from_string(spec, SPEC); + + factory = gal_view_factory_etable_new(spec); + gal_view_collection_add_factory(collection, factory); + gtk_object_sink(GTK_OBJECT(factory)); + +#if 0 + factory = e_minicard_view_factory_new(); + gal_view_collection_add_factory(collection, factory); + gtk_object_sink(GTK_OBJECT(factory)); +#endif + + views = gal_view_menus_new(collection); + gal_view_menus_apply(views, uic, NULL); + gtk_object_sink(GTK_OBJECT(views)); + + gtk_object_sink(GTK_OBJECT(collection)); +} + +void e_addressbook_view_print(EAddressbookView *view) { if (view->view_type == E_ADDRESSBOOK_VIEW_MINICARD) { diff --git a/addressbook/gui/widgets/e-addressbook-view.h b/addressbook/gui/widgets/e-addressbook-view.h index 60da283a75..28c70798fc 100644 --- a/addressbook/gui/widgets/e-addressbook-view.h +++ b/addressbook/gui/widgets/e-addressbook-view.h @@ -22,6 +22,7 @@ #define __E_ADDRESSBOOK_VIEW_H__ #include <gnome.h> +#include <bonobo.h> #include "addressbook/backend/ebook/e-book.h" #ifdef __cplusplus @@ -77,10 +78,13 @@ struct _EAddressbookViewClass GtkWidget *e_addressbook_view_new (void); GtkType e_addressbook_view_get_type (void); -void e_addressbook_view_print (EAddressbookView *view); -void e_addressbook_view_delete_selection (EAddressbookView *view); -void e_addressbook_view_show_all (EAddressbookView *view); -void e_addressbook_view_stop (EAddressbookView *view); +void e_addressbook_view_setup_menus (EAddressbookView *view, + BonoboUIComponent *uic); + +void e_addressbook_view_print (EAddressbookView *view); +void e_addressbook_view_delete_selection (EAddressbookView *view); +void e_addressbook_view_show_all (EAddressbookView *view); +void e_addressbook_view_stop (EAddressbookView *view); #ifdef __cplusplus } |