Commit graph

6530 commits

Author SHA1 Message Date
Michael Gratton
6ffbfcf5d4 Geary.ImapDb.SearchQuery: Handle folder and deleted message exclusions
Ensure designated excluded folders, folderless messages, and
marked-for-deletion messages are excluded from FTS search results.
2021-01-19 20:48:17 +11:00
Michael Gratton
6a614adf73 Geary.ImapDb.SearchQuery: Use expression to generate FTS5 queries
Move SQL generation for FTS search from ImapDb.Account to SearchQuery.
Convert to use Geary.SearchQuery.Term instances to generate SQL, rather
than parsing the expression. Simplify the generated SQL substantially
and generate MATCH values that work with SQLite FTS5.
2021-01-19 20:48:17 +11:00
Michael Gratton
e0396c322e Geary.ImapDb.SearchQuery: Require stemmer to be passed in to ctor
Since constructing a libstemmer object is non trivial, this allows a
per-account instance to be created just once, and improves testability.
2021-01-19 20:48:17 +11:00
Michael Gratton
0112c8192c Geary.SearchQuery: Allow client apps to build search queries
Adds classes that allow building arbitrary query expressions and require
an instance to be provided to Geary.SearchQuery, to be set as a
property.

This enables query expressions to be parsed by clients instead of the
engine, in which ever whay they choose.
2021-01-19 20:48:17 +11:00
Michael Gratton
4fe0d92147 engine: Convert from SQLite FTS3/4 to FTS5 for full-text-search
Add SQL migration that drops the old FTS4 MessageSearchTable table,
re-create as a FTS5 table, clean up the column names a bit, and adds a
flags column so unread/starred queries can be made fast.

Define a SQLite FTS5 extension function `geary_matches()` to replace
the FTS3 `offsets()` function which no longer exists in FTS5, based on
Tracker's implementation.

Update code to FTS5 conventions (docid -> rowid, etc), use new column
names, populate and update the flags column as the email's flags
change, and use new match function for getting matching tokens.

Advanced searches are probably currently broken, these will be fixed
by subsequent commits.
2021-01-19 20:48:17 +11:00
Michael Gratton
435a5e90f4 Geary.NamedFlag: Add serialise method for non-debug persistence 2021-01-19 20:48:17 +11:00
Michael Gratton
3becbaa538 Update files for 40.alpha release 2021-01-18 22:02:42 +11:00
Michael Gratton
000f602e18 meson.build: Ensure up-to-date main dependencies 2021-01-18 21:57:40 +11:00
Yuri Chornoivan
4973f78486 Update Ukrainian translation 2021-01-18 10:26:06 +00:00
Fabio Tomat
0d3d3006d3 Update Friulian translation 2021-01-18 10:25:13 +00:00
Michael Gratton
cad7aee79d Merge branch 'icon-contrast' into 'mainline'
App icon: improve contrast

See merge request GNOME/geary!632
2021-01-18 10:19:32 +00:00
Michael Gratton
536e7f881d Merge branch 'add-inbox-shortcut' into 'mainline'
application-main-window: Add shortcut to select inbox

Closes #1108

See merge request GNOME/geary!633
2021-01-18 08:58:08 +00:00
Michael Gratton
085b9691a1 ui/gtk/help-overlay.ui 2021-01-18 08:38:03 +00:00
Jeremias Ortega
e0fab92d3c
application-main-window: Add shortcut to select inbox
Closes: https://gitlab.gnome.org/GNOME/geary/-/issues/1108
2021-01-17 16:55:49 -06:00
Tobias Bernard
54a67486ac app icon: darker yellow for better contrast 2021-01-17 11:31:57 +01:00
Мирослав Николић
738aed0da6 Update Serbian translation
(cherry picked from commit 940968424e304b0691ffb4bd51c6497c0249d4e6)
2021-01-17 10:29:34 +00:00
Michael Gratton
5500fe7f72 Merge branch 'mjog/flatpak-webkitgtk-print-workaround' into 'mainline'
org.gnome.Geary.yaml: Workaround for WebKitGTK not printing under Flatpak

See merge request GNOME/geary!631
2021-01-17 09:53:57 +00:00
Michael Gratton
29f6ae63b0 org.gnome.Geary.yaml: Workaround for WebKitGTK not printing under Flatpak
Since WebKitGTK does not currently support printing under Flatpak,
enable RW access to XDG downloads folder, so at least people can print
to a PDF, then print that.

See https://github.com/flathub/org.gnome.Geary/issues/42
2021-01-17 20:19:36 +11:00
Michael Gratton
ec4ced4109 Merge branch 'ricotz/vala' into 'mainline'
Don't alter or try to write [GtkChild] properties

See merge request GNOME/geary!630
2021-01-16 23:23:25 +00:00
Michael Gratton
2fb9d46103 Convert private properties into fields. 2021-01-16 22:58:19 +00:00
Rico Tzschichholz
30105fd4c2 Don't alter or try to write [GtkChild] properties
See https://gitlab.gnome.org/GNOME/vala/issues/1121
2021-01-16 19:16:35 +01:00
Michael Gratton
1ff30d9448 Merge branch 'mjog/db-sql-log-extended' into 'mainline'
Geary.Db.Statement: Log SQL statements with params where possible

See merge request GNOME/geary!629
2021-01-15 23:50:42 +00:00
Michael Gratton
298e4ec2e9 Geary.Db.Statement: Log SQL statements with params where possible
Ensure when SQL logging is enabled, that SQL statements are logged
with parameter values filled in where possible.
2021-01-16 10:07:04 +11:00
Michael Gratton
9cbaaf8f25 Merge branch 'mjog/1118-composer-insert-link' into 'mainline'
Components.WebView: Remove selection_changed signal

Closes #1058 and #1118

See merge request GNOME/geary!627
2021-01-15 13:46:45 +00:00
Michael Gratton
506a5b5fc6 Components.WebView: Remove selection_changed signal
Now that vala only notifies on property changes when the value actually
changes, and GLib emits a warning when connecting to notify signals for
properties that don't exist, it's safer to use notify signals for
property changes, and hence this isn't needed any more.

This patch removes the signal, ensures the `has_selection` gets set
correctly, and updates signal listeners to use notify instead.

Fixes #1058, #1118 and possibly others.
2021-01-16 00:24:53 +11:00
Michael Gratton
17da8cea2d Merge branch 'mjog/webkit_plugin_warning' into 'mainline'
Components.WebView: Fix CI failure building with WebKitGTK >= 2.31

See merge request GNOME/geary!624
2021-01-14 11:28:00 +00:00
Michael Gratton
2892189094 Components.WebView: Fix CI failure building with WebKitGTK >= 2.31
The `webkit_settings_set_enable_plugins` method has been deprecated in
2.31, and calling it emits a warning which trips up the test suite.
2021-01-14 22:00:12 +11:00
Michael Gratton
d76d838e5d Merge branch 'fix_#112' into 'mainline'
components: ensure correct initial state for headerbars buttons

Closes #1112

See merge request GNOME/geary!623
2021-01-13 12:05:45 +00:00
Julian Sparber
a1a31734c4 components: ensure correct initial state for headerbars buttons
fixes: https://gitlab.gnome.org/GNOME/geary/-/issues/1112
2021-01-12 12:40:56 +01:00
Piotr Drąg
85ea2e78f3 Update Polish translation 2021-01-10 18:02:00 +01:00
Yuri Chornoivan
74a9deb6fa Update Ukrainian translation 2021-01-09 15:31:53 +00:00
Piotr Drąg
b3834035c5 Update POTFILES.in 2021-01-09 16:16:56 +01:00
Yuri Chornoivan
3cb4cb610a Update Ukrainian translation 2021-01-08 08:26:58 +00:00
Michael Gratton
3315bbc84a Merge branch 'mjog/shortcut-updates' into 'mainline'
Implement F10 keyboard shortcut

Closes #1102

See merge request GNOME/geary!621
2021-01-08 07:16:10 +00:00
Michael Gratton
7ec99e1f6b client: Implement showing window menu when F10 pressed
Fixes #1102
2021-01-08 09:34:27 +11:00
Michael Gratton
600be0d5f4 ui/gtk/help-overlay.ui: Reorganise so most needed shortcuts are first
Make the section order: Conversations > Composer > Application >
Single-key.
2021-01-08 09:32:39 +11:00
Michael Gratton
2a5c29b96e ui/gtk/help-overlay.ui: Break app shortcuts out into their own section 2021-01-08 09:32:39 +11:00
Michael Gratton
baed3edf94 ui/gtk/help-overlay.ui: Use 2-space indentation for readability 2021-01-08 09:32:39 +11:00
Michael Gratton
1ad29a9be9 Merge branch 'sidebar-improvments' into 'mainline'
Modernize folder list (without rewrite)

Closes #880 and #1029

See merge request GNOME/geary!618
2021-01-07 22:29:05 +00:00
Michael Gratton
0f760d7aad Merge branch 'issue_689' into 'mainline'
Issue 689: Archive option in message right click menu

See merge request GNOME/geary!605
2021-01-07 22:18:54 +00:00
Michael Gratton
bf3a0e830b Merge branch 'adaptive_dialogs' into 'mainline'
Make account-editor adaptive

See merge request GNOME/geary!609
2021-01-07 21:54:57 +00:00
Michael Gratton
008fe162ad Merge branch 'make_it_fit' into 'mainline'
Make geary fit to small screen sizes

See merge request GNOME/geary!602
2021-01-07 21:37:30 +00:00
Carlos Langoni
c7a0c00de8 Archive option in message right click menu 2021-01-07 12:02:19 -03:00
Florentina Mușat
aea4fa00bd Update Romanian translation 2021-01-07 13:57:44 +00:00
Yuri Chornoivan
4dfbadf3a6 Update Ukrainian translation 2021-01-06 13:55:10 +00:00
Michael Gratton
df6e06dfbd Merge branch 'mainline' into 'mainline'
Fixed i18n

See merge request GNOME/geary!619
2021-01-06 11:01:18 +00:00
Jordi Mas
4df94180bc Update Catalan translation 2020-12-31 08:56:01 +01:00
Źmicier Turok
be42038a2a Update Belarusian translation 2020-12-27 07:35:15 +00:00
Julian Sparber
8aa5f291e8 folder-list: mordernize sidebar
This makes each row a better click target and improves spacing in
general. This move the expander arrow to the left and removes the
indentation for folders which makes it possible to define a much
smaller width for the sidebar.

Fixes: https://gitlab.gnome.org/GNOME/geary/-/issues/880,
       https://gitlab.gnome.org/GNOME/geary/-/issues/1029
2020-12-09 11:08:33 +01:00
Julian Sparber
e070607f58 folder-list: allow to toggle expaned on the entire row 2020-12-09 11:08:33 +01:00