aboutsummaryrefslogtreecommitdiffstats
path: root/shell/e-shell-backend.c
Commit message (Collapse)AuthorAgeFilesLines
* Add e_activity_get_last_known_text().Matthew Barnes2013-07-061-0/+6
| | | | | | | | | | | | | | | | | | | | | | | Evolution is still occasionally getting stuck on shutdown, and although the evolution-shell log domain shows debug messages for activities that are preventing shutdown, they frequently look like this: (evolution:13534): evolution-shell-DEBUG: 5 active 'mail' activities: (evolution:13534): evolution-shell-DEBUG: * (no description) (evolution:13534): evolution-shell-DEBUG: * (no description) (evolution:13534): evolution-shell-DEBUG: * (no description) (evolution:13534): evolution-shell-DEBUG: * (no description) (evolution:13534): evolution-shell-DEBUG: * (no description) I think the lack of descriptions is from CamelOperations popping all their pushed messages, which is correct behavior but doesn't help us debug the problem. e_activity_get_last_known_text() returns the most recent _non-empty_ text value set on the EActivity. So our debug message can fall back to that if the EActivity has no description at shutdown: (evolution:13534): evolution-shell-DEBUG: * (was "blah, blah, blah")
* EShell-related cleanups.Matthew Barnes2013-07-061-2/+4
|
* Reimplement the main toolbar's "prefer-item" feature.Matthew Barnes2013-06-111-5/+1
| | | | | | | | | | | | | | | | This fixes a bug in the old implementation where the application could crash after a second shell window was created and destroyed, because a signal handler with the destroyed shell window as the closure was left connected. But moreover this simplifies the implementation by using a property binding plus transform function instead of juggling signal handlers, and also adds code comments where things get a little tricky. Removed (now unused) functions: e_shell_window_get_toolbar_new_prefer_item e_shell_window_set_toolbar_new_prefer_item
* Add e_activity_cancel().Matthew Barnes2013-04-251-8/+2
| | | | Convenience function cancels the activity's GCancellable.
* EShellBackend: Log outstanding activities during shutdown.Matthew Barnes2013-04-191-0/+38
| | | | | | | Log debug messages for outstanding activities during shutdown to help investigate stuck shutdown issues. Enable this feature with: G_MESSAGES_DEBUG=evolution-shell
* EShellBackend: Rework shutdown delay.Matthew Barnes2013-04-191-11/+24
| | | | | | | Use g_signal_connect_data() to automatically release the EActivity when the signal handler is disconnected, and keep the handler ID internally. This is cleaner than using g_signal_handlers_disconnect_by_func().
* libeshell documentation cleanups.Matthew Barnes2012-12-141-2/+3
|
* Consolidate base utility libraries into libeutil.Matthew Barnes2012-12-131-18/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Evolution consists of entirely too many small utility libraries, which increases linking and loading time, places a burden on higher layers of the application (e.g. modules) which has to remember to link to all the small in-tree utility libraries, and makes it difficult to generate API documentation for these utility libraries in one Gtk-Doc module. Merge the following utility libraries under the umbrella of libeutil, and enforce a single-include policy on libeutil so we can reorganize the files as desired without disrupting its pseudo-public API. libemail-utils/libemail-utils.la libevolution-utils/libevolution-utils.la filter/libfilter.la widgets/e-timezone-dialog/libetimezonedialog.la widgets/menus/libmenus.la widgets/misc/libemiscwidgets.la widgets/table/libetable.la widgets/text/libetext.la This also merges libedataserverui from the Evolution-Data-Server module, since Evolution is its only consumer nowadays, and I'd like to make some improvements to those APIs without concern for backward-compatibility. And finally, start a Gtk-Doc module for libeutil. It's going to be a project just getting all the symbols _listed_ much less _documented_. But the skeletal structure is in place and I'm off to a good start.
* Coding style and whitespace cleanup.Matthew Barnes2012-02-201-1/+1
|
* Bug #320976 - Remember last New button choice in Calendar viewMilan Crha2012-02-171-1/+92
|
* EShellBackend: Remove unused enum value.Matthew Barnes2011-12-161-1/+0
|
* Miscellaneous cleanups.Matthew Barnes2011-11-231-4/+7
|
* Bug #646109 - Fix use of include <config.h> to make sure translations workMilan Crha2011-06-301-0/+4
|
* Coding style and whitespace cleanup.Matthew Barnes2011-06-301-1/+2
|
* Do not flush Outbox when mail shell backend not startedMilan Crha2011-06-301-0/+15
|
* Bug #614480 - Avoid using G_TYPE_INSTANCE_GET_PRIVATE repeatedlyMilan Crha2011-06-301-7/+3
|
* Simplify EActivity.Matthew Barnes2010-10-231-6/+15
| | | | | | | | | | | | | | | | | | | | | | With unintrusive error dialogs gone, we can cut some unnecessary bits out of EActivity. I'm also adding a new enum property called "state", which is one of: E_ACTIVITY_RUNNING E_ACTIVITY_WAITING E_ACTIVITY_CANCELLED E_ACTIVITY_COMPLETED The state of an activity must be explicitly changed. In particular, when the user cancels an activity the state should be set only after confirming the operation has been cancelled and not when cancellation is requested (e.g. after receiving a G_IO_ERROR_CANCELLED, not when the GCancellable emits "cancelled"). EActivityBar and EActivityProxy widgets have been updated to make this distinction clearer in the UI. E_ACTIVITY_WAITING will be used when activities have to be queued and dispatched in sequence, which I haven't written yet.
* EShellBackend: Respond to EShell::prepare-for-quit signals.Matthew Barnes2010-10-141-8/+147
| | | | | | | | | | | | Listen for "prepare-for-quit" signals from the shell and inhibit shutdown until all the activities we're tracking are finalized. Also, add a couple supporting functions: gboolean e_shell_backend_is_busy (EShellBackend *shell_backend); void e_shell_backend_cancel_all (EShellBackend *shell_backend); These will eventually replace mail_msg_active() and mail_cancel_all().
* Bug #630390 - Operation stuck: Generating message list (cancelled)Milan Crha2010-10-061-0/+4
|
* EShellBackend: Start tracking activitiesMatthew Barnes2010-09-301-0/+25
| | | | | | | | | EShellBackend now keeps an internal queue of live EActivity objects passed to it via e_shell_backend_add_activity(). This will eventually replace "mail_msg_active_table" in mail-mt.c and be used to coordinate shutdown for all shell backends. But first I have to eliminate mail_msg_wait().
* Migrate ~/.evolution to XDG base directories.Matthew Barnes2010-07-271-20/+19
| | | | | Migration runs just before the main loop starts. It's just a sequence of local directory and file renames.
* Demonstrate extending the EExtension API.Matthew Barnes2010-03-221-113/+35
| | | | | | | | | | | | | | | Introduce e_extensible_list_extensions(), which provides extensible objects access to their own extensions, or a subset of them. Convert EShellBackend to an abstract EExtension subtype. EShell will load its extensions with e_extensible_load_extensions(), and then obtain a list of EShellBackend extensions as follows: shell_backends = e_extensible_list_extensions ( E_EXTENSIBLE (shell), E_TYPE_SHELL_BACKEND); Because EShellBackend is abstract, its GType is skipped while traversing the GType hierarchy to find EShell extensions.
* Move "section" documentation out of header files.Matthew Barnes2010-03-221-0/+6
|
* Bug 581604 - Permissions on mail/local folders are too openChenthill Palanisamy2010-01-301-1/+1
|
* EShellBackend cleanup.Matthew Barnes2010-01-191-48/+44
|
* Fix a small memory leak in EShellBackendJonathon Jongsma2009-12-191-0/+1
|
* Add get_data_dir(), get_config_dir() vfuncs to EShellBackendJonathon Jongsma2009-12-191-22/+63
| | | | | | | This allows modules to specify their own data dir in a flexible way without having them hard-coded to the backend class name. For example, the data dir for the mail backend should be specified by the mail session (eventually as an eds daemon) and the vfunc will allow the shell to query that in a generic way.
* Developer documentation improvements.Matthew Barnes2009-09-231-1/+1
|
* Implement the shutdown protocol and stub in session management.Matthew Barnes2009-07-111-61/+0
| | | | | The shutdown protocol is modelled after online/offline preparation. Session management code is copied from libegg. Not yet used.
* Fix similar weak pointer issues throughout.Matthew Barnes2009-06-201-0/+6
|
* Merge branch 'master' into kill-bonoboMatthew Barnes2009-05-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: a11y/widgets/ea-combo-button.c a11y/widgets/ea-combo-button.h addressbook/gui/component/addressbook-component.c addressbook/gui/component/addressbook-component.h addressbook/gui/component/addressbook-view.c addressbook/gui/component/addressbook-view.h addressbook/gui/component/component-factory.c addressbook/gui/widgets/e-addressbook-view.c addressbook/gui/widgets/eab-contact-display.c addressbook/gui/widgets/eab-gui-util.h addressbook/gui/widgets/eab-menu.c addressbook/gui/widgets/eab-menu.h addressbook/gui/widgets/eab-popup-control.c addressbook/gui/widgets/eab-popup-control.h addressbook/gui/widgets/eab-popup.c addressbook/gui/widgets/eab-popup.h calendar/gui/cal-search-bar.c calendar/gui/calendar-commands.c calendar/gui/calendar-component.c calendar/gui/comp-editor-factory.c calendar/gui/comp-editor-factory.h calendar/gui/control-factory.c calendar/gui/dialogs/comp-editor.c calendar/gui/e-cal-component-memo-preview.c calendar/gui/e-cal-component-memo-preview.h calendar/gui/e-calendar-table.c calendar/gui/e-memo-table.c calendar/gui/e-memos.c calendar/gui/e-tasks.c calendar/gui/gnome-cal.c calendar/gui/gnome-cal.h calendar/gui/itip-bonobo-control.c calendar/gui/itip-bonobo-control.h calendar/gui/main.c calendar/gui/memos-component.c calendar/gui/memos-control.c calendar/gui/memos-control.h calendar/gui/migration.c calendar/gui/migration.h calendar/gui/tasks-component.c calendar/gui/tasks-control.c calendar/importers/main.c composer/Makefile.am composer/e-composer-header-table.c composer/e-composer-header.c composer/e-composer-header.h composer/e-composer-name-header.c composer/e-composer-private.c composer/e-composer-text-header.c composer/e-msg-composer.c composer/e-msg-composer.h e-util/e-corba-utils.h e-util/e-logger.c e-util/e-logger.h e-util/e-util-labels.c e-util/e-util-labels.h em-format/em-format.c mail/Makefile.am mail/e-mail-shell-migrate.c mail/em-account-editor.c mail/em-account-editor.h mail/em-composer-prefs.c mail/em-composer-utils.c mail/em-composer-utils.h mail/em-folder-browser.c mail/em-folder-tree-model.c mail/em-folder-tree.c mail/em-folder-tree.h mail/em-folder-utils.c mail/em-folder-utils.h mail/em-folder-view.c mail/em-format-html-display.c mail/em-format-html.c mail/em-mailer-prefs.c mail/em-mailer-prefs.h mail/em-message-browser.c mail/em-message-browser.h mail/em-network-prefs.h mail/em-popup.c mail/em-utils.c mail/importers/Makefile.am mail/mail-component-factory.c mail/mail-component.c mail/mail-config-factory.c mail/mail-config-factory.h mail/mail-config.c mail/mail-dialogs.glade mail/mail-types.h plugins/calendar-weather/calendar-weather.c plugins/mail-account-disable/mail-account-disable.c plugins/select-one-source/select-one-source.c po/POTFILES.in shell/e-component-registry.c shell/e-component-registry.h shell/e-component-view.c shell/e-component-view.h shell/e-corba-config-page.c shell/e-corba-config-page.h shell/e-shell-constants.h shell/e-shell-settings-dialog.c shell/e-shell-settings-dialog.h shell/e-shell-window-commands.c shell/e-shell-window.c shell/e-shell.h shell/e-sidebar.c shell/e-sidebar.h shell/e-user-creatable-items-handler.c shell/e-user-creatable-items-handler.h shell/es-menu.c shell/es-menu.h shell/evolution-component.h shell/evolution-config-control.c shell/evolution-config-control.h shell/evolution-listener.c shell/evolution-listener.h shell/evolution-shell-component-utils.c shell/evolution-shell-component-utils.h shell/importer/evolution-importer-client.c shell/importer/evolution-importer-client.h shell/importer/evolution-importer-listener.c shell/importer/evolution-importer-listener.h shell/importer/evolution-importer.c shell/importer/evolution-importer.h shell/importer/evolution-intelligent-importer.c shell/importer/evolution-intelligent-importer.h shell/importer/intelligent.c shell/main.c shell/test/evolution-test-component.c shell/test/evolution-test-component.h widgets/menus/gal-view-instance.c widgets/menus/gal-view-menus.c widgets/menus/gal-view-menus.h widgets/misc/Makefile.am widgets/misc/e-activity-handler.c widgets/misc/e-activity-handler.h widgets/misc/e-charset-picker.c widgets/misc/e-combo-button.c widgets/misc/e-combo-button.h widgets/misc/e-config-page.h widgets/misc/e-dropdown-button.c widgets/misc/e-dropdown-button.h widgets/misc/e-filter-bar.c widgets/misc/e-info-label.c widgets/misc/e-info-label.h widgets/misc/e-multi-config-dialog.c widgets/misc/e-multi-config-dialog.h widgets/misc/e-search-bar.c widgets/misc/e-search-bar.h widgets/misc/e-task-bar.c widgets/misc/e-task-bar.h widgets/misc/e-task-widget.c widgets/misc/e-task-widget.h widgets/misc/test-dropdown-button.c widgets/misc/test-error.c widgets/misc/test-info-label.c widgets/table/e-table-example-1.c
* Fix bugs caused by EShellBackend changes.Matthew Barnes2009-05-101-5/+37
|
* Convert EShellModule to EShellBackendMatthew Barnes2009-05-071-0/+426
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.