Commit graph

24 commits

Author SHA1 Message Date
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
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
239fdce562 Move MainWindow to Application package
Move MainWindow out of the root namespace and add it to Application,
so it can privately share internal state with the Controller. Rename
the source and UI files to match.
2019-11-17 21:38:33 +11: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
d5e7c05cba Move InAppNotification class to components package
It was the last class left in notifications, so not much point keeping
it there. Also take the opportunity to add it to a package proper.
2019-09-27 19:37:33 +10:00
Michael Gratton
6f65062219 Convert ProblemReportDialog to use Inspector views
Aside from the code re-use, this allows including log files in problem
reports.
2019-07-05 13:00:11 +10:00
Michael Gratton
2841cb0b66 Break up Inspector's panes into seperate components for re-use
Create new InspectorLogView and InspectorSystemView classes abd UI, move
code from inspector into those and use them in the inspector.
2019-07-05 13:00:11 +10: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
ae4d7655b0 Add basic Geary Inspector, hook it up to Alt+Shift+I 2019-04-08 18:05:03 +10:00
Michael Gratton
680f46c77a Add initial contact popover UI and implementation 2019-04-08 10:22:58 +10:00
Michael Gratton
9ed81ed759 Remove default instance of ClientWebView's PageState JS object
This default instance was causing double the number of preferred height
events, which was likely creating a race for ConversationWebView. This
might (should?) fix plain text email with quotes sometimes showing up
with a vastly incorrect height.

To ensure that a PageState is constructed properly, make ClientWebView
abstract and use replace the one direct use of the class in the accounts
editor for the signature with a new subclass.

See #283
2019-03-06 20:11:33 +11:00
p3732
161aa2a818 Retire app menu
Removing the app menu, see https://gitlab.gnome.org/GNOME/Initiatives/issues/4
2019-02-24 16:19:07 +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
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
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
Michael Gratton
b5f6594448 Remove old accounts editor UI files 2018-12-21 10:03:47 +11:00
Michael James Gratton
b8213b5b86 Add initial replacement account creation pane. 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
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
Niels De Graef
c72d7b28ac Implement in-app notifications. Bug 774442.
Implemented it for the mail sent-notification.

Signed-off-by: Niels De Graef <nielsdegraef@gmail.com>
2018-06-07 08:39:17 +10:00
Niels De Graef
01c13f726f Port build system to Meson. Bug 777044.
Some remarks:

* Note that Meson adds a hard dependency on Python 3.

* All dependencies and defines are now listed together.

* Some build files were put in their respective subdirectories, e.g. the Geary
  engine library will be built from the Meson file in `src/engine`.

* `--fatal-warnings` is no longer an explicit flag, as Meson provides
  `-Dwerror=true` for this.

* An explicit resource file needs to be used. The issue to support this from
  Meson itself can be found at https://github.com/mesonbuild/meson/issues/706 .

* The `gnome.yelp()` function parses a LINGUAS file so we no longer need to keep
  track of all languages in our build system.

* There are no Debian scripts defined in the meson.build files to keep them
  clean, but they can be kept as separate scripts in `build-aux`.

* Left out the `dist` target as there is now `ninja dist`

* `geary-docs` is disabled by default, as valadoc-0.38.3 returns errors.

https://bugzilla.gnome.org/show_bug.cgi?id=777044
2017-12-12 00:27:46 +01:00