Commit graph

77 commits

Author SHA1 Message Date
Cédric Bellegarde
864a3135e3 components: Rework Folder Popover
- Do not use tags for service providers not using this metaphor
- Do not show folders with a dedicated button: Trash, Archive, ...
- Do not show folders as an IMAP path but as a human readable path (>INBOX>Folder vs Boîte de reception/Folder)
2022-09-20 05:37:14 +00:00
Cédric Bellegarde
9f893adc47 client: Add more options for displaying images from messages
- An application setting allowing to always trust images
- An option to trust images from an email domain
- Replaces buttons by a menu in infobar
2022-07-08 22:02:18 +02:00
Chris Heywood
357bef45e7 Show drag & drop feedback dropping message on folder
Fixes regression resulting from !401
2021-04-19 10:16:07 +09:30
Björn Daase
6ec89fc491 ui: Use saner pane size defaults
Related: https://gitlab.gnome.org/GNOME/geary/-/issues/1164
2021-04-14 19:15:36 +10:00
Adrien Plazas
c53063496c style: Style conversation action bars
Make them look a bit more like action bars by giving them a top border.
2021-04-14 00:49:45 +10:00
Michael Gratton
0aa8ad6a05 client: Convert from shared conversation action widget to use multiple
Convert Components.ConversationActions to a widget that encapsulates
selectively visible conversations action groups. Use multiple instances
of that in preference to a single shared instance that gets re-parented
as the responsive UI adjusts.

Flatten the custom widget hierarchy a bit by merging the
`ConversationActionBar` and `ConversationHeaderbar` widgets into
`MainToolbar` itself.
2021-04-11 11:23:13 +10:00
Michael Gratton
05ea5fbdb3 client: Revert folder list expander change
This undoes the expander-related changes introduced in !618, to fix
regressions such as #1177 and #1184.
2021-04-08 08:20:37 +10:00
Michael Gratton
e6ab0f754f Composer.Widget: Rework to use common header row widget
Add private HeaderRow and EntryHeaderRow widgets for displaying editable
headers in the composer, convert to using that to wrap up common
properties and functionality for each of the header rows.
2021-01-27 12:05:49 +11:00
Michael Gratton
430f8abe9a client: Convert main composer widgets to use proper CSS names 2021-01-26 23:23:45 +11:00
Julian Sparber
95f75f789c conversation-list-box: remove shadow and make the rows rounded
This also makes the expander row look like in HdyExpander row.
2021-01-25 22:20:15 +01:00
Michael Gratton
c331145fd3 client: Clean up database upgrade dialog implementation
Rename `UpgradeDialog` to `DatabaseManager` since it's not actually a
dialog, move it into the APplication package. Replace old Glade UI file
with a custom built dialog since it's trivial and so we can make it
modal for a main window.

Fixes #1007
2021-01-19 23:50:29 +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
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
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
3530a804a1 compnents-info-bar: use custom infobar so that the buttons reflow 2020-11-18 16:50:18 +01:00
Julian Sparber
a30afb9e86 account-editor: replace remove confirm view with dialog 2020-11-17 13:45:57 +01:00
Julian Sparber
95f182df3f account-editor: use HdyClamp and remove padding 2020-11-17 13:45:56 +01:00
Adrien Plazas
12a7101ba5 Use leaflets in the UI
There is no way to navigate into the app, but it's a start.

v2: replace expand with child vexpand
2020-10-10 10:41:49 +02:00
Michael Gratton
bde39bf985 Composer.Widget: Place composer action bars into their own container
Use CSS instead of widget props to ensure widgets have sufficient
white space.

This will allow adding additional action bars (e.g. by plugins) in a
more straight-forward manner.
2020-08-18 16:32:26 +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
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
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
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
de6ef699de Clean up attachment save code
Create new Application.AttachmentManager class and move code for saving
attachments there from both Application.Controller and MainWindow since
aside from needing the latter for dialogs it is independent of both.

Create new Components.AttachmentPane widget for diplaying attachents
for an email in the ConversationViewer.

Update ConversationEmail and ConversationMessage to use these two new
classes directly, rather than implementing save management itself or
requiring the MainWindow to wire up signals on these classes.
2019-11-07 11:58:55 +11:00
Michael Gratton
6234405e4f Merge branch 'wip/geary-inspector' into 'mainline'
Add an Inspector to Geary

See merge request GNOME/geary!199
2019-04-08 09:26:05 +00:00
Michael Gratton
433215570b Make generic account editor ListBoxRow style reusable elsewhere 2019-04-08 18:05:03 +10:00
Michael Gratton
ffaa43cbfe Tweak spoofed email warning UI 2019-04-08 10:26:04 +10:00
Michael Gratton
10051e0354 Implement spoofed email address UI for ContactsPopover 2019-04-08 10:26:04 +10:00
Michael Gratton
680f46c77a Add initial contact popover UI and implementation 2019-04-08 10:22:58 +10:00
Michael Gratton
8f04e4cc36 Fix switches in the accounts editor looking squashed
Don't apply CSS padding to all image widget descendants of an editor row
since switches and other stock widgets also use them internally.

Fixes #299
2019-03-30 15:40:50 +11:00
Michael Gratton
8d17354740 Tidy up placeholder style when it has no text 2019-02-02 13:03:45 +11:00
Michael Gratton
ee8383a001 Show a placeholder when an email body was not able to be loaded 2019-02-02 12:39:31 +11:00
Michael Gratton
bd960dcaf5 Make EmptyPlaceholder more generally useful and rename to fit style 2019-01-21 10:29:15 +10:30
Michael Gratton
e9e4e8a277 Make loading conversations olive-buttery smooth
Remove the first/last child hacks from ConversationListBox since the
GTK+ fix for :first-class and :last-class landed in early 3.22.x
releases. Ensure the first expanded email is properly size-allocated
before loading others, that it remains unmoving in the list as other
rows are added, add a loading bar above it when there are more email to
load below it.
2019-01-20 11:44:28 +10:30
Michael Gratton
36cfa14689 Reducing padding in conversation viewer list 2019-01-15 12:21:03 +11:00
Michael Gratton
d7a388aebb Fix backgroud colour of insensitive account editor row entry background 2018-12-26 12:16:29 +10:30
Michael Gratton
cf73a91681 Hide add account text entry borders
Cromulence++
2018-12-20 14:10:38 +11:00
Michael Gratton
f630e03485 Add some polish to account edditor list drag and drop
Paint the row that was picked up as the drag icon, dim the actual row
and don't highlight it when dragging over itself.

Icon drawing code courtesy ebassi's tutorial:
https://blog.gtk.org/2017/04/23/drag-and-drop-in-lists/
2018-12-02 15:16:07 +11:00
Michael Gratton
9aab053382 Implement initial drag and drop for accounts, sender mailbox ordering
Code courtesy @ebassi's tutorial:
https://blog.gtk.org/2017/04/23/drag-and-drop-in-lists/
2018-12-02 15:15:58 +11:00
Michael Gratton
143da15bb2 Update UI for accounts editor servers pane
This is close to something that would work as an initial
implementation.
2018-11-30 23:49:30 +11:00
Michael Gratton
bb629999a6 Implement decent keyboard nav for AccountsEditor and editor panes
Return to previous panes using escape/back/(left|right), navigate
between settings list items using up/down.

Implementation courtesy
https://blogs.gnome.org/mclasen/2014/02/27/getting-the-details-right/
2018-11-30 23:49:30 +11:00
Michael James Gratton
b8213b5b86 Add initial replacement account creation pane. 2018-11-30 23:49:30 +11:00
Michael James Gratton
d9b94c1c61 Implement editing for the account editor pane. 2018-11-30 23:49:30 +11:00
Michael James Gratton
688040663a Add initial replacement account server details pane. 2018-11-30 23:49:30 +11:00
Michael James Gratton
2f0a7b9c18 Add initial replacement account editor pane. 2018-11-30 23:49:30 +11:00
Michael James Gratton
05be1c1014 Add initial replacement accounts editor dialog. 2018-11-30 23:49:30 +11:00
Michael James Gratton
07b4a7842f Replace some deprecated style calls in the composer with CSS rules. 2018-04-15 22:03:35 +10:00
Michael James Gratton
cba778d6f7 RTL UI fixes for ConversationMessage. 2017-12-12 15:56:31 +11:00
Michael James Gratton
80680f280e Add initial support for using Gtk.InfoBars to display errors.
* src/client/components/main-window-info-bar.vala (MainWindowInfoBar):
  New class and UI file for displaying an info bar in the main window, as
  well as providing a way to show technical informartion if needed.

* src/client/components/main-window.vala (MainWindow): Add a Gtk.Frame
  and container to hold inforbar instances. Show it when showing an
  infobar, and hide it when there are none. Add show_infobar() method to
  provide a cromulent way of adding info bars.

* src/client/application/geary-controller.vala (BaseObject): Rather than
  bailing out on an account when an error occurs, display an info bar
  instead.

* ui/geary.css: Style the info bar frame to only show a border between
  main content and the info bars.
2017-11-12 22:18:51 +11:00
Michael James Gratton
bd7f2d1d4c Remove most of the remaining workarounds for earlier GTK versions. 2017-10-10 14:32:50 -07:00