Commit Graph

365 Commits

Author SHA1 Message Date
baea9882fc Move icon theme path setup from main() to EShell.
So Anjal picks it up.
2009-12-14 15:37:17 -05:00
40ff31b2af Bug 603592 - X11 window roles should be set 2009-12-03 11:31:21 -05:00
ba05eccc8d Revise the EShell ref-leak check to not upset Valgrind. 2009-12-02 16:50:53 -05:00
38a616e8b7 Add an EShell:module-directory constructor property.
This tells EShell where to look for EModules.  Best practice is to
define the directory in your CPPFLAGS and then pass it to EShell at
instantiation time, like so:

Makefile.am:

    evolution_CPPFLAGS = \
            -DMODULEDIR=\""$(moduledir)"\"
            ...

main.c:

    shell = g_object_new (
            E_TYPE_SHELL, "module-directory", MODULEDIR, ...);
2009-12-02 00:57:44 -05:00
04aac07030 Make EShell more subclassable.
Add method pointers to EShellClass for all the EShell signals.

Also rework my previous --quit corner case workaround: we'll want to do
the full shutdown procedure after all, since the backends have already
spun up.
2009-11-26 13:32:00 -05:00
de85b6fbec Handle a missed corner case with --quit.
If --quit is given and no other Evolution process is running, bypass our
usual shutdown procedure and terminate the main loop immediately.
2009-11-26 10:41:53 -05:00
aa3152a2ec Add a --quit command-line option.
This -asks- an existing Evolution process to quit.  It is equivalent to
selecting File->Quit in the main window.  It does not kill the process.

My plan is to use this as part of a new --force-shutdown implementation.
2009-11-26 10:28:31 -05:00
20efbd7c8b Add a --geometry command-line option.
Applies the user's window geometry string to the first main window.
Suggested in bug #529565.
2009-11-25 13:37:13 -05:00
13d07fdb63 Bug #588093 - Allow import of local files from command line 2009-11-12 12:32:06 +01:00
86ecfc5053 Convert some "Save As" actions to run asynchronously.
This introduces e-shell-utils for miscellaneous utility functions
that integrate with the shell or shell settings.  First function
is e_shell_run_save_dialog(), which automatically remembers the
selected folder in the file chooser dialog.

Also, kill some redundant save dialog functions, as well as some
write-this-string-to-disk functions that block.
2009-11-07 14:01:46 -05:00
c15a8e695a Clean up e_shell_get_active_window()
Clarify the documentation and simplify the logic.
2009-10-21 00:02:08 -04:00
e06b88c4fd Bug #594471 - Shouldn't call e_error_new/run with NULL 'parent' 2009-10-13 16:24:10 +02:00
fa9051e040 Finish killing Bonobo. 2009-09-08 14:53:45 -04:00
8f0093b0d8 Start migration -after- loading all modules and plugins. 2009-09-01 16:52:04 -04:00
06d9b59770 Fix for few compiler warnings 2009-08-31 11:47:12 +02:00
2b8c7c62aa Exit if no command-line URIs are handled. 2009-08-24 23:08:13 -04:00
672adf12a0 Fix compiler warnings and deprecated GTK+ API usage. 2009-08-16 11:42:26 -04:00
59c73e97a6 Update GConf when the online/offline button is clicked. 2009-08-13 13:24:44 -04:00
fac731e735 Simplify binding EShellSettings properties to GConf keys. 2009-07-31 14:02:14 -04:00
e5b7a6d28c Finish EggSMClient shell integration. 2009-07-15 16:40:04 -04:00
0d6061a4eb Add a "quit-requested" signal to the shutdown protocol.
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.
2009-07-12 16:00:54 -04:00
c4d1d29eaa Fix a problem with EShell initialization. 2009-07-12 08:59:41 -04:00
10eab23500 Implement the shutdown protocol and stub in session management.
The shutdown protocol is modelled after online/offline preparation.
Session management code is copied from libegg.  Not yet used.
2009-07-10 18:47:29 -04:00
8dc6bbd250 Get the "startup-wizard" plugin working again. 2009-06-30 10:47:59 -04:00
f4d748a85c Fix similar weak pointer issues throughout. 2009-06-19 18:43:29 -04:00
cc3a98fc1a Merge branch 'master' into kill-bonobo
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
2009-05-27 08:37:17 -04:00
e4afd3f9fb Remove trailing whitespace, again. 2009-05-26 23:21:02 -04:00
caa8621351 Convert EShellModule to EShellBackend
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.
2009-05-07 07:21:57 -04:00
e42f276527 Bug 577929 – Consolidate marshallers
Consolidate all marshalling specifications to e-util/e-marshal.list.
This reduces code duplication and makes it slightly easier to locate
unused marshallers.
2009-04-23 10:02:07 -04:00
582ec45a59 Make the selected attachment view and file chooser folder persistent.
svn path=/branches/kill-bonobo/; revision=37523
2009-04-14 19:03:37 +00:00
8a1f639a67 Saving progress again on the attachment rewrite.
svn path=/branches/kill-bonobo/; revision=37482
2009-03-30 03:38:36 +00:00
4cec9fc716 Saving progress on a massive attachment handling rewrite.
svn path=/branches/kill-bonobo/; revision=37465
2009-03-20 19:06:59 +00:00
567453082a Fix crash on exit.
svn path=/branches/kill-bonobo/; revision=37297
2009-02-19 16:30:25 +00:00
1a40acf554 Documentation tweaks.
Have e_shell_get_preferences_window() take an EShell argument.

svn path=/branches/kill-bonobo/; revision=37294
2009-02-19 06:22:32 +00:00
0110c94c6a Rename EShell:online-mode to EShell:online and update docs.
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
2009-02-19 05:52:33 +00:00
fd564be320 Clean up the EMFormat stack. Add some GObject properties to bind to.
Add some handy color conversion functions to e-util.

svn path=/branches/kill-bonobo/; revision=37290
2009-02-19 01:36:04 +00:00
70fce0bbb0 When invoking Evolution with URIs on the command-line (e.g. mailto:),
terminate after all the windows for those URIs have been closed.

svn path=/branches/kill-bonobo/; revision=37157
2009-01-28 22:28:57 +00:00
533d59e2cd Add unique-1.0 requirement (blessed external dependency).
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
2009-01-28 17:19:34 +00:00
4b140a897f Make action group management in shell windows more elegant.
svn path=/branches/kill-bonobo/; revision=37137
2009-01-27 05:22:57 +00:00
98d262b594 Add action groups to support lockdown, starting with printing.
Other categories to follow.  Editors still need lockdown support.

svn path=/branches/kill-bonobo/; revision=37136
2009-01-27 03:50:19 +00:00
7ed2b90bda Fix online mode initialization.
svn path=/branches/kill-bonobo/; revision=37070
2009-01-14 12:45:10 +00:00
577f9fdffb Remove unneeded #include <libgnome/gnome-util.h>.
2009-01-10  Matthew Barnes  <mbarnes@redhat.com>

	* addressbook/gui/contact-editor/e-contact-editor-address.c:
	* addressbook/gui/contact-editor/e-contact-editor-fullname.c:
	* addressbook/gui/contact-editor/e-contact-editor-im.c:
	* addressbook/gui/widgets/e-addressbook-view.c:
	* addressbook/printing/e-contact-print.c:
	* calendar/gui/calendar-commands.c:
	* calendar/gui/e-cal-list-view.c:
	* calendar/gui/e-day-view.c:
	* calendar/gui/e-itip-control.c:
	* calendar/gui/e-meeting-list-view.c:
	* calendar/gui/e-meeting-store.c:
	* calendar/gui/e-week-view.c:
	* calendar/gui/gnome-cal.c:
	* calendar/gui/memos-control.c:
	* calendar/gui/tasks-control.c:
	* e-util/e-dialog-utils.c:
	* mail/em-folder-view.c:
	* mail/importers/mail-importer.c:
	* shell/e-shell.c:
	* shell/evolution-shell-component-utils.c:
	* shell/importer/intelligent.c:
	* shell/main.c:
	* widgets/menus/gal-view-collection.c:
	* widgets/menus/gal-view-instance.c:
	Remove unneeded #include <libgnome/gnome-util.h>.


svn path=/trunk/; revision=37036
2009-01-11 04:52:38 +00:00
8d8e4ac1c2 Tweak the EShell API.
Disable File -> Close Window when there's only one window.
Replace EMMessageBrowser with EMailBrowser.

svn path=/branches/kill-bonobo/; revision=37009
2009-01-07 18:23:46 +00:00
c6e59dfc5b Update EShell documentation.
svn path=/branches/kill-bonobo/; revision=36936
2008-12-28 06:26:01 +00:00
22638789fa - Get offline synchronization working in the mailer (I think).
svn path=/branches/kill-bonobo/; revision=36876
2008-12-14 04:06:26 +00:00
b7333387e8 - Fix NetworkManager connection tracking.
- 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
2008-12-14 02:14:41 +00:00
ab0ea462f3 Documentation improvements.
svn path=/branches/kill-bonobo/; revision=36806
2008-11-19 23:54:02 +00:00
b06cdfab92 Progress update:
- 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
2008-11-19 01:39:19 +00:00
8c0bd86d5f Rearranged some of the addressbook code to try and eliminate some circular
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
2008-11-14 03:56:01 +00:00
5ce1bbbbc8 Matthew Barnes <mbarnes@redhat.com> ** Fix for bug #548469 (Drop support for deprecated libnm-glib).
svn path=/trunk/; revision=36631
2008-10-17 05:18:16 +00:00