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.
Consolidate all marshalling specifications to e-util/e-marshal.list.
This reduces code duplication and makes it slightly easier to locate
unused marshallers.
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
- 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
Realized the "New" menu construction algorithm needs to live independently of
shell view instances since we lazy load the shell views but have to display
all possible "New" items immediately.
Prototype the mechanisms for managing the various shell views and keeping
track of which one is current.
Various other tightening up and rethinking of APIs.
svn path=/branches/kill-bonobo/; revision=36022
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-06-06 Matthew Barnes <mbarnes@redhat.com>
** Allow evolution to build with G_DISABLE_SINGLE_INCLUDES and
GTK_DISABLE_SINGLE_INCLUDES defined. (#536637)
svn path=/trunk/; revision=35606