Michael Gratton
cfa414f08c
Util.Avatar::extract_initials_from_name: Don't strip diacritics
...
Normalise to composed forms rather than decomposed forms, which would
replace diacritics on characters with combining chars, making them
disappear from the generated initials.
Fixes #735
2020-03-17 22:43:50 +11:00
Michael Gratton
3f81b7d507
Merge branch 'mjog/user-plugins' into 'mainline'
...
Support optional (non-builtin) plugins
See merge request GNOME/geary!441
2020-03-17 08:45:46 +00:00
Michael Gratton
902f161c35
Merge branch 'mjog/remove-markup-from-translatable-strings' into 'mainline'
...
ConverationViewerMessage: Pull markup out of translatable strs
See merge request GNOME/geary!440
2020-03-17 08:39:04 +00:00
Michael Gratton
4b53370a47
Plugin.NotificationBadge: Update plugin description
2020-03-17 19:23:24 +11:00
Michael Gratton
196343807c
Plugin.DesktopNotification: Update notifications
...
Update notification text since it's cross-account, and hide
notifications on new mail being retired.
2020-03-17 19:23:24 +11:00
Michael Gratton
c72ce8d8da
Replace FolderList.Tree mail hooks with plugin
...
Using a plugin to manage folder new mail highlighting so it works in the
same way as for other notifications.
2020-03-17 19:23:24 +11:00
Michael Gratton
df7889d732
Make plugin activation and deactivation async and throw errors
...
This makes plugin implementation substatially less verbose.
2020-03-17 19:23:24 +11:00
Michael Gratton
154bb2d2c5
Rework and clean up how plugin extensions work
...
Since libpeas doesn't allow a single plugin instance to have multiple
extensions, define a single libpeas extension as a base class for all
plugins and define extensions as non-libpeas interfaces shared by a
single plugin. Manage loading/unloading these ourselves.
This also defines a new trusted extension interface for plugins that
need access to Geary's internals, new error domain for plugis, and
made the notification context a plugin interface that is implemented by
the application object.
2020-03-17 19:23:24 +11:00
Michael Gratton
835eb04daa
Plugin.MessagingMenu: Remove trusted status
...
Doesn't need to be trusted since it doesn't access the client API,
and don't load by default since Ubuntu doesn't ship the messaging
menu UI any more after dropping Unity.
2020-03-17 19:23:24 +11:00
Michael Gratton
dbf9b7578e
Plugin.MessagingMenu: Rename plugin module name
...
Make it clear it's a Unity thing.
2020-03-17 19:23:24 +11:00
Michael Gratton
ff7c0f245b
Application.Client: fix expected GVariant types for actions
2020-03-17 19:23:24 +11:00
Michael Gratton
ee4bd117ee
Convert plugins to use isolated context model
...
Convert the plugin implementation to use a model where each plugin
has its own context object instances and has limited/no access to the
client's and engine's objects.
2020-03-17 19:23:24 +11:00
Michael Gratton
03331fd231
Application.PluginManager: Add close method
...
Add close method, call it from the controller when shutting down, so
that plugins are actually deactivated and can release resources.
2020-03-17 19:23:24 +11:00
Michael Gratton
f72b1354f8
Add stable public interfaces for plugins to use
...
These interfaces provide a stable, public API for plugins that can
provide API stability while the underlying client and engine APIs
change.
2020-03-17 19:23:24 +11:00
Michael Gratton
18df946216
FolderList.Tree: Remove use of a NotificationContext object
...
Since these are becoming per-plugin only, use folder signals to update
for now.
2020-03-17 19:23:24 +11:00
Michael Gratton
c50ab505e8
Application.ContactStore: Make ::close internal
...
Prevent non-application-code from attempting to close it.
2020-03-17 19:23:24 +11:00
Michael Gratton
899c1aaa5d
Minor translatable string update for consistency
2020-03-17 19:23:24 +11:00
Michael Gratton
45b519e25e
Geary.BaseObject: Use GObject ctor for ref'ing instances
...
This ensures that objects constructed using both both Vala-style and
GObject-style constructors are handled properly.
2020-03-17 19:23:24 +11:00
Michael Gratton
25b527fc2b
Application.PluginManager: Add notion of trusted plugins
...
Keep a list of trusted plugins and load those by default, rather than
trusting the peas built-in flag.
2020-03-17 19:23:24 +11:00
Michael Gratton
7ef62769fe
Plugin.Notification: Convert to an interface
...
This enables a single plugin to implement other extension points.
2020-03-17 19:23:24 +11:00
Michael Gratton
a88a67bd34
Application.NotificationContext: Make API docs more concise
2020-03-17 19:23:24 +11:00
Michael Gratton
46e3ba7396
Update releases notes to mention new plugin UI
2020-03-17 19:23:24 +11:00
Michael Gratton
c290787284
Add UI to preferences window for managing optional plugins
2020-03-17 19:23:24 +11:00
Michael Gratton
0c526f6644
Plugins: Support loading optional plugins
...
Add optional-plugins GSetting, automatically load any plugins specified
there at startup, and allow getting, loading and unloading optional
plugins via Application.PluginManager.
2020-03-17 19:23:24 +11:00
Michael Gratton
627bfb7c89
Application.PluginManager: Only load builtins if in install dir
...
Only trust builtin plugins if they have been installed.
2020-03-17 19:23:24 +11:00
Michael Gratton
f567777d46
Plugins: Use module name as plugin names
...
Drop the library prefix and suffix from plugin module names, use that
instead of the human-readable name in the plugin manager.
2020-03-17 19:23:24 +11:00
Michael Gratton
1143bb03f4
Application.PluginManager: Convert ctor to RAII
...
Do all loading up front in the manager's constructor so it's ready to
go after being constructed.
2020-03-17 19:23:24 +11:00
Michael Gratton
655f1dcf83
Components.PreferencesWindow: Make application prop nullable
...
It should be nullable because it can be null, update call sites to
reflect this.
2020-03-17 19:23:24 +11:00
Michael Gratton
c394611037
Application.Controller: Make plugin manager public
...
Allow other application components to access the plugin manager, rename
property for brevity.
2020-03-17 19:23:24 +11:00
Michael Gratton
f2be8ef527
ConverationViewerMessage: Pull markup out of translatable strs
...
Per GitLab comment on 58ffad83 , this will make translations less error
prone.
2020-03-17 19:16:36 +11:00
Michael Gratton
0e269a353b
Merge branch 'fix-725' into 'mainline'
...
Make g_mime_filter_filter implementations more robust (closes #725 )
Closes #725
See merge request GNOME/geary!436
2020-03-17 04:44:26 +00:00
Daniel Kahn Gillmor
dd053ebfbe
Make g_mime_filter_filter implementations more robust ( closes #725 )
...
By default, vala appears to translate an "out uint8[]" argument's size
as a gint*. but the g_mime_filter_filter implementation expects a
gsize*. This Just Works accidentally on most architectures, but fails
on big-endian 64-bit architectures where sizeof(int) == 4, like s390x.
See #725
Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
2020-03-17 00:09:24 -04:00
Michael Gratton
ac8c176e78
Merge branch 'mjog/lru-cache-intermittent-test-failure' into 'mainline'
...
Util.Cache.Lru: Fix intermittent unit test failure
Closes #739
See merge request GNOME/geary!435
2020-03-17 04:04:29 +00:00
Michael Gratton
6da19c5ba9
Util.Cache.Lru: Fix intermitted unit test failure
...
Cache behaviour was undefined if two entries were added in the same
microsecond. This adds a case to the comparison to stablise the sort
order when that occurs.
Fixes #739
2020-03-17 14:47:52 +11:00
Michael Gratton
57a592f874
Merge branch 'fix_INSTALL_typo' into 'mainline'
...
INSTALL: libgmime3.0-dev is actually libgmime-3.0-dev
See merge request GNOME/geary!432
2020-03-17 01:58:19 +00:00
Anders Jonsson
0ddf290a30
Update Swedish translation
2020-03-16 18:37:39 +00:00
Jordi Mas
3490cbcddc
Update Catalan translation
2020-03-16 12:20:28 +01:00
Jonatan Pålsson
7ceedd0a01
INSTALL: libgmime3.0-dev is actually libgmime-3.0-dev
...
Fix typo (missing dash in package name) introduced in
c6be77ba85
Signed-off-by: Jonatan Pålsson <jonatan.p@gmail.com>
2020-03-15 09:00:20 +01:00
Michael Gratton
e805ac5fc5
Merge branch 'mjog/fix-ppc-test' into 'mainline'
...
Don't attempt to get the last initial if no other word
See merge request GNOME/geary!431
2020-03-15 00:19:29 +00:00
Michael Gratton
819f13fb3b
Don't attempt to get the last initial if no other word
...
Fixs a test failure s390, powerpc.
See #512 , #724
2020-03-15 11:01:04 +11:00
Michael Gratton
bc0c31d962
Merge branch 'fix-395' into 'mainline'
...
conversation-viewer: Shorten recipients list
Closes #395
See merge request GNOME/geary!422
2020-03-14 23:28:23 +00:00
Jordi Mas
5dca4d03f2
Add Catalan help translation
2020-03-14 21:45:17 +01:00
Michael Gratton
abd6d2c040
Merge branch 'mjog/search-delete-broken' into 'mainline'
...
Application.Controller: Fix deleting conversations from search
See merge request GNOME/geary!427
2020-03-14 01:20:53 +00:00
Michael Gratton
44edf05211
Merge branch 'mjog/3-36-appinfo-updates' into 'mainline'
...
desktop/org.gnome.Geary.appdata.xml.in.in: Update for 3.36.0
See merge request GNOME/geary!428
2020-03-14 01:11:22 +00:00
Michael Gratton
b15d83b41f
desktop/org.gnome.Geary.appdata.xml.in.in: Update for 3.36.0
...
Point to new donations page and updated screenshots.
2020-03-14 11:54:05 +11:00
James Westman
58ffad83a4
conversation-viewer: Shorten recipients list
...
If there are a lot of recipients (more than 12), most of them will be hidden
initially, and a link will appear to show/hide the others.
Currently no preference is given as to which addresses are put in the short
list, although the attached issue contains some ideas.
Fixes #395 .
2020-03-13 15:10:40 -05:00
Anders Jonsson
2ba578139e
Update Swedish translation
2020-03-13 09:13:37 +00:00
Michael Gratton
46541b963b
Merge branch 'mjog/build-updates' into 'mainline'
...
Build updates
See merge request GNOME/geary!424
2020-03-13 07:32:58 +00:00
Michael Gratton
1ec4f4a29d
Merge branch 'fix-674' into 'mainline'
...
composer: Remove font colors in plaintext mode
Closes #674
See merge request GNOME/geary!421
2020-03-13 07:26:19 +00:00
Michael Gratton
3278d01b71
Remove optional Enchant 1.x optional dependency
2020-03-13 18:07:28 +11:00