Commit graph

5894 commits

Author SHA1 Message Date
Michael Gratton
c4b44b41f6 Application.FolderContext: New class for aggregating client folder state
Add new `FolderContext` class to encapsulate client state and policy
about a specific engine folder. Use it for display name, icon and email
count bubble policy for now.

Update AccountContext to maintain a set of folder-policy instances per
account, and convert the folder list over to using the new objects.
2020-04-17 12:28:38 +10:00
Michael Gratton
9952143b30 Application.AccountContext: Break out unto standalone source file 2020-04-17 12:28:38 +10:00
Michael Gratton
8b3e01f11d Application: Rename plugin context objects to make their use clear 2020-04-17 12:28:38 +10:00
Michael Gratton
1b9d28da8e Merge branch 'mjog/logging-improvements' into 'mainline'
Logging improvements

See merge request GNOME/geary!495
2020-04-16 23:33:30 +00:00
Michael Gratton
5ce6517b3b Geary.Logging: Add/update API docs for the package and a few functions 2020-04-17 08:59:00 +10:00
Michael Gratton
834b6eb4bf Geary.Db: Disable SQL query logging by default again
Even just logging SQL queries is extremely verbose, and pushes a lot
of logging messages off the end of the buffer. So rework result logging
flag and code to apply to both again.

Re-merge Application.Client's SQL logging command line flags back into
one again.
2020-04-17 08:49:33 +10:00
Michael Gratton
53bdf9299d Components.InspectorLogView: Always show inspector log messages
This allows start, stop and marks to always be seen, regardless of
account, domain and text filters.
2020-04-16 18:49:51 +10:00
Michael Gratton
127876f5f6 Components.InspectorLogView: Convert filter lamda to function
The log entry filter lambda is quite large now, so move it to a
standard-alone function.
2020-04-16 18:49:42 +10:00
Michael Gratton
8b4f370a2a Component.Inspector: Add mark and clear buttons for logs 2020-04-16 18:47:33 +10:00
Michael Gratton
849b2fb0b8 Components.InspectorLogView: Pre-fill internal domains with those known
SMTP in particular won't show up until an email as been sent, so make
it visible from the get-go.
2020-04-16 17:43:31 +10:00
Michael Gratton
31b073d0d5 ui/components-inspector-log-view.ui: Minor tweaks 2020-04-16 17:31:18 +10:00
Michael Gratton
b70790eac1 Components.InspectorLogView: Support filtering logs by account/domain
Hook up sidebar rows so that their checkbox's enabled state indicates
and can be used to set the filtering for the log view.
2020-04-16 17:30:50 +10:00
Michael Gratton
2fada87a72 Geary.Logging: Let callers determine threading safety for log_listener
Rather than scheduling calling a registered log_listener on the default
main loop context, let the listener implementation handle that in
whatever way they want.
2020-04-16 17:11:53 +10:00
Michael Gratton
01c093e26e Geary.Logging: Update domain suppression APIs
Make `suppress_domain`/`unsuppress_domain` return whether they actually
added or removed the suppression. Add `is_suppresed_domain` to allow
determining this at other times.
2020-04-16 17:11:34 +10:00
Michael Gratton
4b097b4542 Components.InspectorLogView: Add sidebar listing accounts & log domains
Adds a sidebar that displays accounts and logging domains, grouped into
accounts, internal domains, and external domains.
2020-04-16 13:05:07 +10:00
Michael Gratton
d5e94a257d Geary.Logging: Update how log blacklisting and suppression works
Blacklisting now prevents records from being created, where as
suppression now simply prevents them from being printed.

This means records are created for all log messages, regardless of
whether they are displayed.

Update API docs for a bunch of methods to make this clear, and to make
the requirements for getting log records in the first place is also
clear.
2020-04-16 11:44:56 +10:00
Michael Gratton
b2e99dcef2 Application.Client: Add command line flag for logging SQL results 2020-04-16 11:44:26 +10:00
Michael Gratton
f4a4d699be Geary.Db: Add special flag for logging SQL results
Update the db's logging to log SQL statements normally, but add a
special case flag to enable logging query results as well, since these
are particularly verbose.
2020-04-16 11:44:19 +10:00
Michael Gratton
00f0fb9665 Geary.Logging: Move remaining code from api source to util source
Now that the flags code is gone, move the remaining code from
`src/engine/api/geary-logging.vala` into
`src/engine/util/util-logging.vala`, and remove the former source file.
2020-04-15 17:31:16 +10:00
Michael Gratton
3b0815a1dc Geary.Logging: Remove Flag enum
Now that we have classes logging on sub-domains, and the ability to
suppress specific domains, remove flags and switch over to doing
domain suppression for manipulating debug settings in the client.
2020-04-15 17:05:09 +10:00
Michael Gratton
718f02bd8a Geary.Logging: Enable API clients to suppress DEBUG logging per-domain 2020-04-15 16:51:07 +10:00
Michael Gratton
972744c5dc Geary: Update IMAP and SMTP classes so logging domains are public
The client will need to access them so that it can (un)suppress them
as needed.
2020-04-15 16:49:19 +10:00
Michael Gratton
2f24974e7b Geary.Db.Context: Convert to implement Logging.Source
Use a custom logging sub-domain, update Connection to use debug
method from Source.
2020-04-15 15:36:07 +10:00
Michael Gratton
123812a97b Geary.ImapEngine.ReplayQueue: Implement Logging.Source
Convert to a source, log via a sub-domain.
2020-04-15 15:26:33 +10:00
Michael Gratton
a3c7bda146 Geary.App: Update conversation classes to use new logging framework
Ensure ConversationMonitor and ConversationSet both implement
Logging.Source and use a custom sub-domain.
2020-04-15 15:18:25 +10:00
Michael Gratton
3f661ff89b Geary.Imap: Update main classes to use new logging framework
Ensure ClientService, ClientSession, and ClientConnection uses a
logging sub-domain, update Deserialiser to implement Logging.Source.
2020-04-15 14:57:58 +10:00
Michael Gratton
46c38edb8b Geary.Smtp: Update main classes to use new logging framework
Ensure ClientService uses a logging sub-domain, update ClientSession
and ClientConnection to implement Logging.Source.
2020-04-15 14:57:58 +10:00
Michael Gratton
36327e5328 Geary.Logging.Source: Clean and fix up property modifiers 2020-04-15 14:57:58 +10:00
Michael Gratton
b16d021625 Geary.Logging: Allow Source implementations to specify logging domains 2020-04-15 14:53:16 +10:00
Daniel Mustieles
e72f704c20 Updated Spanish translation 2020-04-14 13:08:11 +02:00
Efstathios Iosifidis
2ec6ced793 Update Greek translation
(cherry picked from commit 838f662ccfd84b2943da4a15b5a622aab42ea5d0)
2020-04-14 08:00:06 +00:00
Michael Gratton
ef68f3c0d2 Merge branch 'mjog/async-unit-test-improvements' into 'mainline'
Async unit test improvements

See merge request GNOME/geary!494
2020-04-10 04:56:15 +00:00
Michael Gratton
d84899e064 test: Enable engine logging if test harness verbose flag is set 2020-04-10 14:31:41 +10:00
Michael Gratton
c98efafb28 Fix failing test after test case async changes 2020-04-10 14:29:20 +10:00
Andika Triwidada
48b62f6432 Update Indonesian translation 2020-04-10 03:48:55 +00:00
Michael Gratton
196f05e595 test/test-case.vala: Rename TestCase async calls to match AsyncCallWaiter's 2020-04-10 12:58:09 +10:00
Michael Gratton
768f6afc78 test/test-case.vala: Add AsyncResultWaiter class
Add new class to allow testing interleaving of multiple async calls.
Re-implement TestCase's support for this using an internal instance
of the new class.
2020-04-10 12:39:56 +10:00
Michael Gratton
749096cd38 test/mock-object.vala: Add explicit support for mocking async calls
Provide async equivalents of the `blah_call` methods, implement the
given async behaviour of expected async calls.
2020-04-10 12:39:56 +10:00
Michael Gratton
02adcfa8aa test/mock-object.vala: Allow ExpectedCall to specify async behaviour
Add new AsyncCallOptions enum and property to allow specifying if async
calls should continue immediately, continute when idle, or pause until
manually released.

Add properties and method to allow check for and resuming a paused
async method.
2020-04-10 12:39:56 +10:00
Asier Sarasua Garmendia
c9db1f1a67 Update Basque translation 2020-04-09 15:55:36 +00:00
Michael Gratton
b02c0a15cb Merge branch 'mjog/coc-enforcement-update' into 'mainline'
code-of-conduct.md: Actually specify an address for reporting abuse

See merge request GNOME/geary!493
2020-04-08 03:01:19 +00:00
Michael Gratton
15160e1de3 code-of-conduct.md: Actually specify an address for reporting abuse 2020-04-08 12:41:56 +10:00
Michael Gratton
17ba93f2a4 Merge branch 'mjog/enable-client-valadoc' into 'mainline'
Enable generating client library valadoc

See merge request GNOME/geary!492
2020-04-08 02:35:28 +00:00
Michael Gratton
50fab17db2 src/engine: Fix valadoc warnings 2020-04-08 12:11:36 +10:00
Michael Gratton
544289688a src/client: Fix warnings and errors reported by valadoc 2020-04-08 12:07:05 +10:00
Michael Gratton
262bc51587 src/meson.build: Enable generating valadocs for the client library 2020-04-08 12:07:05 +10:00
Adwait Rawat
a6ab4fba86 Accounts.EditorAddPane: Add mnemonic to create button 2020-04-08 03:24:51 +09:00
Michael Gratton
f59ee8019a Merge branch 'wip/ricotz/criticals' into 'mainline'
client: Implementing abstract interface methods doesn't require override

See merge request GNOME/geary!489
2020-04-06 01:42:08 +00:00
Michael Gratton
98298bb18c Merge branch 'mjog/flatpak-ci' into 'mainline'
Fix Flatpak CI

See merge request GNOME/geary!490
2020-04-06 00:00:31 +00:00
Michael Gratton
c7ea11a2c2 org.gnome.Geary.yaml: Fix the actual problem, bad GSound git URI 2020-04-06 09:37:43 +10:00