Commit Graph

221 Commits

Author SHA1 Message Date
cd76c782bd Miscellaneous cleanups. 2013-07-07 11:39:47 -04:00
df1dc37704 EShellView can load the GalViewCollection itself now.
EShellView no longer needs help from subclasses other than getting
the needed GalView subclasses registered.

A nice side-effect of this is EShellView subclasses can now use the
G_DEFINE_DYNAMIC_TYPE macro.
2013-07-05 16:40:50 -04:00
7bb795b299 Remove gal_view_collection_add_factory().
No longer needed.  Instead, use g_type_ensure() to ensure the necessary
GalView subclasses are registered in the GType system before loading a
GalViewCollection.  Best place to ensure types is from GClassInitFunc.
2013-07-05 16:40:50 -04:00
2b9713656b GalViewFactoryEtable: Remove "specification" property.
No longer needed.

Removed functions:

  gal_view_factory_etable_get_specification()
2013-07-05 16:40:49 -04:00
31b5261fdb EShellView: Add a "view-instance" property.
EShellView now holds a reference to the active GalViewInstance.  Where
applicable, the EShellView subclass is responsible for keeping this up
to date when the sidebar selection changes.

Holding a reference allows EShellView to implement common actions like
"Save Current View" directly instead pushing it on to subclasses.

New functions:

  e_shell_view_get_view_instance
  e_shell_view_set_view_instance
2013-07-05 16:40:48 -04:00
f267827d67 ETableSpecification: Implement GInitable.
e_table_specification_new() now takes a table specification filename and
a GError and parses the file as part of instance creation.  If a file or
parse error occurs, e_table_specification_new() returns NULL.

This replaces e_table_specification_load_from_file().

New functions:

  e_table_specification_get_filename()

Removed functions:

  e_table_specification_load_from_file()
2013-07-02 10:34:12 -04:00
be217ae4c5 Contacts view: Add 'Refresh' into books context menu
Done as part of bug #700894
2013-07-01 15:53:06 +02:00
9bfe38c419 Rename libcomposer to libevolution-mail-composer.
To make Evolution's shared libraries more consistent.

Also add an evolution-mail-composer documentation module.
2013-05-28 09:56:30 -04:00
70a9fcdf9c Rename libeshell to libevolution-shell.
To make Evolution's shared libraries more consistent.

Also rename the documentation module to evolution-shell.
2013-05-28 09:56:30 -04:00
6c9a3243c9 Rename libeutil to libevolution-util.
To make Evolution's shared libraries more consistent.

Also rename the documentation module to evolution-util.
2013-05-28 09:56:30 -04:00
6ec48e33ef Make sure EAddressbookModel has a fresh EBookClient.
In the event of an address book backend abort, EClientCache detects this
and invalidates its cached EClient (if it has one), so a new instance is
created on the next request.

EAddressbookModel is only handed an EClient once, which may become stale
if the backend aborts.  And even if the backend is restarted the address
book will remain unresponsive in Evolution.

This commit changes the behavior so that every time an address book is
selected in the side bar, a fresh EClient instance is obtained from the
EClientCache and handed to the EAddressbookModel.  If the model already
has that EClient instance, nothing happens.  Otherwise the model resets
itself and creates a new EBookClientView.
2013-04-30 10:11:31 -04:00
2abf047ec8 Restore "Automatic Contacts" plugin preferences page.
This accidentally got dropped during the "account-mgmt" project.

As much as I loathe EConfig, the "Automatic Contacts" plugin is useless
without its Preferences page in the Contacts section.
2013-04-13 12:36:59 -04:00
78dfe47fdf Bug 696257 - Handle default values for "primary" selection settings
The default value for these GSettings keys is an empty string.  The
mapping function should handle empty strings by falling back to the
appropriate default ESource.
2013-03-24 13:37:16 -04:00
23b8999765 Remove EBookShellSettings.
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
4ff90f2bfd Use EClientComboBox where appropriate.
Basically any place where we use both EClient and ESourceComboBox.
2013-03-01 18:16:07 -05:00
c3ea33df61 EAddressbookSelector: Inherit from EClientSelector.
Use e_client_selector_get_client() to obtain an EClient.
2013-02-18 14:19:34 -05:00
2e858dc05e EBookShellView: Use EClientCache to obtain an EClient. 2013-02-17 13:36:38 -05:00
b117764a50 EBookShellBackend: Use EClientCache to obtain an EClient. 2013-02-17 13:36:38 -05:00
c3268be737 EBookShellView: Handle error signals from address book backends. 2013-02-16 18:57:09 -05:00
b55c39cdec EBookShellView: Keep an ID for "source-removed" signal handler. 2013-02-15 21:05:33 -05:00
f11a74d725 EBookShellView: Use g_clear_object() in dispose(). 2013-02-15 18:40:48 -05:00
763081aa86 Fix up error handling around e_book/cal_client_connect_finish(). 2013-01-30 12:45:55 -05:00
e583928e04 Use e_book_client_connect().
Instead of e_client_utils_open_new() and e_book_client_new().
2013-01-30 08:37:15 -05:00
8a71509ee4 Add a "settings" module.
Collect all the "config" extensions from the "addressbook", "calendar",
and "mail" modules into one place.  These extensions typically just bind
GObject properties of extensible classes to app-specific GSettings keys.
2013-01-20 20:56:16 -05:00
8e2902eefc Bump GDK_VERSION_MIN_REQUIRED to GDK_VERSION_3_2.
Clean up resulting deprecation warnings, which were all related to
GtkOrientable consolidation (e.g. gtk_hbox_new() -> gtk_box_new()).
2013-01-19 19:08:01 -05:00
d545bdb78c Avoid deprecated libedataserver APIs.
I forgot to include this in 3.7.4, but no matter.
2013-01-15 09:43:40 -05:00
268b609f9d Bug #691134 - New contact lists always saved to a default book 2013-01-08 22:15:38 +01:00
bed06d9ec3 Move the contact map widgets to addressbook/gui/widgets.
Move the supporting widgets for the contact maps feature alongside
EABContactDisplay.  Removing them from libeutil helps isolate our usage
of libchamplain so it's not imposed on the entire application, and even
3rd party software.  That libchamplain is an optional dependency only
further complicates the matter.

Ideally I'd like to somehow isolate this feature in an extension module,
but we currently lack sufficient hooks for such an extension.  So this
arrangement will have to suffice for now.
2012-12-12 14:33:47 -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
d2fb5ee1a8 Avoid using GdkEventButton directly in certain places.
Prefer dealing with GdkEvent pointers and using accessor functions like
gdk_event_get_button().

This is complicated by the fact that some GtkWidget method declarations
still use GdkEventButton pointers, and synthesizing button events pretty
much requires direct GdkEventButton access.  But GDK seems to be nudging
itself toward sealing the GdkEvent union.  Likely to happen in GDK4.

Mainly clean up signal handlers and leave method overrides alone for now.
2012-11-29 13:24:24 -05:00
2c4ae5e768 Coding style and whitespace cleanup. 2012-11-10 15:54:43 -05:00
d181e003ca EBookConfigNameSelectorEntry: Use G_DEFINE_DYNAMIC_TYPE.
Follow the usual GObject conventions.
2012-10-09 14:27:41 -04:00
6f63323dc0 Remove ldap-config.ui.
Leftover file from ages past.  No longer used.
2012-09-17 13:50:40 -04:00
c85109fc32 Coding style and whitespace cleanup. 2012-08-19 14:17:55 -04:00
e341456463 Bug 555325 - Delete key should not delete a whole address book 2012-08-18 09:09:11 -04:00
53aa02a923 e-book-shell-view-actions.c: Support deleting remote resources. 2012-08-03 11:40:13 -04:00
4fedf14c7b Enable "delete" action for remote-deletable sources. 2012-08-03 11:40:13 -04:00
711c028c6d action_address_book_new_cb(): Fix a runtime warning. 2012-07-25 16:24:44 -04:00
67b64140d5 Use SoupURI instead of EUri.
EUri is now deprecated.
2012-06-18 22:04:43 -04:00
6c05b09be1 Do not call g_object_notify() when property didn't change 2012-06-18 15:35:44 +02:00
1489dc4fd8 Disable 'Rename' if source is a collection member.
For consistency with the Preferences window.  We assume the display
names are server-assigned and not user-assigned, at least not assigned
through Evolution.
2012-06-15 11:32:27 -04:00
94daae3dba Remove the last remaining usage of GConf 2012-06-15 09:04:08 +02:00
08dedf0a8a Finish incomplete change (and fix newly introduced compiler warning) 2012-06-15 08:06:28 +02:00
2a4a12c470 Move EBookSourceConfig to /widgets/misc.
EBookSourceConfig drags in no additional dependencies, and allows us to
delay publishing a libevolution-addressbook.so since 3rd party packages
will need to subclass EBookSourceConfig.

The address book source code will need to be flattened into a single
library before we could publish a libevolution-addressbook.so anyway.
That would be a good thing to do regardless -- Evolution has way too
many internal libraries -- but it's out of scope at the moment.
2012-06-14 13:40:11 -04:00
e8dc7d80f7 Adapt to evolution-data-server's port from GConf to GSettings 2012-06-14 10:45:56 +02:00
2a39437ee9 Adapt to single-include E-D-S libraries. 2012-06-03 15:14:03 -04:00
7894db49b9 Adapt modules/addressbook to the new ESource API. 2012-06-02 23:00:40 -04:00
ceea3a0a1f Reduce diff noise with 'account-mgmt' branch.
One last time.
2012-06-02 16:52:01 -04:00
250c3cade5 Rename Evolution module libraries.
Drop the "libevolution" prefix so it's not so verbose and also
consistent with upcoming evolution-data-server module libraries.

  libevolution-module-foo.so --> module-foo.so
2012-05-10 13:16:48 -04:00
00c060169d Missed one. 2012-04-21 18:44:49 -04:00