The contact and contact-list editors now demonstrate this part of the
shutdown protocol. They listen for the "quit-requested" signal from the
shell and prompt to save changes, discard changes or cancel. If the user
cancels, the editor calls e_shell_cancel_quit() to do just that.
Split the GTypeModule loader out of EShellModule as EModule, and rename
EShellModule to EShellBackend. Backends (formerly modules) should now
subclass EShellBackend.
This commit converts EShell but breaks all the shell backends.
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-08-18 Matthew Barnes <mbarnes@redhat.com>
** Fixes bug #508732
* shell/e-shell.c:
Add a "crash_recovery" flag, with accessor functions for it.
* shell/e-shell-window (init_view):
Check and reset the "crash_recovery" flag before creating a
new shell view. The components can use this flag to take
steps to recover from the previous crash.
* shell/apps_evolution_shell.schemas.in:
Remove the "skip_recovery_dialog" and "recovery" keys.
* shell/Evolution-Component.idl (createView):
Add a "select_item" boolean parameter.
* shell/main.c:
Kill the crash recovery dialog. Instead just set the crash
recovery flag in e-shell appropriately.
* mail/mail-component.c (impl_createView):
Add a "select_item" argument for crash recovery, which we forward
to EMFolderBrowser as a "suppress_message_selection" flag.
* mail/em-folder-browser.c (emfb_set_folder):
Suppress automatic message selection if we are recovering from a
crash.
* addressbook/gui/component/addressbook-component.c (impl_createView):
* calendar/gui/calendar-component.c (impl_createView):
* calendar/gui/memos-component.c (impl_createView):
* calendar/gui/tasks-component.c (impl_createView):
Add a "select_item" argument for crash recovery, which these
components do not use.
* help/C/evolution.xml:
Remove the bit about crash recovery.
svn path=/trunk/; revision=36009
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