Clone in a terminal:
Commit 04ae7ca
Johan Mattsson - 2013-07-12T09:30:00+00:00
04ae7ca291063402f7aba349d72c233d3bbab2dejohan.mattsson.m@gmail.com

simplified text listener

Changed files (5)

Diff

diff --git a/birdfont/GtkWindow.vala b/birdfont/GtkWindow.valaindex dc13d25..f3e087c 100644--- a/birdfont/GtkWindow.vala+++ b/birdfont/GtkWindow.vala@@ -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 ();diff --git a/libbirdfont/MainWindow.vala b/libbirdfont/MainWindow.valaindex 4d7c4f0..e0b1a36 100644--- a/libbirdfont/MainWindow.vala+++ b/libbirdfont/MainWindow.vala@@ -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 () {
diff --git a/libbirdfont/NativeWindow.vala b/libbirdfont/NativeWindow.valaindex 68298c9..324a208 100644--- a/libbirdfont/NativeWindow.vala+++ b/libbirdfont/NativeWindow.vala@@ -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 ();diff --git a/libbirdfont/OverView.vala b/libbirdfont/OverView.valaindex d3f2ba9..bbb2d10 100644--- a/libbirdfont/OverView.vala+++ b/libbirdfont/OverView.vala@@ -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++;diff --git a/libbirdfont/TextListener.vala b/libbirdfont/TextListener.valaindex 404953d..c652501 100644--- a/libbirdfont/TextListener.vala+++ b/libbirdfont/TextListener.vala@@ -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);+	} }  }

Contact

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