Ensure shift button is assumed to be up on both focus in and focus out,
so when e.g. invoking the inspector the button is assumed to be
released. Remove the signal in preference for using notifiy when needed,
and ensure main toolbar state is updated on focus changes as well.
Create new Application.AttachmentManager class and move code for saving
attachments there from both Application.Controller and MainWindow since
aside from needing the latter for dialogs it is independent of both.
Create new Components.AttachmentPane widget for diplaying attachents
for an email in the ConversationViewer.
Update ConversationEmail and ConversationMessage to use these two new
classes directly, rather than implementing save management itself or
requiring the MainWindow to wire up signals on these classes.
Update ComposerPageState.htmlToText() to allow ignoring certain elements
if needed. Update tests to test the function directly rather than going
through ComposerPageState.toText().
Allow deleting only the selected part of a link, and modify the existing
link instead of inserting a new one if the user didn't select any text.
Also restructure the code to avoid always-true or always-false if
statements.
Fixes#591
This no longer makes sense since we don't have control over it for
notifications any more, and hence was only being used for sent mail.
Replace it with a NotificationContext signal so that a plugin could be
written to play a sound instead.
Part of https://gitlab.gnome.org/GNOME/Initiatives/issues/1;
Sets up dual installation for flatpaks, allowing us to
build and run geary without affecting our system install.
This will allow testing of nightlies and CI artifacts as well
via the flatpak, so we can iterate on designs and share
bundles to test with.
This fixes search/star and archive/select all conflicting, cleans up
mark read/unread conform to the HIG, and updates the help overlay and
fix some problems with it.
Return the scroll height of the HTML element since the BODY
may have margin/border/padding and we want to know
precisely how high the widget needs to be to avoid
scrolling.
Only send an updated height change when the width has changed on
receiving a JavaScript resize event to avoid getting into a feedback
loop, as was happening with email from Mastodon instances.
Sysnthesise a problem report and use a MainWindowInfoBar for displaying
account service status problems rather than using a custom info bar.
This lets us use the same infrastructure for displaying problem reports
and will enable capturing relevant logs at the time that the error
occurred.
Previously our search entry for conversations was too small
for the placeholder text, and looked awkward in comparison
to the entry for searching messages.
Now we set them to have the same width-chars.
Fixes https://gitlab.gnome.org/GNOME/geary/issues/390
Previously we used a separator in the middle of the main toolbar and extended the width of the HeaderBar in order to
special case for Ambiance.
Ambiance is no longer the default Ubuntu theme, and sticking
with GNOME design patterns should be prioritized over
special casing with a theme.
Fixes https://gitlab.gnome.org/GNOME/geary/issues/389