Commit graph

633 commits

Author SHA1 Message Date
Michael Gratton
66773a01f1 Merge branch 'adwait/create_mnemonic' into 'mainline'
Accounts.EditorAddPane: Add mnemonic to create button

See merge request GNOME/geary!491
2020-05-03 07:36:55 +00:00
Michael Gratton
8b4f370a2a Component.Inspector: Add mark and clear buttons for logs 2020-04-16 18:47:33 +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
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
Adwait Rawat
a6ab4fba86 Accounts.EditorAddPane: Add mnemonic to create button 2020-04-08 03:24:51 +09:00
Michael Gratton
ec382470fd Rename other uses of spam in the codebase to junk 2020-03-31 15:41:51 +11:00
Michael Gratton
28e6b669f6 ConversationMessage: Convert to use InfoBarStack
Remove stock infobars from ConversationEmail and ConversationMessage
builder files. Use common ComponentsInfobar for remote image loading
infobar. Use Components.InfoBarStack in ConversationMessage for plugin
support.
2020-03-30 21:05:00 +11:00
Michael Gratton
8d219b9f88 Application.MainWindow: Clean up builder and CSS class names
Make it clear which widgets are releated to the conversation list,
add some additional CSS to allow more fine-grained CSS rule targetting.
2020-03-30 21:05:00 +11:00
Michael Gratton
18e70b0fe8 Merge branch 'mjog/424-remove-empty-folder-menu-items' into 'mainline'
Remove empty trash/spam menu items

Closes #424

See merge request GNOME/geary!448
2020-03-30 04:36:12 +00:00
Björn Daase
dbfa640e76 Composer.Widget: Do not set double dot after 'From' label
We do not set double dots after the other labels so remove it for the
'From' label as well.
Therefore, adjust the .ui file to have the right label (with the
mnemonic underscore) and remove the adjustment of it in code.
2020-03-28 12:09:32 +01:00
Michael Gratton
8b474fa508 Application.MainWindow: Remove empty trash/spam menu items
Remove menu items and now-unused callbacks and controller methods.
2020-03-22 16:47:07 +11:00
Michael Gratton
0e7d30f8cb Plugins.FolderContext: Add support for showing folder info bars
Add Plugin.InfoBar to allow plugins to describe an info bar, add
methods to FolderContext to allow adding and removing them when
folders are displayed and implement them. Add a InfoBarStack to the
MainWindow for displaying folder info bars.
2020-03-20 17:41:57 +11:00
Michael Gratton
058a314e40 Application.MainWindow: Construct infobars programatically
Construct infobars programatically so they can derive from
Components.Infobar and don't need to be initially part of the widget
hierarchy.
2020-03-20 17:08:46 +11:00
Michael Gratton
feece66c6e MainWindowInfobar: Rename and derive from common InfoBar widget
Rename to Components.ProblemReportInfoBar to better describe what it
does, and to fit with the code convention for package and file names.

Derive from Components.InfoBar so we can drop the custom GTK Builder
file for it.
2020-03-20 17:08:46 +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
James Westman
ecf723c400 composer: Remove font colors in plaintext mode
Previously, font colors would be shown in the composer even in plaintext
editing mode.

Fixes #674.
2020-03-12 17:11:23 -05:00
Daniel Kahn Gillmor
74e37a46cc Avoid overlong regex line in javascript.
The regex line in this javascript was > 256 characters, which triggers
the following warning from debian's "lintian" source-checking tool:

    https://lintian.debian.org/tags/source-is-missing.html
    https://lintian.debian.org/tags/source-contains-prebuilt-javascript-object.html

This offers no functional change, but avoids some needless warnings
going forward.
2020-03-03 10:36:52 -05:00
James Westman
c53b1b0a30 composer: Custom icon for "show formatting" button
This replaces the italic icon with a new, custom icon.
2020-02-15 23:01:25 -06:00
James Westman
adf6f2b4a7 composer: Improve "insert link" popover
- Use transitions instead of show/hide
- Make the popover narrower (360px instead of 40 chars)
- Use text labels for "Add" and "Insert" rather than the check icon
- Show the button as active when the popover is open
2020-02-15 23:01:25 -06:00
James Westman
66bbb576a6 composer: Make format menu more generic
It still only contains text formatting options, but it uses the
view-more-symbolic icon.
2020-02-15 23:01:25 -06:00
James Westman
d3aff68273 composer: Style improvements for attachment box
- Add separators between rows
- Use icon instead of text for remove button
2020-02-15 23:01:25 -06:00
James Westman
233a1a6c37 composer: Improve spell check popover
- Use a MenuButton
- Separators between rows
- Make the popover narrower
- Put the country name below the language name, instead of in
  parenthesis
- Ellipsize country/language names
2020-02-15 23:01:25 -06:00
Michael James Gratton
cbe6e0ba9b Revert "Merge branch 'mjog/558-webkit-shared-process' into 'mainline'"
Revert merge request GNOME/geary!374 for now since the shared process
model breaks old-style WebProcess message handler IPC.

This can be un-reverted when out JS is ported to the new Messages API
that is landing in WebKitGTK 2.28.

This reverts commit e4a5b85698, reversing
changes made to 66f6525480.
2020-02-13 12:56:52 +11:00
Michael Gratton
2cf110eb20 Merge branch 'mainline' into 'header-group'
# Conflicts:
#   src/client/components/main-toolbar.vala
2020-01-23 11:34:40 +00:00
Michael Gratton
411a7198e3 Merge branch 'composer-fields' into 'mainline'
composer: Do not hide nonempty extended fields

Closes #675

See merge request GNOME/geary!402
2020-01-23 09:23:03 +00:00
Adrien Plazas
7d207dbb77 main-toolbar: Use a header group
This simplifies the code handling the location of the window decorations
by using HdyHeaderGroup, whis is designed specifically for that.
2020-01-22 14:51:13 +01:00
James Westman
f5b6bd6e7c composer: Do not hide nonempty extended fields
This way, you won't forget about an important field (such as CC) if the
extended fields are hidden.

Fixes #675.
2020-01-21 21:20:45 -06:00
James Westman
d6d6f3dff5 composer: Fix focus when clicking font buttons 2020-01-21 21:12:52 -06:00
James Westman
68881434bf composer: Use ReflowBox widget for toolbar
This new widget replaces the size-allocate hack introduced a few commits ago.
2020-01-21 19:43:37 -06:00
James Westman
d5a5afcc78 composer: More tweaks to match mockups
- Move the attachment button(s) out of the headerbar into the action bar
- Add a cancel button
- Adjust some margins
- Set popover positions to top
- Remove subject from headerbar title to save horizontal space
2020-01-21 19:43:37 -06:00
James Westman
0eed1bb21a composer: Add font buttons to toolbar
This replaces the menu options in the overflow menu with nicer looking, more
discoverable toolbar buttons. They work much the same way as before.
2020-01-21 19:43:37 -06:00
James Westman
aaf172b77f composer: Wrap toolbar when it gets too narrow
This way, the composer fits on even smaller screens than before.

Works by simply listening to the size-allocate signal and changing the
orientation of a box if the allocated width is less than or equal to the
combined width of the two rows.
2020-01-21 19:43:37 -06:00
James Westman
2aff2694b2 composer: Move formatting buttons to new toolbar
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
2020-01-21 19:43:37 -06:00
Adrien Plazas
0f907c5754 main-toolbar: Drop the custom styles
Drop the custom titlebar styles as they are not needed since we use
HdyTitleBar, and since they can interfeer with it.
2020-01-17 09:54:41 +01:00
Adrien Plazas
392c134724 Use a HdyTitleBar
Also add the .sidebar style class to the separator to make it still take
the whole height. This will help dropping styling workarounds and ensure
animating the headerbars work well.
2020-01-17 09:54:17 +01:00
Michael Gratton
164f52c5fd Merge branch 'ui-extended-fields' into 'mainline'
composer: Better UI for Cc/Bcc/Reply-To fields

See merge request GNOME/geary!393
2020-01-08 10:08:47 +00:00
James Westman
f6e4109c6e Fix close button in composer
In ccb11359, the composer headerbar was set to have a close button by
default. This caused the reply composer to have a close button that
would close the entire window. This commit reverts that part of
ccb11359.
2020-01-03 23:45:25 -06:00
James Westman
7753d0a7f7 composer: Better UI for Cc/Bcc/Reply-To fields
Implemented according to the mockups at
<https://gitlab.gnome.org/Teams/Design/app-mockups/raw/master/mail/composer.png>.

- Use an animated revealer rather than instantly showing/hiding the
  fields
- Include Cc in the "extended fields"
- Use a toggle button instead of a menu item to show/hide these fields,
  for better discoverability
2020-01-01 19:25:54 -06:00
Chris Heywood
50a1691b2f Add feedback via HUD progress pulse on slow inline image paste 2019-12-06 11:17:12 +01:00
Chris Heywood
eb36fd5929 Highlight destination folder upon conversation DND
Further utilises partially enabled automatic DND. Fixes #422.
2019-11-28 11:33:28 +01:00
Michael Gratton
e99bf29bd5 Break out ConversationMessage link popover into seperate UI file
This reduces the number of widgets to be parsed and constructed when
showing a conversation, improving loading perf a bit for large
conversations.

See #230
2019-11-27 11:17:04 +11:00
Michael Gratton
4b710074fd Use SLIDE_UP transition for ComposerMessage body animantion
This isn't as nifty, but makes the transiton between conversations
less flashy and hence less janky.
2019-11-26 19:37:49 +11:00
Michael Gratton
6c57839ddf Fix remote resource blocking with shared processes
Now that a shared WebKitUserContentManager is shared between web views,
the old "load a JS file when remote resource loading is allowed" doesn't
work any more. Instead, set a variable on the frame's window object
in the web extension notified that a new page has been loaded, and
use that instead.
2019-11-26 19:37:49 +11:00
Michael Gratton
ceb9c9764a Rename ClientWebView to Components.WebView per code style 2019-11-26 14:26:03 +11:00
Michael Gratton
dfe0b5cc76 Update online keyboard shortcuts help
Make it a bit more compact by merging a few one/the other entries,
make labels read better.
2019-11-21 10:00:34 +11:00
Michael Gratton
259ebe50fd Re-implement single key shortcuts as a preference
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.
2019-11-21 02:36:09 +11:00
Michael Gratton
fb1439264a Update MainWindow shortcuts to be keybinding signal based
Use keybinding ("action") signals and a GtkBindingSet to hook up most
of MainWindow's actions to keyboard shortcuts, rather than use
the application to do so. Remove single-key shortcuts, and update
shortcuts used to avoid collisions. Replace "focus conversation list"
action with general navigation between panes.

🚨 Remove MainWindow hack that enabled single key shortcuts to work 🚨
2019-11-21 02:26:05 +11:00
Michael Gratton
e11e2bd279 Convert prefs dialog to a HdyPreferencesWindow
Move it to the Components package, use libhandy preferences widgets
for the UI.
2019-11-20 23:16:55 +11:00
Michael Gratton
93d1ab684b Merge branch 'mjog/docs-update' into 'mainline'
Docs update

See merge request GNOME/geary!367
2019-11-18 11:23:10 +00:00