[geary: 10/20] main-window: Add leaflet navigation with Alt+Arrow keys
- From: Michael Gratton <mjog src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [geary: 10/20] main-window: Add leaflet navigation with Alt+Arrow keys
- Date: Mon, 12 Oct 2020 10:41:34 +0000 (UTC)
commit 115b055e7b3dd267c44efacaf3fc7272a81d9d96
Author: Julian Sparber <julian sparber net>
Date: Mon Oct 5 17:20:14 2020 +0200
main-window: Add leaflet navigation with Alt+Arrow keys
.../application/application-main-window.vala | 35 ++++++++++++++++++++--
1 file changed, 33 insertions(+), 2 deletions(-)
---
diff --git a/src/client/application/application-main-window.vala
b/src/client/application/application-main-window.vala
index 3af1b6aa4..bb5a9404d 100644
--- a/src/client/application/application-main-window.vala
+++ b/src/client/application/application-main-window.vala
@@ -1797,7 +1797,20 @@ public class Application.MainWindow :
private void focus_next_pane() {
var focus = get_focus();
- if (focus != null) {
+
+ if (main_leaflet.folded) {
+ if (main_leaflet.visible_child_name == "conversations") {
+ if (conversations_leaflet.folded &&
+ conversations_leaflet.visible_child_name == "folder" ||
+ focus == this.folder_list) {
+ conversations_leaflet.navigate(Hdy.NavigationDirection.FORWARD);
+ focus = this.conversation_list_view;
+ } else {
+ main_leaflet.navigate(Hdy.NavigationDirection.FORWARD);
+ focus = this.conversation_viewer.visible_child;
+ }
+ }
+ } else if (focus != null) {
if (focus == this.folder_list ||
focus.is_ancestor(this.folder_list)) {
focus = this.conversation_list_view;
@@ -1819,7 +1832,25 @@ public class Application.MainWindow :
private void focus_previous_pane() {
var focus = get_focus();
- if (focus != null) {
+
+ if (main_leaflet.folded) {
+ if (main_leaflet.visible_child_name == "conversations") {
+ if (conversations_leaflet.folded) {
+ if (conversations_leaflet.visible_child_name == "conversations") {
+ conversations_leaflet.navigate(Hdy.NavigationDirection.BACK);
+ focus = this.folder_list;
+ }
+ } else {
+ if (focus == this.conversation_list_view)
+ focus = this.folder_list;
+ else
+ focus = this.conversation_list_view;
+ }
+ } else {
+ main_leaflet.navigate(Hdy.NavigationDirection.BACK);
+ focus = this.conversation_list_view;
+ }
+ } else if (focus != null) {
if (focus == this.folder_list ||
focus.is_ancestor(this.folder_list)) {
focus = this.conversation_viewer.visible_child;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]