Commit Graph

481 Commits

Author SHA1 Message Date
9dcac58b21 Use thread safe variants of g_object_bind_property*() functions from evolution-data-server 2015-02-24 09:54:41 +01:00
e7b4a14f7e Bug 741857 - Doesn't close after mailto: message sent 2015-02-12 15:36:50 +01:00
e4f2662e4b Simplify code at shell_trust_prompt_done_cb() a bit
The e_source_invoke_authenticate() accepts NULL credentials, thus use
them instead of creating and freeing effectively empty structure.
2015-02-04 12:40:05 +01:00
a6e34f0bb7 Move authentication of backends back to the client
Since this change the client is responsible to provide credentials
to use to authenticate backends (through ESource-s, to be more precise),
unless the credentials are already saved.
2015-02-02 14:50:27 +01:00
59e2efa774 Share GSettings objects with e_util_ref_settings()
A simple Evolution run and move between all views means creation of
more than 100 GSettings objects, with only a bit more than 10 schemas.
Reusing the objects should have a positive impact on a performance too.
2014-11-13 10:06:04 +01:00
4646811a36 Bug 545153 - Ask whether to quit with pending operations 2014-10-29 21:53:32 +01:00
68c01454e4 Bug 728329 - Evolution fails to get back online 2014-09-15 13:06:55 +02:00
2f3fbdd6c6 Ignore false GObject property change notifications
This is related to bug 698275, which did not cover all cases.
The problem here is that the dconf can in certain situation claim
that everything changed (path "/" changed), which GSettingsBinding
propagates to a GObject property unconditionally and GObject's
property setter (g_object_set_property()) also notifies about
the property change unconditionally, despite the real descendant
property setter properly checks for the value change. After all
these false notifications a callback on "notify" signal is called
and possibly an expensive operation is run.

Checking whether the value really changed helps in performance, for
which were added new e-util functions:
   e_signal_connect_notify()
   e_signal_connect_notify_after()
   e_signal_connect_notify_swapped()
   e_signal_connect_notify_object()
which have the same prototype as their GLib counterparts, but they allow
only "notify::..." signals and they test whether the value really changed
before they call the registered callback.
2014-06-04 19:46:25 +02:00
250620dd3d Forbid header bars in stock GTK+ dialogs.
Even in GNOME Shell, header bars look very out of place in Evolution.
Override the system-wide setting to suppress them.
2014-03-22 19:34:46 -04:00
c53fbc0b8f Miscellaneous cleanups. 2014-03-02 19:36:01 -05:00
5c60d57082 Replace 'interface' with 'iface' in the code
Win32 headers have a #define for 'interface', which breaks the build
when this word is used in the code, thus replace it to 'iface',
the same way as GLib or GTK+ code use to have it. (See bug #722068.)
2014-02-26 16:15:21 +01:00
e6686ae2d9 Bug #711758 - Handle relative path when importing from command line 2014-02-24 13:35:47 +01:00
b21733d067 Bug 721545 - License text contains obsolete FSF postal address 2014-01-07 16:05:51 -05:00
42f71a3b0e EShell: Configure WebKit's default SoupSession.
Configure WebKit's default SoupSession to honor our proxy settings.
2013-11-26 17:00:55 -05:00
706b5a4420 Bug 710489 - Network detection broken at startup 2013-10-30 15:39:57 -04:00
7d6027be1a EShell-related cleanups. 2013-07-05 16:40:48 -04:00
afdbd662d1 EShell: Check cookie before calling gtk_application_uninhibit(). 2013-05-31 10:34:41 -04:00
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
9551d47dd1 e_shell_load_modules: Explicitly load EClientCache extensions.
EShell's instance of EClientCache gets instantiated before modules are
loaded, so explicitly call e_extensible_load_extensions() on the cache
after modules are loaded.

This requires commit 525fba8 in evolution-data-server to work.
2013-02-16 18:57:09 -05: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
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
2c4ae5e768 Coding style and whitespace cleanup. 2012-11-10 15:54:43 -05:00
704b78d23b Replace deprecated GLib symbols (as of GLib 2.34.x) 2012-11-06 16:21:37 +01:00
4afc8d39bf Bug 676141 - Use GtkApplication for session management
As of GTK+ 3.4, GtkApplication now provides session management
support similar to EggSMClient.  So drop our copy of EggSMClient.
2012-10-16 09:38:21 -04:00
6c05b09be1 Do not call g_object_notify() when property didn't change 2012-06-18 15:35:44 +02:00
94daae3dba Remove the last remaining usage of GConf 2012-06-15 09:04:08 +02: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
1a3913d551 Remove "currently-offline" key from GSettings added for bug #655753 2012-04-25 16:45:07 +02:00
bf2c718d1f Bug #655753 - Improve offline notification for network outage 2012-04-23 11:46:05 +02:00
4eec255877 Use GNetworkMonitor to drive EShell:network-available. 2012-03-31 15:48:01 -04:00
0a016671ee Do not call gtk_main_quit() on shell quit when none is running 2012-01-06 09:37:27 +01:00
987fb91d5e Reduce diff noise with account-mgmt branch. 2011-12-19 22:27:39 -05:00
217c83bdb9 Bug #663122 - Doesn't quit on exit with GLib's git master 2011-12-02 19:00:22 +01:00
ad1581d50c Remove e_shell_get_gconf_client().
No longer needed.
2011-11-24 12:29:35 -05:00
0c83b9b25d Miscellaneous cleanups. 2011-11-22 14:50:09 -05:00
c75f58d01b Fix compiler warnings. 2011-11-22 14:34:11 -05:00
cdb09641dc Build fixes 2011-11-14 18:05:45 +01:00
55ed27cd2f Migrate EShellSettings to GSettings 2011-11-14 17:19:25 +01:00
d4e8e2f809 Migrate most of the shell code to GSettings 2011-10-13 16:53:51 +02:00
56a166bb42 Merge branch 'master' into wip/gsettings 2011-10-10 12:50:18 +02:00
938505da18 Let GtkFileChooser track its own last-used-folder.
GtkFileChooser in GTK+ 3.2 now keeps track of the last-used-folder
itself, even across applications, so get out of its way and let it
handle it.
2011-10-06 08:16:21 -04: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
4ec46cc05f Merge from master 2011-10-05 13:57:30 +02:00
e2b6ff7a6c Miscellaneous cleanups from the account-mgmt branch.
Reducing diff noise so I can see important changes easier when comparing
branches.  A few API changes, but nothing that affects functionality.
2011-09-27 09:31:13 -04:00