* Ported Gtk.Action to GLib.Action in the GearyController.
* Removed Gtk.AccelGroups (handled through Gtk.Application now).
* Got rid of Gtk.UiManager (now all is done through Gtk.Builder).
* Throw away workaround for conflicting Gtk.Actions in ComposerContainer.
* Aggregate zoom in/out/normal into one parameterized zoom action.
Signed-off-by: Niels De Graef <nielsdegraef@gmail.com>
* src/engine/util/util-html.vala (smart_escape): Don't bother attempting
to match a pair of tags, just something that looks like an opening tag,
since IMG is an empty element and it is valid to not have a closing
slash in HTML. Also, closing tags in HTML are optional anwyay. Add some
unit tests.
Fixes Bug 784300.
* src/client/application/secret-mediator.vala (SecretMediator): Add
check_unlocked() method, call that up front from the public mediate API
methods.
This gives us access to the full libsecret API.
* bindings/vapi/libsecret-1.vapi: Deleted.
* src/client/application/secret-mediator.vala (Object): Use an internal
binding to the missing SCHEMA_COMPAT_NETWORK constant.
* src/engine/imap-db/outbox/smtp-outbox-folder.vala
(Geary.SmtpOutboxFolder.do_postman_async): Flag sent messages rather
than skipping them, only try sending messages that are unsent, always
try saving all messages, re-queue if unsent or unsaved.
* src/engine/imap/api/imap-account.vala
(Geary.Imap.Account.create_folder_async): Ensure that
this.hierarchy_delimiter has been initialized before using it.
This implements new cache for ContactListStore.
ContactListStore is created only once per account when account is opened
with GearyController::open_account. It is destroyed in
GearyController::close_account.
ContactListStoreCache class is introduced to manage ContactListStore
instances.
ComposerWidget receives ContactListStoreCache instance instead of
ContactListStore directly in constructor.
To increase performance, backwards compatibility breaking changes are
introduced to Engine API Geary.ContactStore. Signals:
* Gee.ContactStore::contact_added(Contact)
* Gee.ContactStore::contact_updated(Contact)
are replaced with batch equivalents:
* Gee::ContactStore::contacts_added(Gee.Collection<Contact>)
* Gee::ContactStore::contacts_updated(Gee.Collection<Contact>)
Geary.ComposerWidget::load_entry_completions is no longer async as it does
not involve time consuming ContactListStore creation.
CONTACT_MARKUP_NAME column is removed from ContactListStore as it used to keep
state about highlighted areas of text. This is not possible anymore as
ContactListStore is shared between multiple ComposerWidgets.
Highlight implementation has been moved to Geary.ContactEntryCompletion instead.
Additionally contacts_loaded signal is emitted from Geary.ImapEngine.GenericAccount
and propagated to Geary.Account
Geary.ContactListStore sort function is set upon receiving contacts_loaded
signal instead of after initial contacts are loaded. This speeds up Geary
startup for users with long contact lists.
* Ported Gtk.Action to GLib.Action in the GearyController.
* Removed Gtk.AccelGroups (handled through Gtk.Application now).
* Got rid of Gtk.UiManager (now all is done through Gtk.Builder).
* Throw away workaround for conflicting Gtk.Actions in ComposerContainer.
* Aggregate zoom in/out/normal into one parameterized zoom action.
Signed-off-by: Niels De Graef <nielsdegraef@gmail.com>
Vala causes a _lot_ of these to be emitted for otherwise valid
code. Suppress them so we can actually see more useful warnings.
* src/CMakeLists.txt: Suppress incompatible-pointer-types and
discarded-qualifiers C compiler warnings.