* src/client/application/geary-application.vala (GearyApplication): Set
the resource_base_path to comply with the expected modern app id, so
the app menu will be automatically loaded.
* ui/CMakeLists.txt: Replace app_menu.interface with gtk/menus.ui. Don't
try ot copy interface files now that there aren't any.
* gtk/menus.ui: Replaces app_menu.interface.
Now using these instead of the old composer's actions. This led to quite
some changes:
* Use GLib.ActionEntry instead of Gtk.ActionEntry in
composer-widget.vala
* Action names can now be specified in the UI files.
* Use templates for the ComposerHeaderBar. Remove
Pillbar as superclass, since that was no longer necessary.
* Merge ComposerToolbar into ComposerWidget.
* Since actions can now be parameterized, some methods could be
merged (e.g. font size methods).
* The menu button in the composer now automatically uses a popover.
* Some methods and classes really deserved more comments.
* necessary POTFILES.in changes
Signed-off-by: Niels De Graef <nielsdegraef@gmail.com>
Bug 720335
* src/client/composer/spell-check-popover.vala
Implemented a GtkPopover allowing the user to select a
subset of the currently installed dictionaries for the spell
checking in the composer widget.
* src/client/util/util-international-vala
Added detection of installed dictionaries and proper
translation of the available languages. This requires
Enchant as an additional dependency.
* src/client/application/geary-config.vala
Added keys spell-check-visible-languages and
spell-check-languages in GSettings.
* src/client/application/geary-controller.vala
(GearyController::create_actions): Remove uneeded calls to
add_accelerator - just remove them for dups ot move them to the action
definition. Ensure they are defined in accelerators.ui so they are
bound to their accelerators regarcdless of having a visible proxy.
Bug 764812
* src/client/components/main-window.vala (MainWindow::set_styling): Merge
CSS blocks. Fix Gtk.Frame styling rules for Gtk3.20, making them also
apply to the frame's border node instead of the frame node. Remove
redundant rules. Add a prefix for CSS class names so to avoid name
collisions.
* src/client/composer/composer-box.vala (ComposerBox::ComposerBox): Add a
CSS class to the composer box, add prefix to the full-pane class.
* ui/composer.glade: Add a class to the composer's frame so that can be
styled.
* src/CMakeLists.txt: Bump target GLib to min required for
GtkTemplate. Pass resources XML file to valac.
* ui/CMakeLists.txt: Copy both the generated resources XML file and the
resources themselves to the CMake binary directory, since valac expects
the UI files to be in the same directory as the resource XML.
* debian/control: Chase GLib version bump.
First, create a composer action corresponding to the app menu, instead
of reusing the one from the controller. Second, create the menu from a
MenuModel, instead of from a UIManager, so we can have many of them.
https://bugzilla.gnome.org/show_bug.cgi?id=746504
This ensures that we only have a single close button for the main window
at any time, and it always closes the whole application. The composer
gets a default close button only when detached.
The orientation is set in the preferences dialog. There are new
configuration keys to track the pane positions, and a bit of code that
will set them the first time based on the current settings.
https://bugzilla.gnome.org/show_bug.cgi?id=714793
If the server supports sending and receiving messages from additional
email addresses, those addresses can now be added to Geary. It will
allow the user to send new messages and replies from those additional
addresses and recognizes them as "Me" in the conversation list.
We search for HTML-like tags in signatures, and don't do much as much
escaping if we find one. For .signature files detected to be HTML, we
insert them without any change. User-entered signatures get their
whitespace protected, even when HTML is detected. The existing code for
preserving whitespace doesn't work when there's already HTML code in the
text (it converts "<a b>" to "<a b>"), so instead we preserve the
whitespace with CSS.
A preview of the signature is added to the the UI. There's a TextView
and a WebView in a Stack, and we swap between them with a StackSwitcher.
Some of the packing details are changed so that these views are the
thing that expands when the dialog size changes.
https://bugzilla.gnome.org/show_bug.cgi?id=738895
Trash and Spam folders may now be emptied by Geary. A user warning is
presented, as the operation cannot be undone and deletes mail on the
server, not just locally.
See the ticket (comment #2) for more information on the thinking and
strategy here, but in a nutshell this will remove from the Geary
database all emails no longer accessible via any folder and not seen
on the server in over 30 days. It also deletes those messages
attachment(s) and removes any empty directories in the attachment/
directory to prevent clutter. If enough messages are garbage
collected, Geary will vacuum the database at startup, which will
lower its disk footprint and reduce fragmentation, potentially
increasing performance.
This also closes bug #713808, as lesser-used fields (Reply-To, Bcc)
are hidden unless the user expands the composer to show them. Right
now that is an option in the composer's toolbar menu; that may change
in the future if we can find the right place to put the widgetry.
In addition to changes in prior three commits, this updates the
password prompt UI to closer match the new GNOME HIG. It uses
dim-label labels and suggested-action for the OK button, whose text
is changed to "Authenticate". It also cleans up the inter-widget
spacing, which was a bit excessive.
When a TLS certificate warning is detected, the user will now be
presented with a warning dialog presenting them with three options:
Trust This Server, Always Trust This Server, and Don't Trust This
Server (the default). The user must select one of the first two
buttons for Geary to continue connecting to the server, otherwise it
will close the Account object for the duration of the application
session.
This patch introduces a dependency on gcr-3, which is used to pin TLS
certificates (i.e. persist the user's choice of ignoring the TLS
warnings).
Move the buttons from the bottom of the composer into the header. The
draft save text is moved into the composer toolbar, for lack of a better
location. When it's inline, we insert our own close button, so we can
control what it does. When it's detached (and not using Unity), we
enable to default close button.
https://bugzilla.gnome.org/show_bug.cgi?id=731537
Geary can now be configured to notify of new mail at startup. When
the user logs in, Geary will autostart with a hidden window and
notify of new mail as usual. When Geary is formally executed by
the user the Geary window simply appears.
In this mode, if the user closes the window Geary will return to its
hidden state. Quit must be used to close the process.