This is needed to replace GtkPaned by HdyLeaflet. This breaks syncing
the size of the headerbar with the rest of the window, it will be fixed
in a later commit.
Add optional-plugins GSetting, automatically load any plugins specified
there at startup, and allow getting, loading and unloading optional
plugins via Application.PluginManager.
Splits the toolbar at the top of the composer into two action
bars at the bottom. One is always visible and contains undo, redo,
spellcheck, a menu, and a button to toggle the other action bar. The
other action bar contains the formatting buttons.
Also cleans up the margins around the fields at the top.
Implemented according to the mockups at
https://gitlab.gnome.org/Teams/Design/app-mockups/raw/master/mail/composer.png
This change allows certain notifications to be displayed only briefly. The new DConf key brief-notification-duration is the number of seconds for which brief notifications should be displayed.
At the moment the only brief notifications are "Message sent", "Conversation archived" and "Message archived".
Closes#602
Add new `single-key-shortcuts` GSetting, Application.Configuration
property and add UI for it in the Preferences window. When enabled,
load in new `single-key-shortcuts.css` file that has the appropriate
bindings. Update bindings to match Google's current set, and update
shortcut help to match.
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.
When no spell checker langauges are explicitly set, use the set of
preferred languages for spell checking. Make spell-check-languages
setting nullable so we can differenciate between "use default"
and "disable spellchecking".
Follow GTK+ reccomendation for (not) setting folder paths in save file
choosers, ensure UTF-8 display names and file system encodings are used
as appropriate, and report errors to the user when they occur.
* src/client/application/geary-controller.vala (GearyController): Replace
use of last_save_directory with new attachments_dir property on the
configuration object.
* src/client/dialogs/attachment-dialog.vala (AttachmentDialog): Replace
current_folder with use of last_save_directory with new attachments_dir
property on the configuration object. Add config object as ctor param
and object field, update call sites.
* src/client/conversation-viewer/conversation-email.vala
(ConversationEmail): Save config object as a class field, use that to
get and set the print directory when printing. Also set the default
print filename based on the email's subject.
* src/client/application/geary-config.vala (Configuration): Remove
spell-check setting, we can just get it from the list of visible
languages instead. Update the schema.
* src/client/components/client-web-view.vala (WebView::init_web_context):
Pass in a config object, use that to init WebKit's spell checking on
the WebContext now that is a global configuration, update it when the
config changes, update call sites.
* src/client/composer/composer-widget.vala (ComposerWidget): Remove
WK1-syle spell checking settings prefs.
* src/client/composer/spell-check-popover.vala (SpellCheckPopover): Pass
a config object in so we don't have to use the global app singleton
instance.
* src/client/dialogs/preferences-dialog.vala (PreferencesDialog):
Modernise by converting into a widget template.
* test/client/components/client-web-view-test-case.vala (TestCase):
Construct a config object as a fixture, use it to init the WebContext
and make it avalaible to subclasses & update subclasses.
* ui/preferences-dialog.ui: Moved from preferences.dialog, remove spell
check preference.