Commit 04ae7ca
simplified text listener
Changed files (5)
modifiedbirdfont/GtkWindow.valamodifiedlibbirdfont/MainWindow.valamodifiedlibbirdfont/NativeWindow.valamodifiedlibbirdfont/OverView.valamodifiedlibbirdfont/TextListener.vala
Diff
@@ -46,7 +46,7 @@ public class GtkWindow : Gtk.Window, NativeWindow { bool scrollbar_supress_signal = false; /** Text input and callbacks to libbirdfont. */- TextListener text_listener = new TextListener ();+ TextListener text_listener = new TextListener ("", "", ""); Label text_input_label; Entry text_entry; HBox text_box;@@ -275,7 +275,7 @@ public class GtkWindow : Gtk.Window, NativeWindow { } public void spawn (string command) {- Process.spawn_command_line_async (c);+ Process.spawn_command_line_async (command); } public void set_scrollbar_size (double size) {@@ -758,21 +758,18 @@ public class GtkWindow : Gtk.Window, NativeWindow { } public void hide_text_input () {- text_listener = new TextListener ();+ text_listener = new TextListener ("", "", ""); text_box.hide (); } - public void set_text_listener (string label, TextListener listener, string default_text, string button_label) {+ public void set_text_listener (TextListener listener) { text_listener = listener;- text_input_label.set_text (" " + label);- submit_text_button.set_label (button_label);+ text_input_label.set_text (" " + listener.label);+ submit_text_button.set_label (listener.button_label); text_box.show ();- text_entry.set_text (default_text);- listener.signal_submit.connect (() => {- hide_text_input ();- });+ text_entry.set_text (listener.default_text); text_entry.activate.connect (() => {- listener.signal_submit (text_entry.text);+ listener.set_text (text_entry.text); hide_text_input (); }); text_entry.grab_focus ();@@ -102,12 +102,12 @@ public class MainWindow { } public static void update_glyph_sequence () { - TextListener listener = new TextListener (); + TextListener listener = new TextListener (_("Glyph sequence"), Preferences.get ("glyph_sequence"), _("Close")); listener.signal_text_input.connect ((text) => { Preferences.set ("glyph_sequence", text); get_glyph_canvas ().redraw (); }); - native_window.set_text_listener (_("Glyph sequence"), listener, Preferences.get ("glyph_sequence"), _("Close")); + native_window.set_text_listener (listener); } public static MainWindow get_singleton () { @@ -40,7 +40,7 @@ public interface NativeWindow : GLib.Object { public abstract void spawn (string command); /** Request text input from the UI. */- public abstract void set_text_listener (string label, TextListener listener, string default_text, string button_label);+ public abstract void set_text_listener (TextListener listener); /** Remove the text listener and hode the text area. */ public abstract void hide_text_input ();@@ -334,6 +334,11 @@ public class OverView : FontDisplay { cr.move_to (x, caption_y); cr.show_text (character_string); + cr.show_text ("Q");+ + cr.move_to (0, 0);+ cr.show_text ("X");+ x += nail_width; index++; i++;@@ -18,8 +18,30 @@ namespace BirdFont { public class TextListener : GLib.Object {++ public string label;+ public string default_text;+ public string button_label;+ public signal void signal_text_input (string text); public signal void signal_submit (string text); ++ private string text;++ public TextListener (string label, string default_text, string button_label) {+ this.label = label;+ this.default_text = default_text;+ this.button_label = button_label;+ }+ + public void set_text (string text) {+ signal_text_input (text);+ }++ public void submit () {+ signal_text_input (text);+ signal_submit (text);+ } } }