Commit graph

469 commits

Author SHA1 Message Date
Michael Gratton
d8c67ed6d7 Fix message body heigt being inaccurate yet again 2019-01-21 14:19:48 +10:30
Michael Gratton
23973b57ff Rename ConversationViewer "preview" widgets to "compact"
Reduce confusion with Geary.Email.preview.
2019-01-21 11:08:18 +10:30
Michael Gratton
2f35f58610 Handle long-loading indication for conversations better
Moving the loading placeholder from ConversationListBox to
ConversationEmail allows a more fine-grained indication of what is
happening - only show the loading indicator when the remote actually
needs to get hit, display the email's details and load the rest of the
conversation while waiting for the remote body load. Also lets us pass
errors loading the initial email locally all the way up to the
controller.
2019-01-21 10:29:15 +10:30
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
Alex Henrie
d5969fde9f Only collapse runs of space, tab, carriage return, and newline
Closes #184
2019-01-17 12:32:35 +11:00
Michael Gratton
36cfa14689 Reducing padding in conversation viewer list 2019-01-15 12:21:03 +11:00
Michael Gratton
3000334955 Merge branch 'wip/account-editor-refinements-v1' into 'master'
Account editor refinements v1

See merge request GNOME/geary!76
2019-01-09 02:39:32 +00:00
Michael Gratton
fdb9243ae5 Move common account editor pane in-app notification impl to the editor
This moves the individual in-app notification implementation on each of
the editor panes to the editor itself, reducing redundancy and allowing
the editor to issue notifications if needed (spoiler: it will).
2019-01-09 13:30:50 +11:00
Michael Gratton
18d847826a Merge branch 'improve-plaintext-conversion' into 'master'
Add plaintext quote marker to blockquote lines in one pass

See merge request GNOME/geary!73
2019-01-09 00:50:01 +00:00
Michael Gratton
fcc658af97 Merge branch 'wip/17-noisy-problem-reports' into 'master'
Problem reports are too noisy

Closes #17

See merge request GNOME/geary!74
2019-01-07 23:25:47 +00:00
Michael Gratton
4ef81050f5 Show details for status-based service problems
This breaks out the problem details dialog out into a seperate class so
it can be used for both problem reports and status problems. Pass in any
service errors to the main window when updating account status, show a
Details button on the service status info bar and show the details
dialog when clicked.
2019-01-07 23:47:00 +11:00
Alex Henrie
a9efe8fd3a Add plaintext quote marker to blockquote lines in one pass 2019-01-01 17:55:28 -07:00
Michael Gratton
f80d0416a9 Add and hook up Retry buttons to service status inforbars as apropriate 2019-01-01 22:29:07 +11:00
Michael Gratton
e7c6da9496 Add initial support for showing/hiding account status as it changes
Add infobars for offline, service problems, auth & cert problems. Show
offline and service problem infobars as needed.
2019-01-01 22:29:07 +11:00
Alex Henrie
00da60debe Delineate tags a, b, i, and u in plaintext conversion 2018-12-31 11:36:41 -07:00
Piotr Drąg
efe6dc9062 Mark headerbar titles for translation 2018-12-28 14:57:29 +01:00
Piotr Drąg
6868e0b5ae Minor grammar fix 2018-12-27 13:35:07 +01:00
Michael Gratton
d7a388aebb Fix backgroud colour of insensitive account editor row entry background 2018-12-26 12:16:29 +10:30
Michael Gratton
b5f6594448 Remove old accounts editor UI files 2018-12-21 10:03:47 +11:00
Michael Gratton
d61d49bef9 Use a command stack with Accounts.EditorServerPane
Use the stack to apply changes to the service config copies and update
the apply button's state.
2018-12-20 20:47:38 +11:00
Michael Gratton
cf73a91681 Hide add account text entry borders
Cromulence++
2018-12-20 14:10:38 +11:00
Michael Gratton
ccd1c857c3 Polish first-run appearance of the accounts editor 2018-12-09 19:16:35 +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
8d606e57a8 Implement initial server editing and validation 2018-12-01 00:26:24 +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
4eccbdf6c4 Make sure account listbox is shrinkwapped when only one is present 2018-11-30 23:49:30 +11:00
Michael Gratton
3c06c0969e Improve handling of GOA accounts in the account editor
Show GNOME settings when adding a supported GOA service type and
it is installed, otherwise show Geary's custom password-based impl.

For GOA accounts, hide the Remove button, and enable opening the
account in GNOME Settings from the server pane.
2018-11-30 23:49:30 +11:00
Michael Gratton
468a7a674b Get basic new account verification working. 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
9c8990d18d Implement undo-able account removal. 2018-11-30 23:49:30 +11:00
Michael James Gratton
f754d3df82 Introduce some common interfaces for account editor panes.
This allows the panes themselves to manage their own headers, command
stacks, and so on. Break out the account list pane out so it's handled in
the same way as the others.
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
f7ad510dcc Push WebView editing machinery from the composer to the client.
This allows using the same code for editing account signatures as for the
composer.

* src/client/components/client-web-view.vala (ClientWebView): Move both
  command_stack_changed and document_modified signals here from
  ComposerWebView, since they use the same underlying machinery to
  emit. Move get_html() from ComposerWebView since we want to get to the
  HTML when editing signatures. Override WebView.set_editable() so we can
  enable/disable the signal machinery and hence not get change signals
  emitted when enabling/disabling editing.

* ui/client-web-view.js (PageState): Mirror the changes above made to
  ClientWebView.

* src/meson.build (geary_web_process): Ensure C args are passed through
  web compiling the web extension.
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
b289170c1a Add initial replacement account removal 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 Gratton
1e3fbdc69a Use doc element's scrollHeight as ClientWebView's preferred height
This seems to be a bit more accurate than the previous calculation.
Force the doc element's border to zero as well to make using
scrollHeight more reliable.
2018-10-14 11:55:46 +11:00
Michael Gratton
07c4133b11 Check for ClientWebView preferred height changing in a few more cases
Queue a preferred height check on resize and transition end so we catch
cases where the user resizes the window and transitions cause a height
change after loading has completed, etc.
2018-10-14 11:52:52 +11:00
Alex Henrie
698f61e6e5 Print common headers when printing messages 2018-09-26 18:43:46 -06:00
Michael Gratton
00e7834082 Revert "Merge branch 'print-headers' into 'master'"
This reverts merge request !45
2018-09-23 02:18:24 +00:00
Alex Henrie
2b2c587e6c Print common headers when printing messages 2018-09-22 09:48:51 -06:00
Michael James Gratton
b9af50c005 Add translation comments to conversation email menu 2018-08-23 18:40:24 +10:00
Alex Henrie
6c8bc2c580 Implement single-message deletion for messages in the current folder 2018-08-22 20:04:11 +10:00
Alex Henrie
7ab6f713fb Fix context of "Paste Without Formatting" 2018-07-27 12:36:30 -06:00
Michael Gratton
0b57e5b490 Merge branch 'wip/730495-fix-inline-plain-text-paste' into 'master'
Fix rich text being pasted by Ctrl+V in plain text embedded composers

See merge request GNOME/geary!28
2018-07-27 00:03:26 +00:00
Michael James Gratton
ae6aed8ae6 Fix rich text being pasted by Ctrl+V in plain text embedded composers
This restores normal key handling MainWindow:key_press_event when a
keyboard modifier (Ctrl, Shift, etc) is down, keeping the ordering hack
only for plain key presses, so that we can handle Ctrl+V before
WebKitGTK does, and hence letting us paste plain text default when rich
text is not enabled.

Fixes Bug 730495.
2018-07-27 09:51:04 +10:00