* e-shell.c: New member `is_interactive' in `EShellPrivate'.
(init): Init to %FALSE.
(set_interactive): New.
(e_shell_create_view): Make interactive.
(view_destroy_cb): If no views are left, make non-interactive.
* evolution-shell-component.c (class_init): Set up the
"interactive" signal.
(impl_interactive): New implementation for the ::interactive
method.
(class_init): Install.
* evolution-shell-component.h: New signal `interactive'.
* Evolution-ShellComponent.idl: New method ::interactive.
svn path=/trunk/; revision=13890
* evolution-shell-component.c (impl_setOwner): If the owner is
dead, emit "owner_died" instead of "owner_unset".
(impl_owner_died): New, default implementation for "owner_died".
(class_init): Install it.
* evolution-shell-component.h: New signal "owner_died".
svn path=/trunk/; revision=13449
* e-shell.c (set_owner_on_components): If setting the owner fails,
print the a warning message out. Then restart the component.
* e-component-registry.c (component_free): Return a boolean value.
%FALSE if ::unsetOwner raises an exception.
(register_type): New arg @override_duplicate, to avoid complaining
if a component gets re-registered.
(register_component): Likewise.
(e_component_registry_restart_component): New.
* e-uri-schema-registry.c
(e_uri_schema_registry_set_handler_for_schema): Changed return
type to `void'. Just remove the old handler and set up the new
one.
* evolution-shell-component-client.c (corba_exception_to_result):
Translate ::OldOwnerHasDied into
EVOLUTION_SHELL_COMPONENT_OLDOWNERHASDIED.
* evolution-shell-component.h: New enum value
`EVOLUTION_SHELL_COMPONENT_OLDOWNERHASDIED'.
* evolution-shell-component.c (impl_setOwner): If the old owner is
not alive anymore [use CORBA_Object_non_existent() to figure this
out], emit OWNER_UNSET and raise `OldOwnerHasDied'.
(evolution_shell_component_result_to_string): New.
* Evolution-ShellComponent.idl: New exception `OldOwnerHasDied'.
(ShellComponent::setOwner): Can raise it.
* e-folder-type-registry.c
(e_folder_type_register_type_registered): New.
(e_folder_type_register_unregister_type): New.
svn path=/trunk/; revision=13446
* evolution-test-component.c: Added display_name and description
to the type.
* evolution-shell-component.c (impl__get_supported_types): Pass
`display_name' and `description' here.
(evolution_shell_component_construct): Likewise.
* evolution-shell-component.h: New members `display_name',
`description' in `EvolutionShellComponentFolderType'.
* e-component-registry.c (register_type): New args @description
and @display_name. Pass to
`e_folder_type_registry_register_type()'.
(register_component): Pass the values returned in the sequence
from __get_supported_types.
* e-folder-type-registry.c: New members `display_name' and
`description' in `struct _FolderType'.
(folder_type_new): New args @description and @display_name.
Initialize the respective fields in the `FolderType' accordingly.
(folder_type_free): Free `display_name' and `description'.
(register_folder_type): New args @display_name, @description.
(e_folder_type_registry_register_type): New args @display_name,
@description.
(e_folder_type_registry_get_description_for_type): New.
(e_folder_type_registry_get_display_name_for_type): New.
* Evolution-ShellComponent.idl: Added `display_name' and
`description' fields to the `FolderType' struct.
svn path=/trunk/; revision=12245
* evolution-test-component.c (user_create_new_item_callback):
Updated to display the parent folder's URI and its type as well.
* evolution-shell-component.c (impl_userCreateNewItem): Updated to
get the @parent_folder_physical_uri and the @parent_folder_type.
(class_init): Update the "user_create_new_item" signal to have
@parent_folder_physical_uri and @parent_folder_type args.
* e-shell-view.c (get_type_for_folder): Don't bork on a NULL
@physical_uri_return.
(e_shell_view_get_current_physical_uri): New.
(e_shell_view_get_current_folder_type): New.
* e-shell-user-creatable-items-handler.c
(e_shell_user_creatable_items_handler_setup_menus): Replace
@ui_component arg with a @shell_view arg. Set it on the
UIComponent using gtk_object_set_data().
(verb_fn): Pass the type and physical URI of the current folder;
retrieve that from the shell_view got with gtk_object_get_data().
* Evolution-ShellComponent.idl
(userCreateNewItem): New args @parent_folder_uri,
@parent_folder_type.
svn path=/trunk/; revision=11863
* e-shell-view.c (e_shell_view_construct): Add the menu items
using the EShellUserCreatableItemsHandler.
* e-shell-user-creatable-items-handler.c: New.
* e-shell-user-creatable-items-handler.h: New.
* e-shell.c: New member `user_creatable_items_handler' in
`EShellPrivate'.
(init): Initialize to NULL.
(destroy): Unref.
(e_shell_construct): Create here.
(e_shell_get_user_creatable_items_handler): New accessor.
(setup_components): Add the registered components to the
user_creatable_items_handler.
* evolution-test-component.c (factory_fn): Add a couple sample
user-creatable items.
(user_create_new_item_callback): New callback for the
"user_create_new_item" signal on the EvolutionShellComponent.
(factory_fn): Connect.
* e-shell.c (e_shell_get_component_registry): New.
* evolution-shell-component.c: New enum value
`USER_CREATE_NEW_ITEM'. New member `user_create_item_types' in
`_EvolutionShellComponentPrivate'.
(init): Init to NULL.
(impl_destroy): Free it.
(user_creatable_item_type_free): New helper function.
(user_creatable_item_type_new): New helper function.
(impl_userCreateNewItem): New, implementation for
::userCreateNewItem.
(class_init): Install the "user_create_new_item" signal and the
userCreateNewItem impl.
(impl__get_external_uri_schemas): Renamed from
`impl_ShellComponent__get_external_uri_schemas'.
(impl___get_supported_types): Renamed from
`impl_ShellComponent__get_supported_types'.
(impl__get_user_creatable_item_types): New, implementation for the
`user_creatable_item_types' attribute.
(class_init): Install it.
(evolution_shell_component_add_user_creatable_item): New.
* evolution-shell-component.h: Added signal
`user_create_new_item'.
* Evolution-ShellComponent.idl: Added typedefs
`UserCreatableItemType', `UserCreatableItemTypeList'. New
attribute `user_creatable_item_types'.
(userCreateNewItem): New.
svn path=/trunk/; revision=11849
the ShellComponent interface. Updated the EvolutionShellComponent
GTK+ wrapper and all the component accordingly. Get the calendar to
use this so it can delete both tasks and calendar folders.
svn path=/trunk/; revision=11300
`external_uri_schemas' attribute. Update the EvolutionShellComponent
GTK+ wrapper accordingly. Update all the components to pass a NULL
`external_uri_schemas' list when initializing themselves as
EvolutionShellComponents.
svn path=/trunk/; revision=10548
2001-05-23 Chris Toshok <toshok@ximian.com>
* evolution-shell-component.h
(EVOLUTION_SHELL_COMPONENT_POPUP_PLACEHOLDER): track change to the
path to the ComponentPlaceholder.
svn path=/trunk/; revision=9942
2001-05-11 Chris Toshok <toshok@ximian.com>
* evolution-shell-component.h
(EVOLUTION_SHELL_COMPONENT_POPUP_PLACEHOLDER): add this define for
the xml path to use when adding menu items to the folder popup.
* e-storage-set-view.c
(populate_folder_context_menu_with_common_items): add (#ifdef
DEBUG_XML) a menu item to dump the bonobo xml.
(popup_folder_menu): pass the BonoboUIContainer to the
populate_folder_context_menu CORBA call, instead of the component.
Also, reorder things a bit so the component doesn't get an error
when setting xml the first time.
svn path=/trunk/; revision=9777
* Evolution-ShellComponent.idl: add a "debug" method to tell a
component to output debugging messages to a given file.
* main.c (main): Add a "--debug filename" argument, to direct
debugging output for all components to a file. Redirect the
shell's stdout/stderr to that file if this argument is used.
* evolution-shell-component-client.c
(evolution_shell_component_client_set_owner): If debug_log is set,
call the component's debug method as well.
* evolution-shell-component.c (impl_ShellComponent_debug):
redirect stdout/stderr to the named file and emit a "debug"
signal.
svn path=/trunk/; revision=9046
2001-02-21 Michael Meeks <michael@ximian.com>
* importer/importer.c: add include.
(show_import_wizard): update signature to that of a verb.
* evolution-shell-component.c (corba_class_init): move into
(class_init): here & upd.
(evolution_shell_component_construct): upd.
(create_servant): kill.
(E_MAKE_TYPE) -> E_MAKE_X_TYPE.
svn path=/trunk/; revision=8359
2000-10-18 Michael Meeks <michael@helixcode.com>
* evolution-shell-component.c (impl_ShellComponent_populate_folder_context_menu):
update for new UI handler.
svn path=/trunk/; revision=6022
* Evolution-ShellComponent.idl: add "in string evolution_homedir"
to ShellComponent::set_owner's arguments.
* e-shell.c (e_shell_get_local_directory): Expose local_directory.
* e-component-registry.c (register_component): Pass the shell's
"local_directory" to the component as its evolution_homedir.
* evolution-shell-component.c (impl_ShellComponent_set_owner):
Update to include evolution_homedir.
(class_init): Update signal prototype.
* evolution-shell-component-client.c
(evolution_shell_component_client_set_owner): Update to include
evolution_homedir.
* e-init.c: Remove. This wasn't being used.
svn path=/trunk/; revision=4710
it really work though, the components should implement creation
functionality by passing an appropriate function pointer in
`e_shell_component_new()' for @create_folder_fn.
svn path=/trunk/; revision=3504
IDL methods and new functions to implement on the component side. I
have also added a simple folder creation dialog in the shell. It's
quite unfinished and untested.
svn path=/trunk/; revision=3491
components in ShellComponent. Implemented toggle menu items to
hide/show the shortcut bar and the folder bar (but they don't work,
apparently because of some BonoboUIHandler bogosity). Implemented a
CORBA method in Shell to allow a client to get the component that
handles a certain folder type.
svn path=/trunk/; revision=3303
implemented a BonoboObject for wrapping the Evolution::Storage CORBA
interface. Also fixed a few bugs.
This makes the shell's storage extensibility usable for Evolution
components.
svn path=/trunk/; revision=3219