Clone in a terminal:
Commit e0bf8ff
Johan Mattsson - 2015-03-24T18:48:57+00:00
e0bf8ffad1682e1a713da9baa4a9a245b066fdfbjohan.mattsson.m@gmail.com

Add setting for modifier requirement to key bindings for each tab

Changed files (5)

Diff

diff --git a/libbirdfont/FontDisplay.vala b/libbirdfont/FontDisplay.valaindex 5a03362..d61b207 100644--- a/libbirdfont/FontDisplay.vala+++ b/libbirdfont/FontDisplay.vala@@ -156,6 +156,11 @@ public abstract class FontDisplay : GLib.Object { 	public static File find_file (string? dir, string name) { 		return SearchPaths.find_file (dir, name);	 	}++	/** returns false if bindings to a single key works in the display. */+	public virtual bool needs_modifier () {+		return false;+	} }  }diff --git a/libbirdfont/KerningDisplay.vala b/libbirdfont/KerningDisplay.valaindex 97e48b8..41c8943 100644--- a/libbirdfont/KerningDisplay.vala+++ b/libbirdfont/KerningDisplay.vala@@ -1019,7 +1019,11 @@ public class KerningDisplay : FontDisplay { 		KerningTools.zoom_bar.set_zoom (KerningTools.font_size / 3); 		GlyphCanvas.redraw (); 	}-	++	public override bool needs_modifier () {+		return true;+	}+ 	public class UndoItem : GLib.Object { 		public string first; 		public string next;diff --git a/libbirdfont/Menu.vala b/libbirdfont/Menu.valaindex f732aec..a157179 100644--- a/libbirdfont/Menu.vala+++ b/libbirdfont/Menu.vala@@ -478,8 +478,8 @@ public class Menu : GLib.Object { 				} 				 				display = current_display.get_name ();-				-				if (!((display == "Kerning" || display == "Spacing" || display == "Preview") && item.modifiers == NONE)) {++				if (!current_display.needs_modifier () || item.modifiers != NONE) { 					if (!SettingsDisplay.update_key_bindings  						&& (item.display == "" || item.display == display)) { 						item.action ();diff --git a/libbirdfont/Preview.vala b/libbirdfont/Preview.valaindex 45b15bb..63cd17a 100644--- a/libbirdfont/Preview.vala+++ b/libbirdfont/Preview.vala@@ -140,5 +140,10 @@ public class Preview : FontDisplay { 		} 		return sb.str; 	}+	+	public override bool needs_modifier () {+		return true;+	}+ } }diff --git a/libbirdfont/SpacingTab.vala b/libbirdfont/SpacingTab.valaindex bb47d34..de1b570 100644--- a/libbirdfont/SpacingTab.vala+++ b/libbirdfont/SpacingTab.vala@@ -270,6 +270,11 @@ public class SpacingTab : KerningDisplay { 		text_input = true; 		TabContent.show_text_input (listener); 	}++	public override bool needs_modifier () {+		return true;+	}+ }  }

Contact

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