Commit Graph

1584 Commits

Author SHA1 Message Date
8752647eca Make Calendar, Memos and Tasks views non-UI-blocking
The Calendar, Memos and Tasks views use to do D-Bus calls to
the backends on the main (UI) thread, which could result in UI
freezes, until the operation was done on the backend (and server)
side. This commit fixes that by invoking the operations in
a dedicated thread. It has few additional advantages too:
- operations can be cancelled
- proper error reporting to a user
- less code duplication between the views for common operations

There had been fixed some performance issues when selecting/unselecting
sources in the source selector as well.
2014-10-06 12:33:03 +02:00
b10ef4f272 Bug 724909 - Highlight module hangs on large attachments 2014-09-09 13:25:18 +02:00
1dc1cf0b81 Miscellaneous Win32 related changes
* use e_util_win32_initialize() in main() to avoid code duplication
 * e-spinner - correct image path build under win32
 * export WIN32_SERVICELIBEXECDIR when building eds, which relies on it now
 * update D-Bus patch and session-local.conf creation, thus D-Bus
   can actually autostart services
2014-09-05 19:13:56 +02:00
a0b11ce4ac Reduce the memory used by DOM variables
Free some of the DOM variables when they are not needed, before they are
automatically freed when the frame is destroyed
2014-08-07 11:20:03 +02:00
37393c0da9 Propagate settings from Prefences to the EHTMLEditorView
Namely "Use the same fonts as other applications", "Standard Font",
"Fixed Width Font", "Highlight quotations with color", "Automatically
insert emoticon images" and "Check spelling while I type". Also remove
unneded properties from EWebView.
2014-07-29 14:03:22 +02:00
1de2564ea0 Calendar View: Use smaller icons in the Search bar
The icons at the search bar, to search forward, backward and stop
searching were too large, which didn't look good. This makes them
smaller, though even here can be seen a little gap around
the images in the buttons which might not be there ideally.
2014-07-21 16:17:43 +02:00
bcc3a1c7e6 Add missing chain-up-s to parent's constructed() method
Plus a little code cleanup for easier grepping.
2014-07-17 12:46:38 +02:00
fa3d3c2403 Bug 722068 - Make Evolution build under Win32
This also makes gnome-desktop an optional dependency, which can
be avoided with --disable-gnome-desktop configure option.
2014-07-10 21:01:42 +02:00
e837eb24ea SMTP part of a new mail account dialog doesn't update UI properly
Using "Server requires authentication" checkbox doesn't update
the new mail account dialog properly, thus it seems like a username
is required when the server does not require authentication. It's due
to the dialog being updated properly only on CamelSettings changes,
while this checkbox doesn't have any direct connection to any
CamelSettings property.
2014-07-08 11:32:27 +02:00
50bda1bad2 Replace GtkStyle usages with GtkStyleContext
This makes evolution depend on theme-defined named colors, namely:
   theme_bg_color
   theme_base_color
   theme_fg_color
   theme_text_color
   theme_selected_bg_color
   theme_selected_fg_color
   theme_unfocused_selected_bg_color
   theme_unfocused_selected_fg_color
If it's not defined, then a fallback color is used, in the worse case
one of the fallbacks defined in evolution itself.
2014-07-07 12:51:41 +02:00
2a2201ad44 Bug 732140 - Allow multiple folder selection when creating Send account overrides 2014-07-01 18:36:26 +02:00
93c1357da2 EHTMLEditor - Stop using deprecated gtk-stock items 2014-06-25 15:59:50 +02:00
a1f29eb304 Drop the last references to GtkHTML
There still left some references to GtkHTML in the "active code",
which should be dropped. There still can be found couple "GtkHTML"
strings in the code, but mostly in disabled code or comments only.
These are to be fixed separately.
2014-06-24 08:52:00 +02:00
bfa9ece009 Bug 652132 - Google Tasks support 2014-06-20 11:22:15 +02:00
cef3b32167 Bug 702703 - Be able to overwrite domain in Message IDs 2014-06-17 11:51:13 +02:00
0e9bb570cb Check whether value really changed in callbacks of GSettings::changed signal
Just two more places, which are new after a merge of the webkit-composer
branch changes.
2014-06-11 18:47:46 +02:00
60d5ff7b71 Fix runtime warnings when opening Edit->Preferences
These were new after merging webkit-composer branch changes, but just
some leftovers.
2014-06-11 18:19:10 +02:00
8650fb139a Bug 540362: [webkit-composer] Use webkit for composer
Merge wip/webkit-composer branch into master.
2014-06-09 16:32:25 +02:00
d6dcec1b55 Bug 731321 - Missing custom types when loading .ui definition 2014-06-06 12:02:13 +02:00
1205a86888 Bug 730977 - Online state change received in a dedicated thread 2014-06-06 08:59:53 +02:00
6e9e7b0676 Ignore false GSettings key change notifications
Similar to GObject::notify, the GSettings::changed can be emitted
even if a key didn't change. It's up to the user (aka evolution)
to test for real changes, thus let's do it. It may have certain
performance positive impact too.
2014-06-05 16:59:29 +02:00
2e71c86143 Properly disconnect signal handlers added with e_signal_connect_notify*()
This is a follow-up for the previous commit, where e_signal_connect_notify*()
functions had been added. Due to a different callback and user data being
attached to the 'notify' signal, the g_signal_handlers_*() functions do not
work properly, thus these e_signal_connect_notify*() functions need
a different way for a signal handler disconnect.

A side-change was done in e-settings-web-view-gtkhtml.c, checking for a real
key change from GSettings.
2014-06-05 11:47:13 +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
70f58975e3 Bug 604346 - Ctrl+Enter sends mail without asking confirmation 2014-06-03 10:44:19 +02:00
2f73b39bf2 Add "Send messages through Outbox folder" option
Users ask from time to time for the old behaviour when the messages
used to be saved through Outbox, rather than the composer being opened
all the time the message is sending. The change is pretty simple,
thus why not to add it.

Note the Outbox is not flushed after sending, the users is responsible
to invoke the Outbox flush on his/her own. This also allows a user
to postpone the message send for later.
2014-06-02 14:36:00 +02:00
82076f2fae Bug 730743 - Add an option to disable sender's photo search at gravatar.com 2014-05-27 16:12:51 +02:00
a3db47909e Bug 726746 - Allow to auto-empty trash without needing to exit 2014-05-26 16:41:48 +02:00
24630c83cf Bug #563048 - Prefer Inbox type over other types in folder description 2014-05-20 07:48:38 +02:00
d46ad6d3cd Bug #678843 - May re-prompt password on account re-enable 2014-05-12 19:47:16 +02:00
c7ddf191bf Bug #691957 - MDN: Do not show "Sender has been notified..." message
Evolution doesn't have any capability to distinguish between truly sent
read receipts and those cancelled, neither it stores anywhere the date
of the read receipt send, thus showing to users an information about
"Sender has been notified..." is only confusing to them.
2014-05-09 11:38:30 +02:00
192a2f785e Bug #699797 - Verify SSL trust after redirection 2014-04-18 17:49:03 +02:00
3bd387bc25 Bug #684425 - Do not pass NULL text to gtk_entry_set_text() 2014-04-11 10:49:15 +02:00
61b4bacf9a e-util: Port to thread-safe ECategories API
This ports the following two function calls throughout Evolution:
 • e_categories_get_list() to e_categories_dup_list()
 • e_categories_get_icon_file_for() to e_categories_dup_icon_file_for()

It necessarily changes some internal e-util API:
 • e_util_get_searchable_categories() to
   e_util_dup_searchable_categories()

This bumps the EDS requirement to 3.13.1.

https://bugzilla.gnome.org/show_bug.cgi?id=727221
2014-03-28 10:44:44 +00:00
ed405f45a5 Bug #726542 - Unpadded black border on various mail account settings pages 2014-03-27 17:08:58 +01:00
5ebf0fd3c3 Add EMailFolderCreateDialog.
Subclass of EMFolderSelector, replaces em_folder_utils_create_folder().
2014-03-26 20:24:34 -04:00
a0015666b9 EMFolderSelector: Remove 'title' argument when creating.
Just call gtk_window_set_title() after creating the dialog.

This makes EMFolderSelector a little more "subclassable".
2014-03-26 20:24:34 -04:00
7624730674 EMFolderSelector: Add a "default-button-label" property.
Replaces the 'oklabel' argument when creating a new dialog, and can be
changed after the dialog is created.

This makes EMFolderSelector a little more "subclassable".
2014-03-26 20:24:33 -04:00
c70e8e9ea2 EMFolderSelector: Add a "caption" property.
Replaces the 'text' argument when creating a new dialog, and can be
changed after the dialog is created.

This makes EMFolderSelector a little more "subclassable".
2014-03-26 20:24:33 -04:00
5747a285f7 EMFolderSelector: Add a "can-create" property.
Replaces the EM_FOLDER_SELECTOR_CAN_CREATE flag, and can also be set
after the selector dialog is instantiated.

This makes EMFolderSelector a little more "subclassable".
2014-03-26 20:24:33 -04:00
a2a2954926 [text-highlight] Fix a possible memory leak
The related part of the code could be reached also when the 'syntax' variable
had been previously set to a newly allocated string, thus (try to) free it first.
2014-03-26 10:38:34 +01:00
8692b1cb72 Add an --enable-code-coverage configure option to enable gcov support
When enabled, this will compile all libraries/binaries with the necessary
gcc and ld flags to enable code coverage support using gcov.
2014-03-25 12:04:58 +01:00
eceb3b3658 ECalConfigWeather: Fix a confusing translator comment. 2014-03-15 08:42:29 -04:00
17acc96914 Bug 711350: Cannot position caret in received message body without using the mouse
If Caret mode is enabled don't try to process the navigation keys and
don't set the focus on main frame to actually make the Caret mode
working.
2014-03-11 14:51:01 +01:00
d325d27f96 Bug #711351 - Folder change in folder tree steals focus 2014-03-07 14:49:13 +01:00
3048de0d91 Bug #711658 - Time zone for new events sometimes defaults to UTC 2014-03-06 15:30:55 +01:00
c53fbc0b8f Miscellaneous cleanups. 2014-03-02 19:36:01 -05:00
f4bb7d7748 EMailFormatter: Use GOutputStream instead of CamelStream. 2014-02-28 14:38:11 -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
e15c81b8ee Bug 724909 - Highlight module hangs on large attachments
The previous code was writing the entire MIME part content to the
highlight utility's stdin pipe before reading the converted result.
With enough content, this caused the write operation to get stuck.
What's worse is this all happens synchronously in the UI thread.

Not sure exactly what was going on, but my hunch proved correct that
we need to simultaneously write to the stdin pipe and read from the
stdout pipe to avoid the deadlock.

Still not happy about this blocking the UI, but that would require
some major refactoring in libevolution-mail-formatter.
2014-02-24 22:57:52 -05:00
be7f5df707 Add missing action captions after gtk-stock replacement 2014-02-24 18:30:01 +01:00