Use EBindings instead of a notify callback to keep other widgets and
actions synchronized with EShell:online. Cleaner and less error prone.
svn path=/branches/kill-bonobo/; revision=37293
Make EShell a subclass of UniqueApp and handle single-instance negotiation.
When another Evolution process is running:
- Running "evolution" will simply present the existing windows.
- Running "evolution -c <view>" will open a shell window set to <view>.
- Running "evolution <uri>" will open an appropriate window for <uri>.
The second process will then terminate immediately.
svn path=/branches/kill-bonobo/; revision=37147
- Implement offline preparation as an EActivity that gets broadcast in
a signal to shell modules. Offline preparations are complete when the
last EActivity reference is dropped.
- Bind some of the composer preferences to EShellSettings properties.
svn path=/branches/kill-bonobo/; revision=36875
- Tighter integration of GalViewInstance and EShellView.
- EBinding. Stolen from ExoBinding. Lets you bind GObject properties
together to automatically keep their values in sync. This is a godsend.
Added to e-util, but might even deserve a place in libedataserver.
- EShellSettings. This is the concept I blogged about. Already
started ripping apart em-mailer-prefs.c. Others to follow. Any
place where we're monitoring GConf keys is a target.
- Incremental progress on the calender and mailer. Got EMFolderView
somewhat working, but I think I'll be killing off EMFolderBrowser.
svn path=/branches/kill-bonobo/; revision=36795
dependencies in our libraries. The circular dependency between the composer
and the mail module is still causing me headaches. And it doesn't help that
the addressbook and calendar also want to link to the composer.
svn path=/branches/kill-bonobo/; revision=36782
- Further refinements of the shell API.
- Kill ESMenu and EUserCreatableItemsHandler.
- Start ripping apart the addressbook component.
svn path=/branches/kill-bonobo/; revision=36093
- Get the "New" button and menu working.
- Add a GtkMenuToolButton subclass called EMenuToolButton, which does
some behind-the-scenes stuff to make the "New" button work properly.
- Kill EComboButton and its associated a11y widget.
svn path=/branches/kill-bonobo/; revision=36045
- Discard libnm-glib method of monitoring network connectivity.
- Decided to make EShell a singleton GObject after all. Makes the
design cleaner, despite having to pass a singleton instance around.
- Make the switcher button style persistent.
svn path=/branches/kill-bonobo/; revision=36043
2008-05-22 Matthew Barnes <mbarnes@redhat.com>
** Fixes bug #534360
Migrate from deprecated GtkObject symbols to GObject equivalents.
Touches over 150 files in all components; too many to list.
svn path=/trunk/; revision=35526
2008-01-03 Milan Crha <mcrha@redhat.com>
** Fix for bug #219197
* e-shell.h:
* e-shell.c: (e_shell_can_quit), (e_shell_do_quit), (e_shell_quit):
Call of e_shell_quit divided into two functions, one to check if quit
is acceptable by all components and second to do quit.
* main.c: (gnome_master_client_save_yourself_cb),
(gnome_master_client_die_cb), (main):
Quit application when session dies.
svn path=/trunk/; revision=34754
2005-12-22 Shreyas Srinivasan <sshreyas@novell.com>
* Evolution is now Network Aware, the day of complete
awareness beckons, The machines are taking over...
* Network Manager support for evolution
svn path=/trunk/; revision=30926
2005-08-17 Not Zed <NotZed@Ximian.com>
* e-shell.c (impl_Shell_handleURI): fix warning.
(impl_Shell_findComponent): fix signature for warning.
2005-08-16 Not Zed <NotZed@Ximian.com>
** See bug #312668.
* e-shell.c (set_line_status, set_line_status_complete)
(set_line_status_finished): new code to set componetns on/offline.
(e_shell_go_online, e_shell_go_offline): use new interface.
(offline_procedure_started_cb, offline_procedure_finished_cb): removed.
(impl_dispose): cleanup line status listener.
(e_shell_init): setup line status listener.
* evolution-listener.[ch]: skeleton listener object for new
setlinestatus call.
* Evolution-Offline.idl, e-shell-offline-handler.[ch]: killed. We
just add a single interface on EvolutionComponent now, much
simpler.
svn path=/trunk/; revision=30154
* apps_evolution_shell.schemas.in.in: added last_version item.
* shell-errors.xml: added upgrade-remove-1-4 and
upgrade-remove-1-4-confirm dialogues.
* e-shell.c (remove_dir): utility to recursively delete a tree of
files and folders.
(e_shell_attempt_upgrade): keep track of the last upgraded
version, if != current version, and < 1.5, and it exists, offer to
remove ~/evolution. Confirm the offer before actually doing it.
* e-shell-window-commands.c: include gnome-about.
(command_help_faq): fix comment structure
* e-shell.c (attempt_upgrade): moved most of this into
e_shell_attempt_upgrade.
(e_shell_attempt_upgrade): moved most of this into
attempt_upgrade, removed rev args. It makes sense, really!
(e_shell_construct): call e_shell_attempt_upgrade instead.
svn path=/trunk/; revision=26788
* e-user-creatable-items-handler.c: Change this a lot. Now each
component will maintain its own EUserCreatableItemsHandler and
merge the button and menus in and out of the UI as its controls
are activated and deactivated. (This lets the connector component
display the correct default for the New button). Also, update to
the Product Design Team's new organization (separating object
types from folder types)
* e-shell.c: Remove all creatable_items_handler references
* e-shell-window.c (e_shell_window_new): Remove
creatable_items_handler reference
* Makefile.am: Move e-user-creatable-items-handler from evolution
to libeshell, and make libeshell depend on libemiscwidgets (for
the combo button)
* Evolution-Component.idl: add another field to CreatableItemType
so we can distinguish object types from folder types.
svn path=/trunk/; revision=25379
2004-02-04 Not Zed <NotZed@Ximian.com>
** See bug #53683.
* Evolution-Component.idl: added EvolutionComponent::quit() call.
* main.c (quit_box_new): removed, dont show quit box anymore at
the end, we've already shutdown by now with the new shutdown
sequence.
* e-shell-window-commands.c (command_quit): call e_shell_quit to
quit.
* e-shell.c (e_shell_prepare_for_quit): renamed es_run_quit, now
internal, and a gtktimeout function, so return code inverted.
(e_shell_quit): new public entry, find out if we can shutdown, if
so, then trigger a shutdown.
(e_shell_request_close_window): just call e_shell_quit to exit
when we've run out of windows.
(e_shell_quit): desensitise all of the app windows before running
shutdown. looks a bit weird, but not doing so looks worse.
svn path=/trunk/; revision=24609
2004-01-13 JP Rosevear <jpr@ximian.com>
* main.c (attempt_upgrade): detect the version more completely
with the new util routine
(main): don't upgrade the config db here
* e-shell.h: update proto
* e-shell.c (e_shell_attempt_upgrade): take the current version as
numerical params
* e-config-upgrade.h: update prototypes
* e-config-upgrade.c (e_config_upgrade): remove version detection
and saving code
(e_upgrade_detect_version): routine to do the version detection
* e-config-upgrade.c: drop my-evolution upgrade code
svn path=/trunk/; revision=24205
2003-12-01 Rodney Dawes <dobey@ximian.com>
* Use BASE_VERSION for repo_ids and OAFIIDs
* Update killev to kill the correct versions of gnome-spell and the
GtkHTML Editor
svn path=/trunk/; revision=23543
* main.c (attempt_upgrade): New helper function.
(idle_cb): Call it if we have a local shell. Also, remove unused
variables.
* e-shell.c (e_shell_attempt_upgrade): New.
* Evolution-Component.idl (Component.upgradeFromeVersion): New.
svn path=/trunk/; revision=23403
* main.c: Added a new "-c" command-line arg.
(idle_cb): If the arg is specified, open the component with that
id/alias.
* e-shell.c (impl_Shell_createNewView): New, implementation for
the Shell::createNewView() CORBA method.
(e_shell_class_init): Install.
(e_shell_create_window): Get a component_id arg.
* e-shell-window.c (e_shell_window_new): Get a component_id arg
and create the window with that component activated if not NULL.
* Evolution-Shell.idl (createNewView): Remove.
(createNewWindow): New.
svn path=/trunk/; revision=23274
* GNOME_Evolution_Shell.server.in.in: Append a _2 to all the IIDs.
* e-shell.h (E_SHELL_OAFIID): Change to "GNOME_Evolution_Shell_2"
so it does not conflict with the old IID.
svn path=/trunk/; revision=22987
* Evolution-ShellComponent.idl (interactive): add a "new_view_xid"
arg, so the component has a window id to make use of as a parent
if it needs to pop up a dialog.
* e-shell.c (set_interactive): Pass the new_view_xid when going
interactive.
(e_shell_set_interactive): Remove this since it wasn't being used,
and couldn't be used for anything except lying to the components.
* evolution-shell-component.c
(evolution_shell_component_class_init): Update "interactive"
signal definition
(impl_interactive): Update prototype and signal emission
* e-shell-marshal.list (NONE:BOOL,INT): add
svn path=/trunk/; revision=20493
* main.c (upgrade_from_1_0_if_needed): Disabled for now.
* e-shell-startup-wizard.c: Removed member config_listener from
struct SWData.
(e_shell_startup_wizard_create): Updated accordingly, just use
GConf, checking the /apps/evolution/mail/account-list key.
(finish_func): Use GConf.
* e-shell-config-default-folders.c: Removed member config_listener
in struct EvolutionDefaultFolderConfig.
(e_shell_config_default_folders_create_widget): Do not initialize
here. GConfified the paths.
(config_control_destroy_notify): No unref of the config_listener
anymore.
(config_control_apply_cb): Use GConf.
(setup_folder_selector): Likewise.
* e-shell-config-autocompletion.c: Removed member config_listener
from EvolutionAutocompletionConfig.
(config_control_destroy_notify): Do not unref.
(config_control_apply_callback): Use a GConfClient.
* e-folder-list.c (e_folder_list_init): Add missing cast.
* main.c (show_development_warning): Use GConf.
* e-setup.c (e_setup_check_config): Removed arg @listener.
GConfified.
* e-shell-view.c (e_shell_view_save_defaults): New.
(e_shell_view_save_settings): Removed.
(e_shell_view_load_settings): Removed.
(setup_defaults): New helper function.
(e_shell_view_construct): New arg @uri.
(e_shell_view_new): New arg @uri.
* e-shell.c: Removed member config_listener in struct
EShellPrivate.
(impl_dispose): Do not unref.
(init): Do not initialize.
(get_config_start_offline): New helper function.
(e_shell_construct): Use this to get the startup mode in case
E_SHELL_STARTUP_LINE_MODE_CONFIG.
(save_misc_settings): Changed to use GConfClient instead of
EConfigListener.
(e_shell_create_view_from_settings): Removed.
(e_shell_restore_from_settings): Removed.
(e_shell_get_config_listener): Removed.
(e_shell_disconnect_db): Removed.
(parse_default_uri): Use GConf.
* main.c (idle_cb): Simplified the logic here. Always assume that
the view will be created with the default folder open by just
using e_shell_create_view().
svn path=/trunk/; revision=18844
* GNOME_Evolution_Shell.server.in: Renamed from
GNOME_Evolution_Shell.oaf.in.
* Makefile.am: Port from OAF to bonobo-activation.
(INCLUDES): Define SYSCONFDIR, DATADIR, LIBDIR.
* main.c (main): Use gnome_program_init().
* e-corba-storage-registry.c (e_corba_storage_registry_new):
g_object_new(), not gtk_type_new().
(impl_finalize): New, ported over from destroy.
(destroy): Removed.
(class_init): Install finalize handler, not destroy handler, since
we are not a GtkObject anymore.
* e-corba-storage.c (e_corba_storage_new): g_object_new(), not
gtk_type_new().
* e-shell.c (class_init): Override finalize, not destroy.
(impl_finalize): Finalize implementation, basically the old
destroy renamed.
(e_shell_new): g_object_new(), not gtk_type_new().
(class_init): Use e_shell_marshal_NONE__INT for
line_status_changed instead of using an ENUM.
(e_shell_construct): Use g_signal_connect_object() instead of
gtk_signal_connect_while_alive().
* e-setup.c (e_setup): Do not unref local_folder if NULL.
* e-folder.c (init): Make not floating.
(e_folder_construct): No need to make it floating here anymore.
* e-shell.c (impl_Shell_selectUserFolder): For now don't set
dialog parent from xid.
* main.c (no_views_left_cb): Add missing GTK_SIGNAL_FUNC() cast.
(new_view_created_callback): Likewise.
(warning_dialog_clicked_callback): Update to use the
EConfigListener from the shell instead of bonobo-conf.
(show_development_warning): Likewise.
(upgrade_from_1_0_if_needed): BONOBO_EX_ID -> BONOBO_EX_REPOID.
(idle_cb): Use bonobo-activation and BONOBO_EX_REPOID().
(main): Cleaned up the various things that are unneeded in GNOME
2.
(upgrade_from_1_0_if_needed): Use EConfigListener.
* evolution-storage-set-view.h, evolution-storage-set-view.c:
BonoboXObjectified.
* e-storage.c (class_init): GLIB2-ified and made to use
e-shell-marshal.h.
(ES_CLASS): Use GTK_OBJECT_GET_CLASS().
(e_storage_new_folder): Added missing GTK_SIGNAL_FUNC() prototype.
* e-storage-set.c (class_init): GLIB2-ified and made to use
e-shell-marshal.h.
* e-storage-set-view.c (popup_folder_menu): For now, do not add
the pop-up since we lack bonobo_ui_container_get_win() and I am
not sure how to work around it.
(popup_folder_menu): Pass self as the for_widget arg to
gnome_popup_menu_do_popup_modal().
(class_init): GLIB2-ified, and got to use e-shell-marshal.h.
(marshal_NONE__GDKDRAGCONTEXT_STRING_STRING_STRING): Removed.
(impl_tree_drag_data_get): Don't set the selection for now -- we
have to fix the CORBA target stuff to match GTK 2.
(e_storage_set_view_construct): Pass NULL as the opt_ev arg to
bonobo_ui_component_set_container().
* e-splash.c: #include <libgnomecanvas/gnome-canvas-pixbuf.h>
instead of <gdk-pixbuf/gnome-canvas-pixbuf.h>.
(e_splash_new): Pass NULL as the error arg to
gdk_pixbuf_new_from_file().
* e-shortcuts.c (class_init): GLIB2-ified. Also use the
e-shell-marshal marshallers.
(e_shortcuts_new_view): Add missing GTK_SIGNAL_FUNC() cast.
* e-shortcuts-view.c: Use GTK_STOCK_* stuff instead of
GNOME_STOCK_* stuff.
(pop_up_right_click_menu_for_group): Pass self as the for_widget
arg to gnome_popup_menu_do_popup_modal().
(pop_up_right_click_menu_for_shortcut): Likewise.
(class_init): GLIB2-ified.
* e-shell.c: Do not #include <gal/util/e-unicode-i18n.h> or
#include <libgnome/gnome-defs.h>.
(set_interactive): Use BONOBO_EX_REPOID().
(setup_local_storage): Use _() not U_().
(destroy): Use gtk_widget_destroy() instead of
gtk_object_destroy() on priv->settings_dialog.
(class_init): GLIB2-ized.
(init): Initialize config_listener member.
(get_icon_path_for_component_info): Port to bonobo-activation from
OAF.
(setup_components): Likewise.
(destroy): Likewise.
(e_shell_construct): Use e_setup_check_config(), not
e_setup_check_db (). Use the e_config_listener instead of
bonobo-conf.
(save_settings_for_views): Likewise.
(save_misc_settings): Likewise.
(e_shell_restore_from_settings): Likewise.
(parse_default_uri): Likewise.
(e_shell_component_maybe_crashed): Pass NULL for opt_ev arg to
bonobo_unkown_ping()
(e_shell_component_maybe_crashed): Use
bonobo_engine_deregister_dead_components() instead of
bonobo_window_deregister_component_by_ref() which is no more.
(e_shell_send_receive): BONOBO_EX_REPOID() instead of
BONOBO_EX_ID().
(e_shell_get_config_listener): Return the config_listener.
* e-shell-view.c (find_inbox_in_storage): Use _() instead of U_().
(load_images): Pass NULL as the error arg to
gdk_pixbuf_new_from_file().
(load_images): Likewise.
(find_inbox_in_storage): Work around the lack of
g_utf8_strcasecmp() in glib-2.0.
(class_init): GLIB2-ified. Also, use the marshallers in
e-shell-marshal.h.
(pop_up_folder_bar): Use gtk_window_move()/gtk_widget_show()
instead gtk_widget_popup().
(unmerge_on_error): Work around the death of
bonobo_ui_component_get_win() and
bonobo_window_deregister_component_by_ref().
(e_shell_view_construct): Pass NULL as the uic arg to
bonobo_window_construct(). Add missing GTK_SIGNAL_FUNC() cast.
Match the new BonoboWindow behavior wrt the UIContainer and the
new opt_ev args.
(display_uri): Use bonobo_ui_engine_freeze() and
bonobo_ui_engine_thaw() since bonobo_window_freeze() and
bonobo_window_thaw() got axed [sigh].
(e_shell_view_save_settings): Use EConfigListener.
(e_shell_view_load_settings): Likewise.
(get_view_for_uri): Use bonobo_widget_new_control_from_objref()
instead of e_bonobo_widget_new_control_from_objref().
* e-shell-view-menu.c (command_help_faq): Pass NULL for the error
arg to gnome_url_show().
(command_about_box): Use GtkDialog instead of a GtkWindow of a
type GTK_WINDOW_DIALOG [which does not exist anymore].
(command_xml_dump): Removed.
(menu_do_misc): Do not add the corresponding verb.
* e-shell-user-creatable-items-handler.c (execute_verb): Use
BONOBO_EX_REPOID().
* e-shell-startup-wizard.c: Remove id member from SWData. Replace
member db with config_listener.
(e_shell_startup_wizard_create): Initialize config_listener.
(make_mail_dialog_pages): Do not set the listener id here.
(druid_event_notify_cb): Pass FALSE as the help_sensitive arg to
gnome_druid_set_buttons_sensitive().
(e_shell_startup_wizard_create): Likewise.
(make_mail_dialog_pages): Use bonobo-activation instead of OAF.
(get_intelligent_importers): Likewise.
(prepare_importer_page): Likewise.
(start_importers): Do nothing here for now.
(finish_func): Constify local variable displayname.
(finish_func): Updated to use the config_listener instead of the
bono-conf db.
(prepare_importer_page): Do not actually run the importer yet.
(e_shell_startup_wizard_create): Pass NULL as the domain arg to
glade_xml_new(). Use the config_listener.
* e-shell-shared-folder-picker-dialog.c (user_clicked):
BONOBO_EX_REPOID() instead of BONOBO_EX_ID().
(setup_name_selector): Likewise.
(setup_name_selector): Use bonobo-activation.
(show_dialog): Pass NULL as the domain arg to glade_xml_new().
(setup_name_selector): Add a missing GTK_SIGNAL_FUNC() cast.
* e-shell-settings-dialog.c: #include
<bonobo-activation/bonobo-activation.h>. Use
Bonobo_ActivationProperty instead of OAF_Property.
(set_dialog_size): Use gtk_style_get_font() to get the font from
the widget->style.
(load_pages): Converted to use bonobo-activation instead of OAF.
Pass NULL as the error arg to gdk_pixbuf_new_from_file().
* e-shell-offline-sync.c (sync_folder): BONOBO_EX_REPOID(), not
BONOBO_EX_ID().
(e_shell_offline_sync_all_folders): For now, avoid doing anything
[see changes to e-shell-config-offline.c below].
(setup_progress_listener): #if 0 for now.
(setup_dialog): Likewise.
(sync_folder): Likewise.
(cleanup): Likewise.
(progress_listener_servant_free): Likewise.
(progress_listener_servant_new): Likewise.
(impl_SyncFolderProgressListener_updateProgress): Likewise.
(impl_SyncFolderProgressListener_reportSuccess): Likewise.
(impl_SyncFolderProgressListener_reportFailure): Likewise.
(progress_dialog_close_callback): Likewise.
(progress_dialog_clicked_callback): Likewise.
* e-shell-offline-handler.c (prepare_for_offline): Use
BONOBO_EX_REPOID().
(pop_up_confirmation_dialog): Pass NULL as the domain arg to
glade_xml_new().
(class_init): GLIB2-ified.
* Makefile.am: Do not compile e-shell-importer.c,
e-shell-importer.h for now.
* e-shell-folder-title-bar.c (get_max_clipped_label_width): Use
gtk_style_get_font() to retrieve the font.
(class_init): GLIB2-ified.
(e_shell_folder_title_bar_construct): Get {x,y}thickness from
widget->style, not from widget->style->klass.
* e-shell-folder-selection-dialog.c: #include <string.h>,
<gtk/gtklabel.h> and <gtk/gtksignal.h>.
(class_init): GLIB2-ified.
* e-shell-folder-creation-dialog.c: No <libgnome/gnome-defs.h>,
add some GTK includes.
(e_shell_show_folder_creation_dialog): Pass NULL as the domain arg
to glade_xml_new(). Added missing GTK_SIGNAL_FUNC() cast.
* e-shell-folder-commands.c: Do not #include
<libgnomeui/gnome-stock.h> and #include
<bonobo-conf/Bonobo_Config.h>.
* e-shell-config-default-folders.c: Replace member db in
EvolutionDefaultFolderConfig with config_listener.
(e_shell_config_default_folders_create_widget): Init here.
(config_control_destroy_cb): Unref here.
(config_control_apply_cb): Use EConfigListener instead of
BonoboConf.
(setup_folder_selector): Likewise.
(e_shell_config_default_folders_create_widget): Pass NULL as the
domain arg to glade_xml_new().
* e-shell-config-offline.c (config_control_apply_callback): For
now, do not change the configuration. [Needs to be ported to
EConfigListener or something, but we were storing a sequence using
typecodes here and there is no trivial way to do that right now.]
(init_storage_set_view_status_from_config): Likewise, do not
retrieve the configuration here.
svn path=/trunk/; revision=18510
* e-shell-view-menu.c (command_close): Use
e_shell_request_close_view().
* e-shell.c (e_shell_request_close_view): New, code moved out of
view_delete_event_cb().
(view_delete_event_cb): Use it.
svn path=/trunk/; revision=18183