Themes may change the app icon, which would also change the draft folder
icon in Geary. Import Adawaita's to match current use, install, use, and
update copyright.
* src/client/composer/composer-widget.vala
(ComposerWidget::ComposerWidget): Set the from property for
ComposeType.NEW_MESSAGE when the referred email is not null - i.e. it's
a draft, call ::update_from_field afterwards so that is taken into
account.
(ComposerWidget::add_recipients_and_ids): Merge body of
::set_preferred_from_address here since it's the only call site, update
that to only munge the from property only if not composing a new email
- i.e. a draft, so that ::restore_draft_state_async does not clobber it
when calling this method with referred messages that aren't the draft.
Bug 767438
* src/client/conversation-viewer/conversation-viewer.vala
(::set_message_html): Body text may be null if there's no HTML or plain
body parts, so allow for it and check before passing to
::insert_html_markup.
* src/engine/imap/api/imap-account.vala (Account::list_inbox): Check
hierarchy_delimiter after doing a LIST on INBOX, if null then list its
siblings and use the first returned by it.
* src/engine/imap/api/imap-folder.vala (Folder): Add delim property,
set it via the constructors, so we don't need to use the possibly-
null MailboxInformation.delim property. Update ctor call sites.
- Make use of the "search-changed" signal to handle user input, this
lets us get rid of the built-in timeout mechanism. This reduces the
timeout from 250ms to 150ms after user input before doing the search
though.
- Use the "activate" and "stop-search" signals for the entry. This
lets us remove our handling of key events.
https://bugzilla.gnome.org/show_bug.cgi?id=720993
Sending a message with a text/plain body containing many wide chars will
usually result in it being encoded as Base64. This was breaking
format=flowed since Geary was doing the LF=>CRLF conversion only when
serialisaing for transmission, so the LF's in the unencoded text were not
getting converted to CRLF, and hence all the line breaks were interpreted
as hard breaks under F=F.
* src/engine/rfc822/rfc822-message.vala (Message.from_composed_email):
When setting the RFC822 message body/body part from the composed
message, apply a CRLF filter first iff it will be encoded with Base64.
While message bodies are always sent as UTF-8, non ASCII/ISO-8859-1
headers were being encoded using GMime's default heuristics. This
uses some less-well-supported charsets and causing some rendering
issues in other less tolerant client.
Since we assume UTF-8 support for the body, assume it for headers as
well.
* src/engine/rfc822/rfc822.vala (Geary.RFC822.init): Set GMime user
charsets to UTF-8.
* bindings/vapi/gmime-2.6.vapi (GMime): Fix binding for
g_mime_set_user_charsets.
find_package(PkgConfig} respects the PKG_CONFIG environment variable
when trying to find pkg-config. This is helpful with a differently
named pkg-config executable, for example an arch-prefixed one.
The composer splits addresses on "," and later joins them on ", ". This means
that separating spaces are doubled after every autocomplete. This patch fixes
that by stripping whitespace after splitting. We do this in a separate loop at
the end of the function as opposed to directly after splitting in order not to
upset the cursor positioning logic.
This does not fix the problem that an address like
"Kluck, Timo" <tkluck@infty.nl>
are split on the comma. Before this patch, the space would be doubled. After
this patch, it will always be reduced to a single space. A better solution
would ideally leave the quoted part as-is. I think this will also lead to
better auto-complete behaviour when the cursor is in the quoted part. Better
parsing of the quoted part is beyond the scope of this patch.
Check for both lower-case names and Outlook-specific Sent and Deleted
folder names. Don't require translations to also include the English
names in the translated strings.
* src/engine/imap-engine/imap-engine-generic-account.vala (Account):
Compile the special name list only once, in the constructor. Cache the
names in new special_search_names property.
(::compile_special_search_names): Replace the compilation
::get_mailbox_search_names, compile both upper case and lower case
versions of each name. Check for empty names.
(::get_special_search_names): Replace the translation part of
::get_mailbox_search_names. Include both localised and unlocalised
versions of the names so translators don't need to keep the english
versions. Add Outlook names for sent and deleted separately so as to
not break existing translations.
(::ensure_special_folder_async): Use new pre-compiled
special_search_names property to guess names.
This fixes regular crashes from incorrect lengths on i686 arches - see
Vala Bug 767839.
Fixes Geary Bug 758621
* src/engine/imap-engine/imap-engine-minimal-folder.vala: Use "%lld" when
printing int64 values.
* src/client/conversation-viewer/conversation-viewer.vala
(ConversationViewer::highlight_search_terms): Only do the highlight if
the current folder is a search folder and it has a query. Cache the
fetch cancellable so we can avoid setting the highlight on the web view
if cancelled. Import ::add_literal_matches method impl and remove that
method since it only gets used here.
Since the search folder will cause a re-fetch on search when the search
query has changed such that the results have also changed, the fetch will
launch a highlight search and we don't also need to launch it again when
the search terms have changed. This saves potentially a lot of DB query
time.
* src/client/conversation-viewer/conversation-viewer.vala
(ConversationViewer): Remove on_search_text_changed and its callers.
When Geary.RFC822.Message::construct_body_from_mime_parts is looking to
build a message body to display, during the first pass that looks for
HTML content the plain text part is ignored but the inline image gets
converted to a HTML IMG element and returned as the body. This makes it
look like an HTML part was found, and hence the second pass looking for
plain text never takes place.
Fix this by not taking a wild stab at the body type - check to see if it
has HTML parts and if so just het them, if not then get plain text parts.
Bug 767438.
* src/engine/rfc822/rfc822-message.vala (Message): Add ::has_html_body
and ::has_plain_body to allow callers to query available body content
types before attempting to get them. Remove ::get_body since it's
making a policy decision that callers should be making instead, fix
call sites.
* src/engine/util/util-ascii.vala (Geary.Ascii): Remove functions that
are now supported by Vala 0.26, that are simple statements, or are only
used once elsewhere. Update call sites.