Clone in a terminal:
Commit 0473ab4
Johan Mattsson - 2016-06-13T15:30:11+00:00
0473ab4ade90fe998a189f4d43d6df7a461fe9dajohan.mattsson.m@gmail.com

Consume key strokes in key bindings

Changed files (2)

Diff

diff --git a/libbirdfont/AbstractMenu.vala b/libbirdfont/AbstractMenu.valaindex ca31619..a76c483 100644--- a/libbirdfont/AbstractMenu.vala+++ b/libbirdfont/AbstractMenu.vala@@ -75,7 +75,8 @@ public class AbstractMenu : GLib.Object { 		return null; 	} -	public void process_key_binding_events (uint keyval) {+	/** @return true if the keybindings consumes the event. */+	public bool process_key_binding_events (uint keyval) { 		string display; 		FontDisplay current_display = MainWindow.get_current_display (); 		ToolItem tm;@@ -96,7 +97,7 @@ public class AbstractMenu : GLib.Object { 					if (!SettingsDisplay.update_key_bindings  						&& !(item is ToolItem)) { 						item.action ();-						return;+						return true; 					} 					 					if (item is ToolItem) {@@ -106,16 +107,18 @@ public class AbstractMenu : GLib.Object { 							if (tm.tool.editor_events) { 								MainWindow.get_toolbox ().set_current_tool (tm.tool); 								tm.tool.select_action (tm.tool);-								return;+								return true; 							} else { 								tm.tool.select_action (tm.tool);								-								return;+								return true; 							} 						} 					} 				} 			} 		}+		+		return false; 	}  	public void load_key_bindings () {diff --git a/libbirdfont/TabContent.vala b/libbirdfont/TabContent.valaindex 8ec8b3b..56d9f65 100644--- a/libbirdfont/TabContent.vala+++ b/libbirdfont/TabContent.vala@@ -144,8 +144,12 @@ public class TabContent : GLib.Object { 		KeyBindings.add_modifier_from_keyval (keyval);  		if (!text_input_visible) {-			MainWindow.get_menu ().process_key_binding_events (keyval);-			GlyphCanvas.current_display.key_press (keyval);+			AbstractMenu menu = MainWindow.get_menu ();+			bool consumed = menu.process_key_binding_events (keyval);+			+			if (!consumed) {+				GlyphCanvas.current_display.key_press (keyval);+			} 		} else { 			text_input.key_press (keyval); 		}

Contact

Email: johan.mattsson.m@gmail.com
Mastodon: typo.social/@birdfont
GitHub: johanmattssonm
LinkedIn: johan-mattsson-2ab324112