* src/engine/imap-db/imap-db-account.vala (Geary.ImapDB.Account): Move
search term operator transation to a static initialiser so it isn't
have to be reconstrcuted for every term. Ensure english operator names
and values are also accepted as well as translations so if the User
Guide has not also been translated, the user can still use what the
docs say. Fix some bugs causing to:*, from:* and *:me to stop working.
Further cleanup from Bug 766837.
* src/engine/imap-db/imap-db-account.vala
(Geary.ImapDB.Account::prepare_search_query): Only stem and generate
SQL terms that aren't is:foo operators.
Bug 766837
* src/engine/imap-db/imap-db-account.vala (Geary.ImapDB.Account): Use
constants for internal, i.e. non-translatable, search op names and
values so it's clear what they are.
(::extract_field_from_token): Handle all translation of search op names
and values here up front. Ensure that the value for the "is:" operator
is valid, treat the whole thing like a plain string if not. Add some
translation comments for those values so translators know what's up.
(::get_removal_conditions): Assume that if we have a "is:" field that
the values have already been translated to their internal form.
* src/client/application/geary-controller.vala
(GearyController::create_actions): Remove uneeded calls to
add_accelerator - just remove them for dups ot move them to the action
definition. Ensure they are defined in accelerators.ui so they are
bound to their accelerators regarcdless of having a visible proxy.
* help/C/shortcuts.page: Document new shortcuts.
* src/client/application/geary-controller.vala: Add shortcuts for copy
and move actions.
* src/client/components/pill-toolbar.vala (PillBar::create_menu_button):
Hook up the button's related action to invoke the button's popup menu,
taking care not to cause an infinte loop.
(PillBar::setup_button): Connect to the related_action's tooltip notify
signal via a local variable rather than via the button, so it does not
get lost when it changes for Gtk.MenuButton actions.
Bug 764812
* src/client/components/main-window.vala (MainWindow::set_styling): Merge
CSS blocks. Fix Gtk.Frame styling rules for Gtk3.20, making them also
apply to the frame's border node instead of the frame node. Remove
redundant rules. Add a prefix for CSS class names so to avoid name
collisions.
* src/client/composer/composer-box.vala (ComposerBox::ComposerBox): Add a
CSS class to the composer box, add prefix to the full-pane class.
* ui/composer.glade: Add a class to the composer's frame so that can be
styled.
When the shell is not showing the app menu, we are adding a gear menu and
using that for the app menu to work around an issue in Mint Cinnamon
always showing a menu bar when an app menu was present. However under
gnome-shell, this causes both Geary and gnome-shell to both start fully
consuming the CPU when the gear menu was activated.
Perhaps GtkApplication{Window} was notifying or querying shell about the
state of the actions since they are in the in the "app" namespace, but
shell not knowing or caring about them was returning an error, causing
Geary to retry?
Removing the gear menu and letting GTK+ add its own app menu to the
header when shell is not showing it fixes the issue.
We could load the app_menu actions into the "win" namespace, but that
would require adding yet more workarounds (at least a duplicate
app_menu.ui file or something else similary sucky) for someone else's bug
and for users that will never see or need the fix.
Bug 759980.
* src/client/application/geary-controller.vala: Always set the
application's app_menu.
* src/client/components/main-toolbar.vala,
src/client/composer/composer-headerbar.vala: Remove gear menu.
* src/client/components/main-window.vala: Set show-menubar to false
so we either get the shell managed app-menu or GTK managed one
in the header bar.
Bug 766595
* src/client/conversation-viewer/conversation-web-view.vala
(ConversationWebView::always_loaded_prefixes): Update to use new secure
Gravatar URL.
Prevents leaking MD5 hashes of e-mails user is receiving mail from,
which could potentially leak information leading to
a) identifying the user
b) identifying people user communicates with
See <https://en.gravatar.com/site/implement/images/#secure-images> for
upstream documentation of HTTPS implementation.
Bug 766595