Commit Graph

140 Commits

Author SHA1 Message Date
7c63fc5f31 Remove e_shell_set_startup_view().
No longer needed.
2013-03-31 12:10:54 -04:00
7c38b34f20 Remove e_shell_get_startup_view().
No longer needed.
2013-03-31 12:10:54 -04:00
6a5767cbd1 EShell: Remove "meego-mode" property.
The property is always FALSE.

Remove both the property itself and any logic predicated on it.
2013-03-31 12:10:54 -04:00
f8f89b0bfd Remove e_shell_adapt_window_size().
Its preconditions are never TRUE, and is therefore a no-op function.
2013-03-31 12:10:54 -04:00
50b164637f EShell: Remove "small-screen-mode" property.
The property is always FALSE.

Remove both the property itself and any logic predicated on it.
2013-03-31 12:10:54 -04:00
7ec9a50ee0 Remove EShellSettings.
EShellSettings predates GSettings and is no longer necessary.

GSettings allows binding GObject properties to GSettings keys,
with optional mapping functions.  That fulfills the purpose of
EShellSettings.
2013-03-17 08:49:12 -04:00
208d779b00 EShell: Add a read-only "client-cache" property.
Give EShell its own EClientCache.  This should be used throughout
Evolution, wherever an EClient is needed.

New functions:

    e_shell_get_client_cache()
2013-02-16 18:57:09 -05:00
6b53dd8da1 libeshell documentation cleanups. 2012-12-13 17:28:32 -05:00
d09d8de870 Consolidate base utility libraries into libeutil.
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.
2012-12-12 14:33:43 -05:00
2a39437ee9 Adapt to single-include E-D-S libraries. 2012-06-03 15:14:03 -04:00
3e05d86173 Adapt libeshell to the new ESource API. 2012-06-02 23:00:39 -04:00
14f82dde34 Move EAlert* and e-xml-utils references from other part of the code to libevolution-utils. 2012-03-03 09:02:33 -05:00
dff45d6cd8 Remove some unnecessary GConf crud. 2011-11-27 20:28:53 -06:00
ad1581d50c Remove e_shell_get_gconf_client().
No longer needed.
2011-11-24 12:29:35 -05:00
224f26b84d GtkApplication has some new EShell-like features.
I pushed a few EShell features up to GtkApplication for GTK+ 3.2,
so we can now trim off the redundancies in EShell.

1) GtkApplication has a new "window-added" signal which replaces
   EShell's own "window-created" signal.

2) GtkApplication has a new "window-removed" signal which replaces
   EShell's own "window-destroyed" signal.

3) gtk_application_get_windows() now returns a list of windows sorted
   by most recently focused, replacing e_shell_get_watched_windows().

4) GtkApplication now provides enough hooks to subclasses that we can
   remove e_shell_watch_window() and call gtk_application_add_window()
   directly.
2011-10-06 08:16:21 -04:00
cec324e80a Bug 650491 - Shell handles forwarding uris to existing process wrong
This adds a "handle-uris" GAction which takes a string array argument,
so the URIs can be passed to the primary process verbatim.
2011-05-22 12:40:31 -04:00
5399f35bbc Port EShell to GtkApplication. 2011-03-24 14:55:24 -04:00
59928e69ed Add e_shell_submit_alert().
An easy way to broadcast application-wide alerts to shell windows.
These alerts will persist in all current and future shell windows
until responded to (either programmatically or by the user).
2010-12-26 23:31:55 -05:00
e39dd931bc Bug #207580 - Allow new mail check on individual accounts 2010-11-25 18:10:14 +01:00
b4f97aea9b Bug 461769 - Add a --force-online command line option
Use it to override network availability detection as reported by
NetworkManager or other network monitoring software.
2010-10-13 16:55:07 -04:00
51d0fc6863 Bug 603468 - Improve handling of --quit option 2010-06-12 14:28:07 -04:00
9653887891 Coding style and whitespace cleanup. 2010-05-25 10:15:32 -04:00
a650f15f00 Store the initial view request and use that to decide whether to show
startup wizard or not. Show only for mail and not calendar.
2010-04-22 17:27:20 +05:30
2593383aec Detect MeeGo, and propagate settings variously.
Adapt widget naming on MeeGo for theming etc.
2010-04-12 14:50:44 +01:00
84ba2f958f Move "section" documentation out of header files. 2010-04-07 12:13:28 +01:00
d7494c8f16 Shell and UI manager cleanups.
Replace the EVO_EXPRESS environment variable with an --express command
line option.  (Note, this adds a new translatable string for --help.)

Add an EUIManager class with an "express-mode" property and custom load
functions that use our new "express" preprocessor.  This replaces the UI
manager functions in e-utils.c.

(Also going to see if I can get GTK+ to add an "add_ui_from_string"
method to GtkUIManagerClass that we can override.  Then we could just
call gtk_ui_manager_add_ui_from_string() and the preprocessor would
automatically do its thing and chain up.)

Add an "express-mode" read-only GObject property to EShell.

Add e_shell_configure_ui_manager() to e-shell-utils.c.  For now this
just creates a one-way property binding:

    EShell:express-mode -> EUIManager:express-mode

Call this immediately after e_ui_manager_new().  (EUIManager can't do
this itself because it lives too low in the dependency hierarchy and
doesn't know about EShell.)
2010-03-13 20:53:17 -05:00
2166e7f4c7 Add 'express mode' gconf setting 2010-03-13 20:49:49 -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
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
13d07fdb63 Bug #588093 - Allow import of local files from command line 2009-11-12 12:32:06 +01:00
e06b88c4fd Bug #594471 - Shouldn't call e_error_new/run with NULL 'parent' 2009-10-13 16:24:10 +02: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
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
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
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
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
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
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
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
54b80a7271 Get the mail folder tree compiling, though I'm not yet sure why it's not
showing anything.  Probably something stupid.  Also enabled the composer.

svn path=/branches/kill-bonobo/; revision=36623
2008-10-17 03:48:03 +00:00
6d1aea1b23 Support migration in the new shell design.
Some code got duplicated for calendars and tasks.  Made a note to revisit.

svn path=/branches/kill-bonobo/; revision=36560
2008-10-05 04:12:09 +00:00