Michael Gratton
72b79ece60
po/POTFILES.skip: Skip translating internal plugin descriptors
...
These plugins are never presented in the UI, hence should not be
translated.
2020-08-19 10:48:40 +10:00
Michael Gratton
ad9ea210e0
po/POTFILES.skip: General cleanup
2020-08-19 10:45:48 +10:00
Michael Gratton
f84dd80d70
Merge branch 'mjog/port-to-libhandy-1' into 'mainline'
...
Port to libhandy-1
Closes #924
See merge request GNOME/geary!544
2020-08-18 12:43:20 +00:00
Yuri Chornoivan
468275a83c
Update Ukrainian translation
2020-08-18 12:33:06 +00:00
Michael Gratton
65954749f3
build: Add workaround for libhandy Since 1.0 version mismatch
...
Handy's GIR annotations declare Since 1.0, but the version is only 0.90
at the moment, so disable checks for now if less than v1.0.
2020-08-18 22:20:29 +10:00
Michael Gratton
574a7173b3
build: Update libhandy package name in CI and INSTALL
2020-08-18 22:20:29 +10:00
Michael Gratton
37b0f2e783
Components.PreferencesWindow: Update default width again
...
Bump it up enough to ensure we get full-height headerbar text.
2020-08-18 22:20:29 +10:00
Michael Gratton
7033ba393f
Components.PreferencesWindow: Remove unused code
2020-08-18 22:20:29 +10:00
Michael Gratton
798c76bc83
client: Give inspector and problem report dialogs consistent sizes
2020-08-18 22:20:29 +10:00
Michael Gratton
a043eec310
build: Allow valadoc to find libhandy vapi when built from a subproject
2020-08-18 22:20:23 +10:00
Michael Gratton
5b097c3076
client: Port client codebase to handy-1
2020-08-18 22:20:23 +10:00
Michael Gratton
2d12b25e2c
build: Switch over to use libhandy-1
...
Add as a optional submodule for people who don't have it installed yet.
2020-08-18 22:10:34 +10:00
Michael Gratton
62ccfdafcd
build: Generate valadoc vapidir args to reduce command boilerplate
2020-08-18 22:10:34 +10:00
Michael Gratton
2532f94bab
build: Remove local vapi directory from valadoc target
2020-08-18 22:10:34 +10:00
Michael Gratton
6b87249959
Merge branch 'mjog/i18n-fixes' into 'mainline'
...
I18n fixes
See merge request GNOME/geary!547
2020-08-18 09:04:19 +00:00
Michael Gratton
462edf7eb8
src/client/plugins: Reduce translations needed for internal plugins
...
Remove `Description` key from internal plugin desktop files and
leave a note about not bothering to translate `Name`, since they
will ever be seen.
2020-08-18 18:10:39 +10:00
Michael Gratton
193aaa2281
po/POTFILES.in: Add missing plugin source files
2020-08-18 18:09:26 +10:00
Michael Gratton
8a5ea12069
Composer.Widget: Avoid confusing xgettext with a verbatim string
2020-08-18 18:08:05 +10:00
Michael Gratton
0c1c7c11b1
Application.MainWindow: Fix info bar typo
2020-08-18 17:38:59 +10:00
Michael Gratton
5fef4b68ba
Merge branch 'nightly-icon' into 'mainline'
...
Use a nightly icon for nightly builds
See merge request GNOME/geary!545
2020-08-18 07:11:38 +00:00
Michael Gratton
67a2d32a6c
Merge branch 'mjog/dovecot-envelope-mailbox-quirk' into 'mainline'
...
Dovecot envelope mailbox quirk
See merge request GNOME/geary!546
2020-08-18 07:07:35 +00:00
Michael Gratton
858487d178
Merge branch 'mjog/mail-merge-plugin' into 'mainline'
...
Mail merge plugin
Closes #660
See merge request GNOME/geary!541
2020-08-18 07:03:05 +00:00
Michael Gratton
50f2ca98b5
Geary.Imap.Quirks: Add quirks for Dovecot
...
Dovecot 2.3.4.1 and earlier uses "MISSING_MAILBOX" and "MISSING_DOMAIN"
in the address structures of FETCH ENVELOPE replies when the mailbox or
domain is missing.
See https://dovecot.org/pipermail/dovecot/2020-August/119658.html
2020-08-18 16:34:24 +10:00
Michael Gratton
31f10e2787
Geary.Imap: Add quirk for Envelope address structure placeholders
...
Some servers (e.g. Dovecot) use placeholder strings instead of the empty
string (e.g. "MISSING_DOMAIN") in FETCH Envelope responses when a
required address part (e.g. local part, domain) are empty.
This adds a quirk that can be enabled for such servers to check for the
placeholders and if found, replace them with empty strings.
2020-08-18 16:34:24 +10:00
Michael Gratton
757c0542dc
Geary.Imap.ServerResponse: Add quirks property
...
Add a quirks object as a property so code that parses the response has
access to it. Simplify constructing server responses slightly and pass
the IMAP connection's quirks when doing so.
2020-08-18 16:34:24 +10:00
Michael Gratton
ebf7a8ad1d
Geary.Imap: Update IMAP quirks based on server greeting rather type
...
Use server greeting to update IMAP quirks, so that if e.g. a GMail
account is configured as a generic account, it still gets the right
quirks.
2020-08-18 16:34:24 +10:00
Michael Gratton
15a87be780
Geary.Imap.ClientSession: Add property for the IMAP server's greeting
2020-08-18 16:34:24 +10:00
Michael Gratton
c3c134f09a
MailMerge.Folder: Throttle sending rate to 30 per minute
2020-08-18 16:32:26 +10:00
Michael Gratton
182c498827
MailMerge.Folder: Implement sending merged email
2020-08-18 16:32:26 +10:00
Michael Gratton
d8d8abaef0
MailMerge.Folder: Update backing collections
...
Rename list and map collections to be a bit more descriptive, only
store ids in the list since they are already in the map.
2020-08-18 16:32:26 +10:00
Michael Gratton
99bc719fe1
MailMerge.Folder: Add skeleton properties for accessing folder state
...
Add properties to allow determining the data's file name, the number of
email total and sent, and if the folder is currently sending.
2020-08-18 16:32:26 +10:00
Michael Gratton
7d6078d7c9
Geary.ComposedEmail: Allow send date to be updated
...
We want to ensure there is a non-null, send date, but mail merge wants
to set the date to be when it was actually sent, so allow it to be
updated after construction.
2020-08-18 16:32:26 +10:00
Michael Gratton
a58e71aeb6
Plugin.MailMerge: Add info bar to merge folder with status and actions
2020-08-18 16:32:26 +10:00
Michael Gratton
44b62ed89c
Plugin.Actionable: Support specifying icons
...
Add new ctor to `Actionable` to allow specifying an icon name but
keeping the class immutable. Add support for displaying icon in
`Plugin.InfoBar` buttons by implementing support for it
`Components.InfoBar`. Also support updating the primary button when
the plugin's primary button changes.
2020-08-18 16:32:26 +10:00
Michael Gratton
30e5e5bedc
Plugin.InfoBar: Enable plugins to dynamically update info bar labels
...
Make status and description properties publicly settable, keep tabs
on changes in `Component.InfoBar` and update GTK labels as needed.
2020-08-18 16:32:26 +10:00
Michael Gratton
aae3a1a581
Plugin.Infobar: Allow plugins to be notified of close button activation
...
Add `close_activated` signal, update `Components.InfoBar` to emit it
when clicked.
2020-08-18 16:32:26 +10:00
Michael Gratton
c8aeeec67b
Sidebar.Branch: Fix compiler warning, improve code style
2020-08-18 16:32:26 +10:00
Michael Gratton
4404496ad4
Application.MainWindow: Select another folder is when selected is removed
2020-08-18 16:32:26 +10:00
Michael Gratton
f7ea243c9d
Sidebar.Branch: Fix assert when removing a folder
...
Doesn't help, just remove it.
2020-08-18 16:32:26 +10:00
Michael Gratton
c0795fa04b
MailMerge: Implement initial email merging
...
Make `Processor` an instantiable class to handle merging from a
template email. Use this in `Folder` to implement merging for each
data row.
2020-08-18 16:32:26 +10:00
Michael Gratton
c89fe7ebbd
MailMerge.Processor: Add field parser object, use in contains_field
...
Add a reusable private parser struct, reimplement `contains_field` using
it. Add unit tests for that and `is_mail_merge_template`.
2020-08-18 16:32:26 +10:00
Michael Gratton
67ecf11a83
MailMerge: Put non-plugin classes in own namespace, rename source files
...
Use a new top-level `MailMerge` namespace for non-plugin classes,
rename source files to match.
2020-08-18 16:32:26 +10:00
Michael Gratton
b1807df1be
MailMerge: Break test source file into separate driver and test files
...
Allow adding additional, unrelated unit tests.
2020-08-18 16:32:26 +10:00
Michael Gratton
a6acf96d59
Plugin.MailMerge: Move merge field code from plugin to standalone class
...
Adds new processor class, moves merge field code into that, ensure that
both when checking email for merge fields and handing email off to the
merge folder that the email is loaded with fields required by the
processor.
2020-08-18 16:32:26 +10:00
Michael Gratton
2ce3d8b51f
Plugin.MailMergeFolder: Load messages from template into the folder
...
This doesn't actually do the merging yet, just creates an email per
CSV row.
2020-08-18 16:32:26 +10:00
Michael Gratton
da9e01897a
Plugin.MailMerge: Register folder with the engine rather than client
...
Use new support for registering local folders with the engine to do
just that for the merge folder, allowing the conversation monitor to
successfully load and display email in the folder.
2020-08-18 16:32:26 +10:00
Michael Gratton
0d283dfc72
Geary.RFC822.MailboxAddresses: Update append methods
...
Rename append method to concatenate_list since that's what it actually does. Add new method
for cat'ing a single mailbox, add methods for merging both a single mailbox and mailbox
list into a new list.
2020-08-18 16:32:26 +10:00
Michael Gratton
6c944703e5
Fix valadoc warning
2020-08-18 16:32:26 +10:00
Michael Gratton
334c8e0a40
Application.MainWindow: Fix custom folder path showing in window title
2020-08-18 16:32:26 +10:00
Michael Gratton
df7a30cbe1
Geary.Account: Add {de}register_local_folder methods
...
Support API clients registering their own local folder implementations.
Use this (and the last commit) to generalise handling of the outbox by
GenericAccount by registering it when the outbox postie is started, and
when creating a map of folders that contain specific ids.
This also ensures API clients are informed of the outbox becoming
available, allowing some special case code to be removed from the app
controller.
2020-08-18 16:32:26 +10:00