Commit e172893
A tool for adding last edited glyph in the kerning tab
Changed files (4)
modifiedbirdfont/GtkWindow.valaaddedicons/insert_last_glyph.pngmodifiedlibbirdfont/KerningDisplay.valamodifiedlibbirdfont/KerningTools.vala
Diff
@@ -668,12 +668,6 @@ public class GtkWindow : Gtk.Window, NativeWindow { list_all_kerning_pairs.activate.connect (() => { MenuTab.list_all_kerning_pairs (); });- - Gtk.MenuItem remove_all_kerning_pairs = new Gtk.MenuItem.with_mnemonic (t_("_Remove All Kerning Pairs"));- kerning_menu.append (remove_all_kerning_pairs);- remove_all_kerning_pairs.activate.connect (() => { - MenuTab.remove_all_kerning_pairs ();- }); kerning_menu.append (new SeparatorMenuItem ()); new file mode 100644Binary files /dev/null and b/icons/insert_last_glyph.png differ@@ -604,22 +604,28 @@ public class KerningDisplay : FontDisplay { void add_character (unichar c) { Glyph? g; string name;- Font f = BirdFont.get_current_font ();+ Font f; if (MenuTab.suppress_event) { return; } + f = BirdFont.get_current_font ();+ if (!is_modifier_key (c) && c.validate ()) { name = f.get_name_for_character (c); g = f.get_glyph_by_name (name);- if (g != null) {- row.get (0).glyph.add (g);- row.get (0).ranges.add (null);- - selected_handle = (int) row.get (0).glyph.size - 1;- set_active_handle_index (selected_handle);- }+ inser_glyph (g);+ }+ }+ + public void inser_glyph (Glyph? g) {+ if (g != null) {+ row.get (0).glyph.add (g);+ row.get (0).ranges.add (null);+ + selected_handle = (int) row.get (0).glyph.size - 1;+ set_active_handle_index (selected_handle); } } @@ -93,9 +93,16 @@ public class KerningTools : ToolCollection { KerningTools.font_size = font_size2.get_value (); g.update_view (); });- kerning_tools.add_tool (font_size2);- ++ Tool insert_last = new Tool ("insert_last_glyph", t_("Insert last edited glyph"));+ insert_last.select_action.connect ((self) => {+ KerningDisplay d = MainWindow.get_kerning_display ();+ d.inser_glyph (MainWindow.get_current_glyph ());+ GlyphCanvas.redraw ();+ });+ kerning_tools.add_tool (insert_last);+ kerning_tools.set_persistent (false); kerning_tools.set_unique (false);