Clone in a terminal:
Commit 07cb1aa
Johan Mattsson - 2014-11-29T16:51:22+00:00
07cb1aadd5ba3ca5f91122ae92c6019890404f05johan.mattsson.m@gmail.com

Set active tool from key binding events

Changed files (7)

Diff

diff --git a/libbirdfont/DrawingTools.vala b/libbirdfont/DrawingTools.valaindex f189d85..a09ec87 100644--- a/libbirdfont/DrawingTools.vala+++ b/libbirdfont/DrawingTools.vala@@ -81,7 +81,7 @@ public class DrawingTools : ToolCollection  { 	Tool create_line;  	Tool delete_button;-	public Tool inser_point_on_path_tool;+	public Tool insert_point_on_path_tool; 	Tool undo_tool; 	Tool select_all_button; 	@@ -202,13 +202,13 @@ public class DrawingTools : ToolCollection  { 		key_tools.add_tool (undo_tool); 		 		bool insert_points = false;-		inser_point_on_path_tool = new Tool ("new_point_on_path", t_("Insert new points on path"));-		inser_point_on_path_tool.select_action.connect ((self) => {+		insert_point_on_path_tool = new Tool ("new_point_on_path", t_("Insert new points on path"));+		insert_point_on_path_tool.select_action.connect ((self) => { 			insert_points = !insert_points;-			inser_point_on_path_tool.set_selected (insert_points);+			insert_point_on_path_tool.set_selected (insert_points); 		});-		inser_point_on_path_tool.set_persistent (true);-		key_tools.add_tool (inser_point_on_path_tool);		+		insert_point_on_path_tool.set_persistent (true);+		key_tools.add_tool (insert_point_on_path_tool);		 			 		// quadratic Bézier points 		quadratic_points = new Tool ("quadratic_points", t_("Create quadratic Bézier curves"));diff --git a/libbirdfont/ExportCallback.vala b/libbirdfont/ExportCallback.valaindex e32ce6e..b6628e9 100644--- a/libbirdfont/ExportCallback.vala+++ b/libbirdfont/ExportCallback.vala@@ -22,7 +22,12 @@ public class ExportCallback : GLib.Object { 	}  	public void export_fonts_in_background () {-		Font font = BirdFont.get_current_font ();		+		Font font = BirdFont.get_current_font ();+		+		if (!MainWindow.native_window.can_export ()) {+			return;+		}+		 		if (font.font_file == null) { 			MenuTab.set_save_callback (new SaveCallback ()); 			MenuTab.save_callback.file_saved.connect (() => {diff --git a/libbirdfont/Menu.vala b/libbirdfont/Menu.valaindex 5682da1..4c3097c 100644--- a/libbirdfont/Menu.vala+++ b/libbirdfont/Menu.vala@@ -444,6 +444,10 @@ public class Menu : GLib.Object { 				if (item.display == "" || item.display == display) { 					item.action (); 				}+				+				if (item is ToolItem) {+					MainWindow.get_toolbox ().set_current_tool (((ToolItem) item).tool);+				} 			} 		} 	}diff --git a/libbirdfont/MenuItem.vala b/libbirdfont/MenuItem.valaindex 7c4074f..29b87eb 100644--- a/libbirdfont/MenuItem.vala+++ b/libbirdfont/MenuItem.vala@@ -58,16 +58,16 @@ public class MenuItem : GLib.Object { 			 			switch (key) { 				case Key.UP:-					key_binding += "UP";+					key_binding += t_("UP"); 					break; 				case Key.DOWN:-					key_binding += "DOWN";+					key_binding += t_("DOWN"); 					break; 				case Key.LEFT:-					key_binding += "LEFT";+					key_binding += t_("LEFT"); 					break; 				case Key.RIGHT:-					key_binding += "RIGHT";+					key_binding += t_("RIGHT"); 					break; 				default: 					key_binding += (!) key.to_string ();diff --git a/libbirdfont/MenuTab.vala b/libbirdfont/MenuTab.valaindex ee29600..b5f5a44 100644--- a/libbirdfont/MenuTab.vala+++ b/libbirdfont/MenuTab.vala@@ -77,7 +77,7 @@ public class MenuTab : FontDisplay { 	} 	 	public static void export_fonts_in_background () {-		if (suppress_event || MainWindow.native_window.can_export ()) {+		if (suppress_event || !MainWindow.native_window.can_export ()) { 			return; 		} 		diff --git a/libbirdfont/PenTool.vala b/libbirdfont/PenTool.valaindex 2445106..f5a4698 100644--- a/libbirdfont/PenTool.vala+++ b/libbirdfont/PenTool.vala@@ -757,7 +757,7 @@ public class PenTool : Tool { 		return_if_fail (g != null);  		if ((double_click && !BirdFont.android)-				|| Toolbox.drawing_tools.inser_point_on_path_tool.is_selected ()) {+				|| Toolbox.drawing_tools.insert_point_on_path_tool.is_selected ()) { 			glyph.insert_new_point_on_path (x, y); 			return; 		}diff --git a/libbirdfont/Toolbox.vala b/libbirdfont/Toolbox.valaindex 611c054..6573c88 100644--- a/libbirdfont/Toolbox.vala+++ b/libbirdfont/Toolbox.vala@@ -307,6 +307,12 @@ public class Toolbox : GLib.Object  { 		return null; 	} +	public void set_current_tool (Tool tool) {+		if (tool.editor_events) {+			current_tool = tool;+		}+	}+ 	public Tool get_current_tool () { 		return current_tool; 	}@@ -333,9 +339,7 @@ public class Toolbox : GLib.Object  { 							redraw ((int) exp.x - 10, (int) exp.y - 10, allocation_width, (int) (allocation_height - exp.y + 10)); 						} 						-						if (tool.editor_events) {-							current_tool = tool;-						}+						set_current_tool (tool); 					} 				} 			}

Contact

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